배포할 때마다 이전에 작성된 도커파일 복붙하던 나쁜 버릇이 있어서
커맨드 간단하게 정리하는 글
FROM
: BASE 이미지를 무엇을 쓸지 고르는 커맨드
이미지를 상속받아서 새로운 이미지를 만들고 컨테이너를 만들 수 있음.
RUN
: 커맨드를 실행 (python 패키지 실행, cd 특정 위치 등등의 명령어)
WORKDIR
: cd ~~ 와 비슷한 의미로 컨테이너에서 작업 디렉토리를 뜻한다. (절대경로)
EXPOSE
: 컨테이너가 특정 port를 사용할 수 있도록 노출
CMD
: Docker 이미지에서 컨테이너가 시작될 때 실행되는 기본 명령어로 만약 Django 컨테이너의 경우, 컨테이너가 실행될 때마다 필요한 커맨드가 필요하다.
예시)
python3 manage.py migrate --settings=config.settings.deploy &&\
gunicorn config.wsgi --env DJANGO_SETTINGS_MODULE=config.settings.deploy --bind 0.0.0.0:8000 --workers=5 --timeout 180"]
```