2022-05-21(토) TIL

황인호·2022년 6월 7일
0

TIL 모음

목록 보기
58/119

오늘해야할일들

  • 챌린지 관련 api 수정 및 보완(프론트에서 필요하다고하면 해야함)

  • docker 공부하고 이미지 만들기

  • 챌린지 관련 api 수정 필요 [완료]

  • 챌린지 관련 api 수정 및 추가된 부분

    챌린지가 개설되었고 유저들은 개설되어있는 챌린지에 참여할수있다.

    참여하는기능은 잘되었다 하지만 참여하게되었을때에 참여자의 숫자가 증가되고

    챌린지를 나가게되었을때에는 참여자의 숫자가 감소되어야하는데 해당부분을 놓쳤고

    수정 및 추가완료하였다.

//챌린지 참여하기 API
const steps = await Challenge.findOne(
	{attributes:['steps']
	,where:{challengeNum:challengeNum}
})
	//원래는 이부분이 없었다
  //sequelize 문법에서 increment는 증가하는 메서드이며
await Challenge.increment(
  //챌린지 참여하게되었을때에 증가하고싶은 컬럼을 선택하였다
	{challengeCnt:1},
	{where:{challengeNum}
})

이렇게 코드를 적용하였고 유저가 챌린지에 참여하면 참여하는 챌린지의 참여자 숫자가 1씩증가한다.

//챌린지 나가기 API
const challengeout = await ChallengeJoin.destroy(
	{where:{userId:userId,challengeNum:challengeNum}
})
	//위와 마찬가지로 이부분이 없었다.
	//마찬가지로 sequelize 문법에서 decrement는 감소하는 메서드이며
await Challenge.decrement(
	//챌린지에서 나가게되었을때에 감소하고싶은 컬럼을 선택하였다
	{challengeCnt:1},
	{where:{challengeNum}
})

위와 마찬가지로 이렇게 코드를 작성하였고 유저가 챌린지에서 나가면 참여하는 챌린지의 참여자 숫자가 1씩 감소한다.

  • docker 공부 내용 정리 도커란 결론부터 말하자면 원하는 프로그램을 쉽게 실행하기 위한 플랫폼이다. 이를 위해서 선행되야하는 3가지가있다
    1. 이미지를 생성하는법

      ⇒ 일관성 있게 이미지를 만들 수 있고, 어플리케이션을 실행하는 데 필요한 모든 것을 설정할 수 있는 이미지

    2. 이미지를 공유하는 법

      ⇒ 이미지가 어디에서든 잘 전달할 수 있게 만들어 필요한 곳에서 사용할 수 있게 한다.

    3. 이미지를 실행하는 법

      ⇒ 일관성있게 이미지를 실행할 수 있다.

  • docker 명령어 정리
//docker container 상태 확인하기
docker ps

확인할수 있는 정보
- CONTAINER_ID: container의 고유 ID
- IMAGE: container를 띄우는데 사용한 image 이름
- COMMAND: container에서 실행한 command
- CREATED: conatiner가 생성된 시간
- STATUS: container의 상태
- PORT: port를 publish 하는 경우 어떻게 되어 있는지
- NAMES: container의 이름
//docker container 멈추기
docker stop [container_id|container_name]

docker kill [container_id|container_name]

- 두개의 명령어가 비슷한 결과를 보이지만 조금 다르다
stop의 경우에는 SIGTERM이라는 신호는 보냄
kill의 경우에는 SIGKILL이라는 신호는 보냄
//docker container 멈추기
docker stop [container_id|container_name]

docker kill [container_id|container_name]

- 두개의 명령어가 비슷한 결과를 보이지만 조금 다르다
stop의 경우에는 SIGTERM이라는 신호는 보냄
kill의 경우에는 SIGKILL이라는 신호는 보냄

//docker container 멈추기
docker stop [container_id|container_name]

docker kill [container_id|container_name]

- 두개의 명령어가 비슷한 결과를 보이지만 조금 다르다
stop의 경우에는 SIGTERM이라는 신호는 보냄
kill의 경우에는 SIGKILL이라는 신호는 보냄

//Docker image 목록 확인하기
docker images

//Docker image 실행하기
docker run docker-memo:version1

//Docker image 빌드하기
docker build . -t docker-memo:version2

-t 옵션을 사용할 떄 동일한 image_name:tag 를 사용할 경우 override(덮어쓰기)되게 된다.

//Docker container 실행하기
docker run -d -p 5000:5000 docker-memo:version2


도커에 이미지 올리기!!

도커 이미지를 올리기 전에 권한을 얻어야 이미지를 업로드 할 수 있습니다.
- docker hub에 로그인
docker login
# 후에 나오는 username, password에 치면 됩니다!

- docker image push 하기
docker push sk1440sk/docker-memo:version2
//sk1440sk는 docker hub에 가입한 실제 나의 ID이다.


//docker image 목록 보기
docker images

//docker image 삭제하기
docker rmi sk1440sk/docker-memo:version2

//docker image 가져오기
docker pull sk1440sk/docker-memo:version2

//docker image 실행하기
docker run -d -p 80:5000 sk1440sk/docker-memo:version2
=> 이렇게하면 5000번 포트에서 실행이된다.
profile
성장중인 백엔드 개발자!!

0개의 댓글