본문 바로가기
Server

도커에서 내 pc에 있는 파일사용하기 (cp, mount)

by AI_Wooah 2023. 1. 31.

도커는 가상볼륨처럼 컴퓨터와 독립된 공간으로 만들어지기 때문에 파일을 바로 공유하기 어렵다.

 

다양한 옵션이 있지만 가장 쉬운 방법 두가지를 알아보자.

1. window→ubuntu로 복사

  • 짧게 단건 옮길때 편함 but 용량이 커질수록 부담스러워짐

2. 볼륨을 mount시켜놓고 공유해서 쓰기

  • run할때 한번만 신경써서 해놓으면 용량 아깝게 복사할필요없이 같은 공간처럼 볼륨을 공유할 수 있어서 최고!!!

 

 

1. window→ubuntu로 복사

내 pc에 있는 파일을 docker로 복사해서 사용하기

 

window cmd 기준으로 보면 아래와 같다.

docker cp (Docker로 복사할 폴더의 절대경로)/. (컨테이너 이름):(컨테이너 내 파일을 저장할 폴더의 절대 경로)

예시)

docker cp C:\Users\hailey\Documents\. catpow_ubuntu:/home/documents/

docker cp C:\Users\hailey\Documents\. container4:/home/documents/

 

2. 볼륨을 mount시켜놓고 공유해서 쓰기

1) 도커 볼륨에서 new volume으로 공간 생성하기

이때 생성한 이름은 window 에 폴더로 생깁니다.

 

2) 공간이 잘 생겼는지 확인하러가기

폴더창을 열어 왼쪽 리스트의 아래로 쭉 내려보면 docker-desktop-data가 있다.

해당 폴더 안에 아래 경로나 사진을 참고하여 해당 위치로 찾아간다.

\\\\wsl.localhost\\docker-desktop-data\\data\\docker\\volumes\\share\\_data

❗ 폴더에 뜨는 주소를 복사하면 이렇게 뜨지만 다시 붙여넣으면 이동되지 않는다

 

3) 폴더가 잘 생성된 것을 확인했으면 이제 도커 컨테이너에 연결해주도록 하자.

도커 이미지를 컨테이너로 만들기 위해 run 할 때 다양한 옵션과 커맨드를 줄 수 있다.

볼륨 마운트도 이 때 설정하게 되는데 -v를 사용한다.

앞 share가 window에 생성되는 폴더명이고 뒤에 /sharing이 도커 우분투 안에 생성되는 폴더명이다.

docker run -v share:/sharing --name container4 image4:latest

 

❗ 만약 이미 도커가 실행중이라면

지금 작업하고있는 컨테이너를 이미지로 커밋하고 컨테이너를 삭제한다음에 다시 커밋했던 이미지를 run하면 된다.

컨테이너→이미지 commit

docker commit container_name image_name
반응형

댓글