반응형
dockerfile에서 파일을 복사하는 명령어가 2개 있습니다. 바로 ADD와 COPY입니다.
docker문서[1]에서는 일반적으로 COPY를 선호해서 사용한다고 설명되어 있는데요. 그 이유는 투명성때문입니다. 쉽게 설명하면 이력 추적이 가능한지 확인하는 것입니다. COPY는 투명성이 있고 ADD는 투명성이 없는데요. 그 이유를 이 글에서 다루려고합니다.
COPY명령어
dockerfile 예제는 https://github.com/choisungwook/portfolio/tree/master/documentation/docker/addcopy에 있습니다.
COPY명령어는 파일을 그대로 복사하는 명령어입니다. 복사만 할 뿐 어떠한 행동도 하지 않습니다.
컨테이너를 직접 실행하고 파일을 확인하면 hello.tar파일이 보입니다. 의도한대로 파일이 잘 복사되었습니다.
ADD 명령어
dockerfile 예제는 https://github.com/choisungwook/portfolio/tree/master/documentation/docker/addcopy에 있습니다.
ADD명령어는 압축파일이면 압축을 해제한 상태로 파일을 복사합니다. 그래서 관리자 입장에서는 파일이 어디서 생겼는지 추적할 수가 없습니다. docker문서[1]에서는 추적이 불가능하다는 것을 투명성이 없다라고 표현한 것입니다.
직접 컨테이너에 들어가서 파일을 확인하면 압축파일은 없고 압축이 풀어진 파일이 보입니다.
그 이외에도 파일을 복사하지 않고 다운로드하는 기능이 있습니다.
참고자료
[1] docker best practice 공식문서: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/
todo
반응형
'전공영역 공부 기록' 카테고리의 다른 글
ssh 공개키 인증 (0) | 2022.01.04 |
---|---|
CKS - 인증 (0) | 2021.12.26 |
컨테이너 이미지 분석 도구 추천 - dive (0) | 2021.12.17 |
인공지능 파이썬 dockerfile 이미지 줄이기 (0) | 2021.12.16 |
비밀번호 설정이 필요한 서비스 운영 주의점 (0) | 2021.12.15 |