일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 웹개발
- 프로그래밍
- 코딩
- 자바스크립트
- 빅데이터
- 네트워크보안
- 컴퓨터공학
- 컴퓨터과학
- 소프트웨어공학
- Yes
- 파이썬
- 버전관리
- 데이터과학
- 클라우드컴퓨팅
- 사이버보안
- 자료구조
- 네트워크
- 딥러닝
- I'm Sorry
- 프로그래밍언어
- 머신러닝
- 컴퓨터비전
- 데이터베이스
- 보안
- 알고리즘
- 소프트웨어
- 인공지능
- 데이터구조
- 데이터분석
- 2
- Today
- Total
스택큐힙리스트
Dockerfile에서 'COPY' 및 'ADD' 명령어의 차이점은 무엇인가요? 본문
도커파일에서 COPY와 ADD 명령어의 차이는 무엇이며, 어느 경우에 어떤 것을 사용해야 할까요?
COPY
COPY 명령어는 새로운 파일을
ADD
ADD 명령은 새 파일을
답변 1
더 자세한 설명을 위해 #ADD 와 COPY 설명서를 확인해야 하지만, 요약하자면, 주요 차이점은 #ADD 가 COPY 보다 더 많은 작업을 할 수 있다는 것입니다.
ADD은
아래 댓글을 참조하면, ADD documentation는 다음과 같이 제시합니다:
만약 인식 가능한 압축 형식 (identity, gzip, bzip2, xz)으로 된 로컬 tar 아카이브라면 디렉토리로 풀립니다. 원격 URL에서 가져온 자원은 압축 해제되지 않습니다.
Best practices for writing Dockerfiles에 따르면, COPY를 사용하면 ADD의 마법이 필요하지 않은 경우가 있습니다. 그렇지 않으면, 이 답변을 찾아보았기 때문에 언젠가는 keep_this_archive_intact.tar.gz를 컨테이너로 복사하고자 하는데 대신 파일 시스템에 내용물을 뿌리게 될 수도 있습니다.
답변 2
더커(Docker) 이미지를 만들 때, 'COPY'와 'ADD' 명령어를 사용하는 경우가 많은데, 이 둘은 어떤 차이가 있을까요? 이번 글에서는 'COPY'와 'ADD' 명령어의 차이점에 대해 알아보려고 합니다.
우선 'COPY' 명령어는 로컬 파일 시스템에서 파일이나 폴더를 이미지 안으로 복사하는 명령어입니다. 즉, 파일 또는 폴더를 컨테이너 내부로 옮길 때 사용됩니다. 'COPY' 명령어는 기본적으로 파일 권한을 유지하기 때문에, 복사된 파일의 소유자, 그룹, 권한 등은 원본 파일과 동일합니다.
반면 'ADD' 명령어는 'COPY' 명령어와 유사하지만, 조금 더 기능이 많은 명령어입니다. 'ADD' 명령어는 로컬 파일 시스템에서 파일 뿐만 아니라 원격 파일(URI 형식), 압축 파일(tar, gzip, bzip2 등) 등을 컨테이너 내부로 복사할 수 있습니다. 또한, 원격 파일의 경우 자동으로 다운로드하여 복사하므로 'COPY' 명령어보다 더 편리합니다.
또한, 'ADD' 명령어는 압축 파일은 자동으로 압축 해제하여 복사합니다. 하지만 이 때, 파일 권한은 'COPY' 명령어와 다르게 압축 파일 안에 저장된 권한으로 설정됩니다. 따라서, 파일 권한을 유지하려면 'COPY' 명령어를 사용하는 것이 좋습니다.
이렇게 'COPY'와 'ADD' 명령어는 기본적으로 파일이나 폴더를 이미지 내부로 복사할 때 사용하는 명령어입니다. 그러나 'ADD' 명령어는 'COPY' 명령어보다 더 다양한 기능을 제공하며, 원격 파일 복사와 압축 해제 등의 편리한 기능을 제공합니다. 따라서, 이미지를 만들 때 목적에 따라 'COPY'와 'ADD' 명령어를 적절하게 선택하여 사용하는 것이 중요합니다.