Dockerfile 지시어 종류

2023. 2. 6. 16:44Docker

728x90

1. FROM

- 베이스 이미지를 지정하는 지시어

FROM 이미지

 

2. RUN
- 명령어를 실행하여 새 이미지에 포함시키는 역할
- 이미지를 빌드할 때 실행

RUN["node", "app.mjs"]

 

3. CMD
- 컨테이너가 시작될 때 실행할 커맨드를 지정하는 지시어
- 이미 만들어진 이미지로부터 도커 컨테이너를 실행할 때 실행
- 한 도커파일 내에 여러번 나올 경우 맨 마지막줄의 CMD 명령어만 유효

CMD ["<executable", "<param>"]

 

4. ENTRYPOINT
- 컨테이너 시작 시 실행될 command를 지정

ENTRYPOINT ["executable", "param1", "param2"]

$ docker run -it --rm --name test toramko

 

5. LABEL
- key-value 형식으로 작성된 메타데이터를 이미지에 추가

LABEL "toramkey"="toramval"
LABEL version="1.0"
LABEL description="label's values can span \
multiple lines."

 $ docker image inspect --format='' myimage

6. ENV
- 환경변수를 설정하는 지시어
- key-value 형식

ENV <key>=<value> <key>=<value> <key>=<value> ...

 

7. EXPOSE
- 컨테이너가 실행될 때 컨테이너로 들어오는 트래픽을 특정 포트로 받아들일 수 있도록 지정하는 역할

EXPOSE <포트>/<프로토콜>

 

8. COPY
- Host 내에 있는 파일 또는 디렉토리를 컨테이너의 파일 시스템으로 복사

COPY [--chown=<user>:<group>] <src>... <dest>
COPY [--chown=<user>:<group>] ["<src>",... "<dest>"]

 

9. ADD
- 파일 또는 디렉토ㅓ리를 컨테이너로 복사
- URL을 지정하여 복사가 가능함

ADD [--chown=:] ... 
ADD [--chown=:] ["",... ""]

ADD http://example.com/foobar /toramko/

 

10. USER
- 컨테이너 안에서 명령을 실행할 유저명, 유저 그룹을 설정

USER <user>[:<group>]
USER <UID>[:<GID>]

 

11. WORKDIR
- 작업 디렉토리 설정

WORKDIR /app

 

12. VOLUME
- 컨테이너 내의 특정 디렉토리를 컨테이너 외부 경로에 마운트 시켜주는 지시자
- 연결된 외부 경로에 데이터가 쌓여 데이터 보존 가능

VOLUME ["/data"]

 

 

'Docker' 카테고리의 다른 글

Docker nodemon window10_home( wsl2 )  (0) 2023.02.10
Docker 이미지 및 컨테이너, 볼륨 실행 명령어  (0) 2023.02.06
Docker desktop 설치_window  (0) 2023.02.06