- docker 이미지를 작성할 수 있는 기능
- Dockerfile 문법으로 이미지 생성을 위한 스크립트를 작성할 수 있고, 이를 기반으로 이미지를 생성할 수 있음
- 나만의 이미지 or 배포를 위해 사용
1. Dockerfile 기본 문법
명령 | 설명 |
FROM | 베이스 이미지 지정 명령 (FROM httpd:alpine) |
LABEL | 버전 정보, 작성자와 같은 이미지 설명을 위한 명령 (LABEL version="1.0.0" |
CMD | docker 컨테이너가 시작할 때, 실행하는 쉘 명령을 지정하는 명령 (RUN은 이미지 작성시, CMD는 컨테이너 시작시) |
RUN | 쉘 명령을 실행하는 명령 (RUN ["apt-get", 'install', 'nginx']) |
ENTRYPOINT | docker 컨테이너가 시작할 때, 실행하는 쉘 명령을 지정하는 명령 docker run 커멘드 실행시 함께 넣어진 별도 명령어가 있더라도, 덮어씌워지지 않고 실행됨(CMD 명령은 덮어씌워짐) |
EXPOSE | docker 컨테이너 외부에 오픈할 포트 설정 (EXPORT 8080) |
ENV | docker 컨테이너 내부에서 사용할 환경 변수 지정 (ENV PATH /usr/bin:$PATH) |
WORKDIR | docker 컨테이너에서의 작업 디렉토리 설정 |
COPY | 파일 또는 디렉토리를 docker 컨테이너에 복사 |
명령 | 설명 |
ADD | COPY보다 명시적임 추가할 파일이 tar 압축 파일인 경우 자동으로 압축을 풀어줌 동일한 이름의 파일 또는 디렉토리가 docker 이미지에 있을 시 덮어 씌우지 않음 |
SHELL | 쉘 프로그램 지정 명령어 CMD 등으로 대체 가능 (SHELL ['/bin/bash', '-c']) |
ARG | dockerfile 내에서 필요한 변수 설정. dockerfile 스크립트 작성을 위해 필요한 변수를 설정(컨테이너 환경 변수를 설정하는 ENV와는 다름) (ARG env=dev) |
USER | docker 이미지 및 컨테이너에서 작업을 하는 사용자 ID를 지정함 (USER tester) |
ONBUILD | 생성한 이미지를 기반으로 새로운 이미지를 생성시 실행하는 명령을 지정 (ONBUILD ADD myweb.tar /var/www/html) |
VOLUME | 이미지를 위한 볼륨 생성 |
- Dockerfile 에서 주석 사용하려면 #을 사용하면 됨
반응형
'SW ENGINEERING > Docker' 카테고리의 다른 글
Dockerfile 기본문법(2) (0) | 2021.07.23 |
---|---|
Dockerfile 기본문법(1) (0) | 2021.07.22 |
Docker Run example (0) | 2021.07.22 |
Docker Container 명령어 (0) | 2021.07.22 |
Docker Image 명령어 (0) | 2021.07.22 |
최근댓글