Dockerfile의 COPY와 Linux의 cp명령어는 복사하는 기능은 똑같지만, 폴더를 풀고 넣느냐 아니냐의 차이점이 있다.
- Docker의 COPY : 복사하려는 디렉토리를 포함하지 않고 복사
- Linux의 cp : 복사하려는 디렉토리까지 포함해서 복사
이게 무슨 말일까..? 예를 들어 알아보자,
아래와 같은 Dockerfile이 있다고 할 때,
./src/game폴더에서 ./origin2로 옮기는 경우, game폴더가 풀어져서 game폴더 안에 존재하는,
controller만 도커 이미지 경로로 전달이 된다.
결과로, 아래와 같이 도커 이미지 안에 들어가서 경로로 확인해보면, controller만 들어가 있는걸 확인할 수 있다.
반대로, 리눅스에서 cp를 사용하는 경우,
폴더가 풀어지지 않고 복사하려는 폴더 자체가 복사되는 걸 알 수 있다.
마냥 똑같은 기능을 할거라고만 생각했던 Dockerfile의 COPY와 Linux의 cp지만, 실제로 해보고 차이를 비교해보니 명확하게 차이를 구별할 수 있었다!
'Dev > Docker' 카테고리의 다른 글
[Docker] Jasypt 이용해 암호화시 docker-compose.yml에 .env파일로 변수관리 하기 (0) | 2022.06.01 |
---|---|
[Docker] Docker 바인드마운트 사용해 파일 저장하기(vs 볼륨마운트) (0) | 2022.04.18 |
[Docker] Docker TimeZone설정(UTC -> KTC) (0) | 2022.03.24 |
[Docker] Docker(도커)란? 도커가 나오게 된 배경은? (0) | 2022.01.04 |