일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- redis-cli
- redis cli
- Avast 구독취소
- 직장인인강
- nodemailer
- AWS S3 버킷 삭제
- Redis
- 패스트캠퍼스
- elastic cache
- AWS S3 migration
- putty Inactive
- 캐시백챌린지
- ERR unknown command 'JSON.SET'
- 패캠챌린지
- 패스트캠퍼스후기
- Avast Security
- 캐시백
- 환급챌린지
- ERR unknown command 'JSON.GET'
- RedisJSON
- gitlab 잔디옮기기
- 직장인자기계발
- Ngrinder Docker
- aws s3
- vscode
- Window redis-cli
- AWS S3 계정이동
- aws
- 한 번에 끝내는 AWS 인프라 구축과 DevOps 운영 초격차 패키지 Online
- 잔디이전
- Today
- Total
Developing
패스트캠퍼스 캐시백 챌린지 34일차 본문
Docker Compose를 활용하여 yml 파일을 생성해주고 build 해보는 클립을 수강하는식으로 챌린지를 진행하였다. 본래 컨테이너나 이미지 지울때 docker rm/rmi 같은 방식을 활용했었는데 docker image rm 이나 --force 같은 명령어도 사용하시는 것 보고 때에 따라 유용하게 쓸 수 있다는 것을 깨알았다. 중간미션까지 수행하면서 거의 챌린지가 반절정도 진행된 것 같은데 이후의 포스팅에도 최대한 많은 내용을 다룰 수 있으면 한다. 다음 포스팅은 AWS ECR에 컨테이너를 업로드 하는 내용의 포스팅을 다룰 예정이다.
Docker-Compose를 활용한 배포
장고 프로젝트 이전으로 이동한 뒤 docker-compose.yml 파일을 생성해준다.
version: '3'
services:
nginx:
container_name: nginx
build: ./nginx
image:docker-django/nginx
restart: always
ports:
- "80:80"
volumes:
- ./fastcampus:/srv/docker-django
- ./log:/var/log/nginx
depends_on:
- django
django:
container_name: django
build: ./fastcampus
image: docker-django/django
restart: always
command: uwsgi --ini wsgi.ini
volumes:
- ./fastcampus:/srv/docker-django
- ./log:/var/log/uwsgi
- version : docker-compose의 version 3를 사용하겠다
- services: 만들고싶은 컨테이너 리스트들을 정의해준다.(nginx Container , django Container)
- build : 현재폴더기준으로 특정 디렉토리에서 빌드시켜라
- image : image 이름
- restart: 항상 restart해라
- volume: working directory 설정 및 로그파일 위치 설정
- depends_on : 굉장히 중요한부분이다. django container가 없으면 nginx가 실행되지 않도록 해라. 그말인 즉슨 django container를 먼저 실행시켜라. (django가 먼저 올라가있어야 nginx도 구동할 수 있기때문에)
원래는 docker를 docker build …. 같은 식으로 쳐야 했지만 docker-compose yml 파일에 저장을 했기때문에 명령어를 칠 필요가 없다. docker-compose.yml 을 작성할 때 주의할점은 yml은 tab을 지원하지 않는다는점이다. 따라서 띄어쓰기로 구분해주록 한다!
기존에 만들어두었던 컨테이너와 이미지들을 제거하자. docker image들을 출력해준뒤에 없애주자.
docker images 혹은 docker image ls
docker rmi [IMAGE_ID] 혹은 docker image rm --force [IMAGE_ID]
docoker image로 생성해주었던 docker/django와 docker/nginx 를 삭제해준다.
만약 컨테이너가 실행중이라면 해당 이미지를 참조하고있는 컨테이너를 먼저 없애주어야한다.
docker stop [CONTAINER_ID]
docker rm [CONTAINER_ID]
이제 docker-compose를 활용해 build를 해보자!
docker-compose up -d --build
docker-compose 명령어를 통해 현재 올라간 컨테이너 현황도 확인할 수 있다.
docker-compose ps
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
*본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'Devops > Fastcampus 캐시백 챌린지' 카테고리의 다른 글
패스트캠퍼스 캐시백 챌린지 36일차 (0) | 2022.05.23 |
---|---|
패스트캠퍼스 캐시백 챌린지 35일차 (0) | 2022.05.22 |
패스트캠퍼스 캐시백 챌린지 중간미션, 한 번에 끝내는 AWS 인프라 구축과 DevOps 운영 초격차 패키지 Online 강의 후기 (0) | 2022.05.21 |
패스트캠퍼스 캐시백 챌린지 33일차 (0) | 2022.05.20 |
패스트캠퍼스 캐시백 챌린지 32일차 (0) | 2022.05.19 |