상세 컨텐츠

본문 제목

Dockerfile 기본문법(1)

클라우드/Docker

by 최승호 2022. 3. 29. 21:15

본문

1. FROM : 기본 이미지를 지정

 

# 사용문법
FROM [--platform=<platform>] <image>[:<tag>] [AS <name>]

# 예시
FROM ubuntu:latest

 

 

2. RUN : 명령어 실행

 

# 사용문법
RUN <command>
RUN ["executable", "param1", "param2"]

# 예시
RUN apt-get update
RUN /bin/bash -c 'source $HOME/.bashrc; echo $HOME'
RUN ["/bin/bash", "-c", "echo hello"]

 

3. CMD : 컨테이너 생성시 실행할 명령어. Dockerfile 내에 한 번만 사용 가능

 

# 사용문법
CMD ["executable","param1","param2"]
CMD ["param1","param2"]
CMD command param1 param2

# 예시
CMD echo "This is a test." | wc.
CMD ["/usr/bin/wc","--help"]

 

 

4. EXPOSE : 컨테이너에서 사용할 포트 정보. 실제로 오픈하는것은 아니며 docker run 실행 시 -p 옵션을 사용하여 포트를 열어주어야 한다.

 

# 사용문법
EXPOSE <port> [<port>/<protocol>...]

# 예시
EXPOSE 9000

 

 

5. ENV : 환경변수를 설정

 

# 사용문법
ENV <key>=<value> ...

# 예시
ENV MY_NAME="John Doe"
ENV MY_DOG=Rex\ The\ Dog
ENV MY_CAT=fluffy

 

 

6. ADD : 파일 또는 디렉토리 추가

 

# 사용문법
ADD [--chown=<user>:<group>] <src>... <dest>
ADD [--chown=<user>:<group>] ["<src>",... "<dest>"]

# 예시
ADD test.txt relativeDir/
ADD test.txt /absoluteDir/

 

 

7. COPY : 파일 또는 디렉토리를 복사

 

# 사용문법
COPY [--chown=<user>:<group>] <src>... <dest>
COPY [--chown=<user>:<group>] ["<src>",... "<dest>"]

# 예시
COPY test.txt relativeDir/
COPY test.txt /absoluteDir/

 

 

8. ENTRYPOINT : 컨테이너 구성 시 기본 실행 명령어

 

# 실행문법
ENTRYPOINT ["executable", "param1", "param2"]
ENTRYPOINT command param1 param2

# 예시
ENTRYPOINT ["/usr/sbin/apache2ctl", "-D", "FOREGROUND"]

'클라우드 > Docker' 카테고리의 다른 글

Dockerfile 기본문법(2)  (0) 2022.03.30
Docker Compose 문법  (0) 2022.03.28
Docker Compose 개요  (0) 2022.03.25

관련글 더보기

댓글 영역