-
Dockerfile 문법 정리Infrastructure/Docker 2020. 11. 18. 18:12728x90
안하다가 다시 Dockerfile 작성하려니 햇갈려서 정리해 놓습니다.
- 한글 Ver. from microsoft
https://docs.microsoft.com/ko-kr/virtualization/windowscontainers/manage-docker/manage-windows-dockerfile
- docker build -t <image name> <build path>
- dockerfile 문법
- FROM
- Base Container image를 지정한다.
-
dockerfile
FROM microsoft/windowsservercore
- RUN
- 실행되고 새 컨테이너 이미지로 캡처될 명령을 지정한다. Software 설치, file & directory 생성, 환경 구성 등. docker build시 만들어지는 image에 포함된다
-
dockerfile
RUN ["powershell", "New-Item", "c:\\test"]
- COPY
-
컨테이너의 파일 시스템에 파일 및 폴더를 복사. 복사 대상은 dockerfile의 상대경로로 입력.
dockerfile
#Windows에서도 슬러시를 사용해야 함!
COPY test1.txt /temp/
COPY test1.txt c:/temp/
COPY config* c:/temp/
-
- ADD
-
호스트에서 컨테이너 이미지로 파일을 복사할 뿐만 아니라 URL이 지정된 원격 위치에서 파일을 복사할 수도 있음.
Linux에서 ADD 명령은 복사할 때 압축된 패키지를 확장합니다. Windows에서는 이 기능을 사용할 수 없습니다dockerfile
ADD <source> <destination>
ADD ["<source>", "<destination>"]
ADD test1.txt /temp/
COPY config* c:/temp/
#Windows 용 Python을 다운로드 하고 컨테이너의 c:\temp에 복사ADD https://www.python.org/ftp/python/3.5.1/python-3.5.1.exe /temp/python-3.5.1.exe
-
- WORKDIR
-
container 내에서 working directory 경로를 지정
dockerfile
WORKDIR c:\\windows
-
- CMD
-
실제 container 구동시 실행될 명령어를 지정
Dockerfile에서 CMD 명령을 여러 개 지정하는 경우 마지막 명령만 평가됩니다.dockerfile
# exec form
CMD ["c:\\Apache24\\bin\\httpd.exe", "-w"]# shell form
CMD c:\\Apache24\\bin\\httpd.exe -wADD https://www.python.org/ftp/python/3.5.1/python-3.5.1.exe /temp/python-3.5.1.exe
-
-
EXPOSE
- EXPOSE는 호스트와 연결할 포트 번호를 설정합니다. docker run 명령의 --expose 옵션과 동일합니다
- ENV
- 환경 변수를 만들고 값을 등록
- FROM
'Infrastructure > Docker' 카테고리의 다른 글
Docker-compose Container Monitoring (cAdvisor, node-exporter, prometheus-cadvisor) (0) 2020.11.18 Docker for Window 관련 link 정리 (0) 2020.11.18 - 한글 Ver. from microsoft