- 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
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기