본문 바로가기

Etc.

Dockerfile 문법 정리

# comment
FROM 컨테이너의 BASE IMAGE(운영환경)
MAINTAINER 이미지를 생성한 사람의 이름 및 정보
LABEL 컨테이너이미지에 컨테이너 정보를 저장
RUN 컨테이너 빌드를 위해 base image에서 실행할 commands
COPY 컨테이너 빌드시 호스트의 파일을 컨테이너로 복사
ADD 컨테이너 빌드시 호스트의 파일(tar, url 포함)을 컨테이너로 복사
WORKDIR 컨테이너 빌드시 명령이 실행될 작업 디렉토리 설정
ENV 환경변수 지정
USER 명령 및 컨테이너 실행시 적용할 유저 설정
VOLUME 파일 또는 디렉토리를 컨테이너의 디렉토리로 마운트
EXPOSE 컨테이너 동작 시 외부에서 사용할 포트 지정
CMD 컨테이너 동작 시 자동으로 실행할 서비스나 스크립트 지정
ENTRYPOINT CMD와 함께 사용하면서 command 지정 시 사용

 

 

★ example                                                        

FROM ubuntu:18.04 base image ubuntu
LABEL maintainer="Gildong Hong <hong@gmail.com>" 컨테이너 정보 key-value
# install apache comment
RUN apt-get update \ 컨테이너 빌드시 실행될 명령어들
(\는 연속된 라인) 
    && apt-get install -y apache2 layer 수가 적고 size 작은 것이 좋음
RUN echo "TEST WEB" > /var/www/html/index.html  
EXPOSE 80 80 포트로 지정
CMD ["/usr/sbin/apache2ctl", "-DFOREGROUND"] 컨테이너 동작시 (running)
DFOREGROUND argument를 넣어서
apache2ctl 실행









728x90
반응형