반응형
ENV, VOLUME, ARG, USER
ENV는 Dockerfile에서 사용 될 환경 변수를 지정한다. 이미지에도 저장이 되기 때문에 빌드된 이미지로 컨테이너를 생성하면 이 환경변수를 사용할 수 있다.
FROM ubuntu:14.04
ENV test /home
WORKDIR $test
RUN touch $test/mytouvhfile
test라는 환경변수에 /home라는 값을 설정했다.
VOLUME은 빌드된 이미지로 컨테이너를 생성했을 때 호스트와 공유할 컨테이너 내부 디렉터리를 설정한다. JSON 배열 형식으로 여러개 사용도 되고 VOLUME /home/dir /home/dir2 로도 사용할 수 있다.
FROM ubuntu:14.04
RUN mkdir /home/bolume
RUN echo test >> /home/volume/testfile
VOLUME /home/volume
컨테이너 내부의 /home/volume 디렉터리를 호스트와 공유하도록 설정한다.
ARG는 build 명령어를 실행할 때 추가로 입력을 받아 Dockerfile 내에서 변수의 값을 설정한다.
FROM ubuntu:14.04
ARG my_arg
ARG my_arg_2=value2
RUN touch ${my_arg}/mytouch
build 명령어에서 my_arg와 my_arg2 이름의 변수를 추가로 입력 받을 것을 ARG를 통해 명시한다.
USER는 USER로 컨테이너 내에서 사용될 사용자 계정, 이름, UID를 설정하면 그 아래 명령어는 해당 사용자 권한으로 실행된다. 루트 권한이 필요 없다면 USER를 사용하는 것을 권장한다.
📖 ← [ 시작하세요! 도커/쿠버네티스 ] 책을 참고하여 공부하였습니다.
반응형
'DevOps > Docker' 카테고리의 다른 글
[Docker] : ADD, COPY 명령어 (0) | 2022.02.26 |
---|---|
[Docker] : Onbuild, Stopsignal, Healthcheck, Shell (0) | 2022.02.25 |
[Docker] : 도커 멀티 스테이지 활용해 빌드하기 (0) | 2022.02.25 |
[Docker] : 캐시를 이용한 이미지 빌드 (0) | 2022.02.24 |
[Docker] : Dockerfile을 이용한 컨테이너 생성과 커밋 (0) | 2022.02.24 |
댓글