코드/CI-CD-Docker

[Docker] 실행중인 docker container 로부터 파일 복사하기

Yeah-Panda 2024. 7. 15. 10:21

실행중인 docker container 에 파일이 추가되는 케이스는 기본적으로 없는 것이 좋다.

다만 필요한 경우 아래의 커맨드로 진행이 가능하다는 정도로 이해하면 좋을 것 같다.

> docker ps

CONTAINER ID   IMAGE          COMMAND                   CREATED             STATUS             PORTS                    NAMES
f0c5cf888fe8   c94415d27e2f   "docker-entrypoint.s…"   About an hour ago   Up About an hour   0.0.0.0:4000->4173/tcp   competent_jepsen

# docker cp </path/to/destination_dir/filename> <containerId or containerName>:/path/to/source_dir 

> docker cp dummy/. c94415d27e2f:/test
# dummy/. 폴더 아래 있는 모든 파일을 c94415d27e2f 컨테이너의 test 폴더 아래로 복사한다.

 

이렇게 복사 된걸 볼수 있다.

 

 

반대로 도커 컨테이너에서 로컬 컴퓨터로 파일을 복사 할수도 있다.

# docker cp <containerId>:/path/to/source /path/to/destination

> docker cp ad45b5fdfacb:/test/dummytest.vue dummy

 

 

어떤 형태건 도커 내부에서 파일을 외부로 복사할수있다.

 

도커 컨테이너로 복사된 파일은 다음 커맨드로도 확인 가능하다

docker exec <containerId> ls -l /path/to/source_dir

> docker docker exec f0c5cf888fe8 ls -al .vitepress

drwxr-xr-x    1 root     root          4096 Jul 14 23:57 .
drwxr-xr-x    1 root     root          4096 Jul 14 23:56 ..
-rw-r--r--    1 root     root           401 Jul  7 23:45 config.mts
drwxr-xr-x    3 root     root          4096 Jul 14 23:56 dist