도커는 가상볼륨처럼 컴퓨터와 독립된 공간으로 만들어지기 때문에 파일을 바로 공유하기 어렵다.
다양한 옵션이 있지만 가장 쉬운 방법 두가지를 알아보자.
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
댓글