From d4bf4b5be2529d7037a6364bba9527cbe8080aeb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=B3=80=EC=A0=95=ED=9B=88?= Date: Tue, 28 Feb 2023 05:27:04 +0000 Subject: [PATCH] =?UTF-8?q?=EB=82=B4=EC=9A=A9=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 47 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ada0660..572021f 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ ``` centos 기준 그룹, 유저 생성 groupadd groupname - useradd usrid -g groupname(옵션) + useradd -g groupname(옵션) usrid -m : 해당 유저의 폴더를 같이 생성 -g : 그룹 지정 @@ -48,3 +48,48 @@ -s : 쉘(shell) 지정 -p : 패스워드(암호) 지정 ``` + - USER를 지정하면 다음 명령부터는 지정한 유저로 실행 + ``` + USER usrid + ``` +- COPY / ADD : local의 파일 또는 디렉토리를 이미지내로 옮김 + - ADD 명령어는 COPY의 상위 명령어 정도로 이해 + - COPY는 단순히 local의 파일 혹은 디렉토리를 옮기는 용도 + - ADD 같은 경우 압축 파일 혹은 네트워크를 통한 파일도 사용할 수 있음 + - 일반적으로는 COPY 사용 권당 + ``` + COPY test.sh /root/copy/test.sh + ADD https://git.jhcloud.kr/test/test.php /root/web/index.php + ``` +- ENV / ARG : 환경 변수 + - ENV : Dockerfile 또는 컨테이너 안에서 사용하는 환경 변수 + - ARG : Dockerfile 에서만 사용하는 환경 변수 + ``` + # ENV [key] [value] + ENV version 1.0 + ENV name jhcloud.kr + + # ENV [key]=[value] ## 한번에 여러개의 값을 설정할 때 사용 + ENV version=1.0 \ + name=jhcloud.kr + + # [key]=[value] + ARG version=1.0 + ARG name=jhcloud.kr + ``` +- CMD / ENTRYPOINT : 컨테이너가 생성 및 실행될 경우 실행할 명령어 + - CMD : 컨테이너가 생성 시 실행 / 컨테이너 생성 시 추가적인 커맨드를 입력할 경우 무시되고 입력한 커맨드를 실행 + - ENTRYPOINT : 컨테이너가 실행 될 때마다 실행 / 컨테이너 생성 시 추가적인 커맨드를 입력하여도 실행(입력한 커맨드는 인자 값으로 사용됨) + ``` + CMD ["<커맨드>", "<파라미터1>", "<파라미터2>"] + CMD <커맨드> <파라미터1> <파라미터2> + + ENTRYPOINT ["<커맨드>", "<파라미터1>", "<파라미터2>"] + ENTRYPOINT <커맨드> <파라미터1> <파라미터2> + ``` +- ONBUILD : 해당 명령어가 사용된 이미지를 FROM image로 사용하여 빌드할 경우 동작 + - 일반적으로 잘 사용은 되지 않음 + - ONBUILD ADD web.tar /var/www/html 와 같이 정의한 다음 개발자들이 web.tar를 만들어 빌드 후 실행시키는 등의 방식으로 사용한다함 + ``` + ONBUILD ADD web.tar /var/www/html + ``` \ No newline at end of file