Dockerfile의 ADD와 COPY의 차이

2020. 10. 17. 16:11클라우드/Docker

ADD

  • Auto-extraction
  • 복사하려는 대상 파일이 입축 파일(tar, tar.gz)일 경우, 해당 파일의 압축을 해제하여 복사한다.
  • Remote-URL
  • wget 등을 통하여 원격지의 파일을 복사 대상으로 지정할 수 있다.

 

COPY

  • host 환경의 파일 또는 디렉토리를 대상 컨테이너 이미지 안으로 복사한다.

 

 


ADDCOPY는 특정 위치에서 Docker 이미지로 파일을 복사하는 기능을 수행하는 Dockerfile 명령어이다.

 

COPY는 로컬 파일 또는 디렉토리를 컨테이너에 복사하는 기능만 지원한다.

 

ADD도 해당 기능을 지원하지만, 2개의 또다른 기능도 지원한다.

먼저, 로컬 파일 또는 디렉토리 대신 URL을 사용할 수 있다.

두번째로는 ADD rootfs.tar.xz /처럼 소스에서 대상으로 직접 tar파일을 자동 추출할 수 있다.

 

따라서 로컬에 있는 압축 파일을 Docker 이미지의 특정 디렉토리에 추출하려는 경우 또는 원격지의 파일을 Docker 이미지로 복사하려는 경우 에 ADD를 사용하고,

 

단순히 로컬 파일 또는 디렉토리를 Docker 이미지로 복사하려는 경우에는 COPY를 사용하는 것이 적절하다.

 

 


Reference

'클라우드 > Docker' 카테고리의 다른 글

Docker Compose  (0) 2020.10.17
Dockerizing Spring Boot Application  (0) 2020.10.04
Dockerfile  (0) 2020.10.04
hello world  (0) 2020.10.04
Docker Image  (0) 2020.10.01