Ubuntu 에서 Docker 로 폴더 or 파일 옮기기(복사하기)

Ubuntu 가상머신에서 openface를 돌려보던 중 image 파일을 도커로 옮길 필요가 있어서 

구글링으로 알아본 내용을 공유하려 합니다.



Windows 10 운영체제에 VMware를 설치하여 가상머신으로 Ubuntu를 돌리고 있고

Ubuntu에 내려 받은 Docker로 파일 or 폴더를 옮기는 법을 알아 보겠습니다.



파일을 이동시키기 위해서는 도커 컨테이너의 이름을 알아야 합니다.

Ubuntu bash를 열고 다음과 같이 입력합니다.





NAMES 항목에 해당하는 brave_jennings가 도커 컨테이너의 이름에 해당합니다.






1. Host(여기서는 Ubuntu) -> Openface Docker 로 파일 or 폴더 복사하기



Ubuntu내의 절대경로 /home/jf/KangHoDong 폴더내의 모든 파일을 복사하고자 하는 경우 다음과 같이 입력합니다.





KangHoDong/ 뒤의 . 은 해당 폴더 내의 "모든 파일들"을 의미합니다.


이후 한칸 띄고 위에서 알아낸 컨테이너 네임(brave_jennings)을 입력하고

: 뒤에 도커 내에 파일들을 이동시키고자 하는 폴더명을 입력해주면 됩니다.




정리하면 다음과 같습니다.




docker cp /home/jf/Desktop/KangHoDong/. brave_jennings:/root/openface/KangHoDong


docker cp (이동할 폴더의 절대경로)/. (컨테이너 name):(컨테이너 내 파일들을 받을 폴더의 절대 경로)


(저의 경우 permission denied error가 뜨는 관계로 명령어 앞에 sudo를 붙여줬습니다.)


파일만 옮기고 싶을 때는 . 대신에 해당 파일명을 입력해주면 됩니다.



이렇게 하면 다음과 같이 도커 컨테이너 내의 KangHoDong 폴더 내에 이미지 파일들이 복사된 것을 확인할 수 있습니다.








2. Openface Docker -> Host(여기서는 Ubuntu) 로 파일 or 폴더 복사하기



컨테이너에서 Host로 이동시키고 싶은 경우 경로의 위치만 서로 바꿔주면 됩니다.



docker cp (컨테이너 name):(컨테이너 내에서 이동시킬 파일의 절대 경로) (Ubuntu에서 파일을 복사받을 폴더의 절대경로)


예시) docker cp brave_jennings:/root/openface/KangHoDong/User.1.1.jpg /home/jf/Desktop/KangHoDong/





위 두가지 경우 모두 현재 디렉토리가 어디냐에 따라 

절대경로를 모두 입력하지 않고 현재 디렉토리 경로만을 사용하여 파일을 복사할 수 있습니다.



더보기

댓글,

jayharvey

머신러닝/딥러닝 관련 글을 포스팅할 예정입니다 :)