반응형
docker cp 명령어로 파일 복사
docker로 컨테이너를 만들고 빌드를 하거나 특정한 함수를 실행하고 나온 결과를 내 로컬로 가져오고 싶은 경우들이 자주 발생한다.
이때 사용하면 편한 명령어가 docker cp 명령어다. 사용법에 대해서 알아보자.
기본 문법
docker cp [호스트 경로] [컨테이너 이름 또는 ID]:[컨테이너 경로]
로컬 -> 컨테이너로 복사
docker cp [컨테이너 이름 또는 ID]:[컨테이너 경로] [호스트 경로]
컨테이너 -> 로컬로 복사
위에 예시처럼 내 로컬과 컨테이너 내부 경로를 입력하면 파일을 복사하는 게 가능하다. 단일 파일을 복사할 수도 있고 폴더 경로를 입력해서 폴더 내부의 모든 파일을 복사할 수도 있다.
단일 파일 복사 예제
docker cp ./myfile.txt mycontainer:/app/myfile.txt
로컬의 myfile.txt 파일을 mycontainer 컨테이너 안 /app/myfile.txt 위치로 복사
docker cp mycontainer:/app/output.txt ./output.txt
mycontainer 컨테이너 안 /app/output.txt 파일을 로컬의 현재 디렉터리 ./output.txt 위치로 복사
폴더 복사 예제
docker cp ./my-folder mycontainer:/app/my-folder
로컬 -> 컨테이너 내부로 복사
docker cp mycontainer:/app/my-folder ./my-folder
컨테이너 내부 -> 로컬로 복사
주의해야 할 부분
- 컨테이너 이름을 정확하게 입력 : docker ps로 컨테이너 이름을 확인하고 정확하게 입력하자.
- 컨테이너 안 경로는 항상 /로 시작하는 절대경로를 사용하는 것이 안전하다. (/은 루트 디렉터리를 의미한다.)
- 존재하지 않는 디렉터리에 접근하면 자동으로 만들어주지 않고 에러가 난다.
- 컨테이너 안에 쓰기 권한이 있어야지 정상적으로 복사가 이뤄진다.
- 꺼진 컨테이너를 대상으로 해도 docker cp는 작동한다.
정리하자면
- docker cp는 파일 복사 명령
- 파일 하나만 수정하고 싶을 때, 또는 결과물만 뽑고 싶을 때 편리하다.
- 경로만 지정하면 한 번에 복사가 이뤄지므로 자동화하기 좋고 실수가 적어진다.
함께 읽으면 좋은 글
[Linux/Unix] 절대경로와 상대경로
절대 경로(Absolute Path) 표시법절대 경로는 파일의 root로부터 해당 파일에 이르기까지의 전체 경로(URL)를 의미한다. 절대 경로는 보통 다른 사람의 문서나 파일을 이용할 때 사용한다. 절대 경로는
jettstream.tistory.com
'프로그래밍 > 도커(Docker)' 카테고리의 다른 글
Docker 컨테이너에서 systemd 실행하기 (1) | 2024.12.24 |
---|---|
도커 젠킨스(Jenkins)에서 PowerShell 사용 및 dotnet 빌드하기 (1) | 2024.12.11 |
도커로 설치한 Redis CLI로 접근하기 (0) | 2024.12.02 |
도커(Docker)로 설치한 레디스(redis) 버전 확인하기 (3) | 2024.10.17 |
도커(Docker) Nginx 실행시 설정 파일 변경하는 방법 (0) | 2024.09.13 |
댓글