Ref.
도커파일 작성하기
정의
도커 이미지를 생성하기 위한 스크립트 파일
여러 키워드를 사용하여 Dockerfile을 작성하여 빌드를 보다 쉽게 수행할 수 있다.
주요 키워드
- FROM
- base가 되는 image를 지정. 주로 OS이미지나 런타임 이미지를 지정한다.
- RUN
- 이미지를 빌드할 때 사용하는 커맨드를 설정할 때 사용한다.
- ADD
- 이미지에 호스트의 파일이나 폴더를 추가하기 위해 사용. 만약 이미지에 복사하려는 디렉토리가 존재하지 않으면 docker가 자동으로 생성된다.
- COPY
- 호스트 환경의 파일이나 폴더를 이미지 안으로 복사하기 위해 사용. ‘ADD’와 동일하게 동작하지만 가장 확실한 차이점은 URL을 지정하거나, 압축파일을 자동으로 풀지 않는다.
- EXPOSE
- ENV
- CMD
- 컨테이너가 실행될때 실행할 커맨드를 지정. ‘RUN’과 비슷하지만 CMD는 도커 이미지를 빌드할 때 실행되는 것이 아니라 컨테이너를 시작할 때 실행된다는 것이 다른다.
- ENTRYPOINT
- 도커 이미지가 실행될때 사용되는 기본 커맨드를 지정(강제)
- WORKDIR
- RUN, CMD, ENTRYPOINT 등을 사용한 커맨드를 실행하는 디렉토리를 지정. -w 옵션으로 오버라이딩 할 수 있다.
- VOLUME
- 퍼시스턴스 데이터를 저장할 경로를 지정할 때 사용.
호스트의 디렉토리를 도커 컨테이너에 연결
. 주로 휘발성으로 사용되면 안되는 데이터를 저장할 때 사용한다.
- 컨테이너를 지우고 재생성할때 데이터를 유지해야할 때 사용한다.

docker build 커맨드
Dockerfile을 실행하기 위해서는 docker build 커맨드를 사용한다.
docker build [option] [dockerfile directory]
ex) docekr build -t test .
-> test라는 이름의 이미지 생성됨
-> test 뒤에 . 은 Dockerfile의 경로
Dockerfile이라는 파일명일 경우에는 파일명이 생략 가능하지만,
그렇지 않다면 명시해줘야한다.
이렇게 생성된 이미지를 컨테이너로 실행 → run 커맨드 사용
docker run --name test_container -p 80:80 test
-> test라는 이름의 이미지를 test_container라는
컨테이너이름으로 실행