We are Architect

15단계로 배우는 Docker와 쿠버네티스: 컨테이너 개발-2(8) 본문

Docker

15단계로 배우는 Docker와 쿠버네티스: 컨테이너 개발-2(8)

the best infra 2024. 12. 31. 00:02

 

* Docker file 작성법

  • Dockerfile 치트 시트
커맨드 설명
FROM <이미지>:<태그> 컨테이너의 베이스 이미지를 지정.
RUN <커맨드>
RUN ["<커맨드>", "<파라미터1>", "<파라미터2>"]
FROM의 베이스 이미지에서 커맨드를 실행.
ADD <소스> <컨테이너 경로>
ADD ["<소스>", ..."<컨테이너 경로 > "]
소스(파일, 디렉터리, tar파일, URL 경로)를 컨테이너 경로에 복사.
COPY <소스> <컨테이너 경로>
COPY ["<소스>",..." <컨테이너 경로>"]
소스 (파일, 디렉터리) 를 컨테이너 내 경로에 복사
ENTRYPOINT ["<실행가능한_것>","<파라미터1>","<파라미터2>"]  >>> 쉘사용 필요X  ex) ["/bin/sleep", "10" ]
ENTRYPOINT 커맨드 파라미터1 파라미터2 >>>(쉘 형식)
컨테이너가 실행될때 명령어와 파라미터를 배열 형식으로 지정. 
컨테이너가 실행될때 명령어와 파라미터를 쉘 형식으로 지정.
ENV <Key> <Value>
ENV <Key>=<Value> ...
환경변수 설정.
EXPOSE <port> <추가포트>... 내부적으로 사용할 포트를 지정
USER < 유저명> | <UID> RUN, CMD, ENTRYPOINT 실행 유저 지정
VOLUME ["/path"] RUN, CMD, ENTRYPOINT, COPY, ADD의 작업 디렉터리 지정.
ARG <변수 이름>[=<기본값>] 빌드 시점 변수를 정의하고 사용할 수 있다.
LABEL <키>=<값> [<키>=<값> ...] Docker 이미지에 메타데이터(추가 정보를) 추가하는 데 사용. 이미지에 대한 설명, 작성자 정보, 버전, 라이선스 등의 정보를 키-값 쌍의 형태로 저장
MAINTAINER <이름> <이메일> Dockerfile 작성자 또는 이미지를 관리하는 사람의 정보를 지정. *그러나 이 옵션은 더 이상 권장되지 않는다. 대신 LABEL을 사용.