데이터를 컨테이너내에 복사하거나, 컨테이너 밖으로 추출물을 가져와야할 때가 있다.
그럴때 사용하는 명령어는 다음과 같다.
$ docker cp [from] [target]
from과 target만 잘 정해주면 파일을 왔다갔다 할 수 있다.
예시로 테스트를 해보자.
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2576f840776b a79f50098489 "docker-entrypoint.s…" 7 seconds ago Up 6 seconds 0.0.0.0:3000->80/tcp jolly_shamir
노드 서버를 올리는 컨테이너를 띄워두었다.
이제 해당 컨테이너에 테스트 파일을 복사해보자.
dummy라는 폴더 아래 test.txt를 만든다. 내용은 대충 hello
라고만 적어뒀다.
그럼 이제 컨테이너 내부로 복사해보자.
복사하는 명령어는 다음과 같다.
컨테이너 경로는 다음과 같이 정해주면 된다. : [container name]:[경로]
docker cp dummy/test.txt jolly_shamir:/app/test.txt
그럼 해당 파일이 컨테이너 내부의 /app 하단에 복사되었을 것이다.
그런데 정확하게 복사되었는지는 어떻게 알아야할까?
다시 밖으로 가져와보자.
docker cp jolly_shamir:/app/test.txt dummy/test2.txt
그럼 우리가 만들었던 파일이 동일하게 복사되어 생성되는 것을 확인할 수 있다.
우리는 이런 것을 통해서 내부에 쌓이는 로그파일과 같은 것들을 밖으로 꺼내서 확인할 수 있다.