본문 바로가기
DevOps/Docker

[Docker] : ENV, VOLUME, ARG, USER

by 오주현 2022. 2. 25.
반응형

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를 사용하는 것을 권장한다.

 


📖 ← [ 시작하세요! 도커/쿠버네티스 ] 책을 참고하여 공부하였습니다.

반응형

댓글