Docker can build images automatically by reading the instructions from a Dockerfile. A Dockerfile is a text document that contains all the commands a user could call on the command line to assemble an image.
Docker는 Dockerfile에서 지시사항을 읽어 이미지를 자동으로 작성할 수 있다. Dockerfile은 사용자가 명령행에서 호출하여 이미지를 조립할 수 있는 모든 명령을 포함하는 텍스트 문서이다.
FROM <이미지_이름>[:태그]
: 기본 이미지 설정FROM ubuntu:latest
LABEL <key>=<value> [<key>=<value> ...]
: 정보 라벨링LABEL version="1.0"
COPY <복사할_파일> <복사할_위치>
: 호스트에 위치한 파일을 컨테이너로 복사.dockerignore
파일에 작성하면 제외된다.COPY home.txt /mydir/
CMD ["executable","param1","param2"]
: 컨테이너 실행시 실행되는 명령어. 보통 실행과 동시에 서버를 열어둘 때 사용Docker run ~
명령어 마지막에 CMD 명령을 수정할 수 있다.CMD ["python3", "-u", "-m", "http.server"]
ENTRYPOINT ["executable", "param1", "param2"]
: 컨테이너 실행시 실행되는 명령어. CMD와 달리 Docker run
시에 추가한 인자로 수정 불가.RUN <command>
: 명령어 실행. 보통 패키지 설치 시에 사용RUN apt-get update && apt-get install -y python3
-y
: 자동으로 yes 선택ENV <key>=<value> ...
: 컨테이너 환경변수 설정ENV MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
WORKDIR <경로>
: 명령이 실행될 디렉토리 설정WORKDIR /usr/src/app
docker build
: Dockerfile을 바탕으로 이미지 생성. 보통 끝에 온점.
을 찍는다.-t
(tag) : 이름 지정. name:tag
형식으로 사용-f
(file) : 사용할 Dockerfile 이름(기본값 = Dockerfile)--pull
: 최신 버전의 이미지로 생성--
[참고 사이트]