오늘해야할일들
챌린지 관련 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 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번 포트에서 실행이된다.