가장 빨리 만나는 Docker 7장 - 9. ADD
저작권 안내
- 책 또는 웹사이트의 내용을 복제하여 다른 곳에 게시하는 것을 금지합니다.
- 책 또는 웹사이트의 내용을 발췌, 요약하여 발표 자료, 블로그 포스팅 등으로 만드는 것을 금지합니다.
Dockerfile 자세히 알아보기
이재홍 http://www.pyrasis.com 2014.08.02 ~ 2014.09.20
ADD
ADD는 파일을 이미지에 추가합니다.
Dockerfile
ADD hello-entrypoint.sh /entrypoint.sh
ADD hello-dir /hello-dir
ADD zlib-1.2.8.tar.gz /
ADD hello.zip /
ADD http://example.com/hello.txt /hello.txt
ADD *.txt /root/
ADD <복사할 파일 경로> <이미지에서 파일이 위치할 경로>
형식입니다.
<복사할 파일 경로>
는 컨텍스트 아래를 기준으로 하며 컨텍스트 바깥의 파일, 디렉터리나 절대 경로는 사용할 수 없습니다.- 예)
ADD ../hello.txt /home/hello
(X) - 예)
ADD /home/hello/hello.txt /home/hello
(X)
- 예)
<복사할 파일 경로>
는 파일뿐만 아니라 디렉터리도 설정할 수 있으며, 디렉터리를 지정하면 디렉터리의 모든 파일을 복사합니다. 또한, 와일드카드를 사용하여 특정 파일만 복사할 수 있습니다.- 예)
ADD *.txt /root/
- 예)
<복사할 파일 경로>
에 인터넷에 있는 파일의 URL을 설정할 수 있습니다.<이미지에서 파일이 위치할 경로>
의 마지막에 /가 있으면 디렉터리가 생성되고 파일은 그 아래에 복사됩니다.ADD http://example.com/hello.txt /home/hello/
와 같이 설정하면 /home/hello/hello.txt에 파일이 복사됩니다.
- 로컬에 있는 압축 파일(tar.gz, tar.bz2, tar.xz)은 압축을 해제하고 tar를 풀어서 추가됩니다. 단, 인터넷에 있는 파일 URL은 압축만 해제한 뒤 tar 파일이 그대로 추가됩니다.
- 예)
ADD hello.tar.gz /
(압축을 해제하고 tar를 풀어서 추가합니다.) - 예)
ADD http://zlib.net/zlib-1.2.8.tar.gz /
(gzip 압축만 해제한 뒤 tar 파일을 추가합니다. 단 파일 내용은 tar이지만 파일 이름은 zlib-1.2.8.tar.gz처럼 .gz가 붙어있습니다.)
- 예)
<이미지에서 파일이 위치할 경로>
는 항상 절대 경로로 설정해야 합니다. 그리고 마지막이 /로 끝나면 디렉터리가 생성되고 파일은 그 아래에 복사됩니다.ADD ./ /hello
와 같이 현재 디렉터리를 추가할 때 .dockerignore 파일에 설정한 파일과 디렉터리는 제외됩니다.