도커(Docker) : 공유 디렉토리(폴더) 연결하기
- 개발환경/Docker
- 2020. 3. 10.
도커(Docker) : 공유 디렉토리(폴더) 연결하기
본 글에서는 도커 컨테이너를 구동하는 로컬 호스트 시스템과 도커 컨테이너 간에 공유 디렉토리(폴더)를 연결(마운트)하는 방법을 설명한다.
기본적으로, 도커 컨테이너가 종료되면 그 동안 발생한 컨테이너 내부의 변경사항이 모두 손실된다(도커 이미지로 커밋하지 않는 이상). 따라서, 변경사항이 저장될 수 있도록 로컬 호스트 시스템의 디렉터리를 도커 컨테이너 내부에 마운트한 공유 디렉토리 상에서 작업을 수행하는 경우가 많다.
다음과 같이 "-v" 또는 "--volume" 옵션을 추가하여 도커 컨테이너를 실행하면 공유 디렉터리를 연결할 수 있다.
- host system directory : 공유하고자 하는 호스트 시스템 디렉토리 절대 경로
- container directory : 호스트 시스템 디렉토리를 마운트할 컨테이너 내부 절대 경로
docker -v <host system directory>:<container directory> [IMAGE NAME]
docker -volume="<host system directory>:<container directory>" [IMAGE NAME]
이를 통해 도커 컨테이너 내부에서 호스트 시스템의 디렉토리에 접근할 수 있으며, 해당 디렉토리 내 파일 과 디렉토리들에 대한 수정과 저장이 가능하다.
위 옵션의 사용 예는 다음과 같다.
다음 명령을 통해 호스트 시스템의 "C:\" 디렉토리를 우분투 리눅스 컨테이너의 /home/workspace/ 디렉토리에 마운트할 수 있다.
docker run -it -v C:\:/home/workspace ubuntu:18.04
--volume 옵션 사용 시에는 다음과 같이 실행할 수 있다.
docker run -it --volume="C:\:/home/workspace" ubuntu:18.04
현재 디렉토리를 공유 디렉토리로 지정하기
공유하고자 하는 호스트 시스템 디렉토리의 절대경로를 사용하는 대신, "docker run" 명령이 실행되는 현재 디렉토리를 공유 디렉토리로 지정할 수 있다.
유닉스 기반 호스트 시스템(리눅스, 맥 등)에서는 다음과 같이 실행할 수 있다.
docker run -it --volume="$PWD:/home/workspace" ubuntu:18.04
윈도우즈 호스트 시스템의 명령 프롬프트 창에서는 다음과 같이 실행할 수 있다.
단, 윈도우즈 파워쉘의 경우 다음 옵션을 사용할 수 없으며, 유닉스 기반 호스트와 동일한 옵션을 사용해야 한다.
docker run -it --volume="%cd%:/home/workspace" ubuntu:18.04
디레토리 마운트에 대한 보다 자세한 내용은 아래 공식 문서 사이트에서 확인 가능하다.
| Docker Documentation
Docker run reference Docker runs processes in isolated containers. A container is a process which runs on a host. The host may be local or remote. When an operator executes...
docs.docker.com
파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음
'개발환경 > Docker' 카테고리의 다른 글
도커(Docker) : 도커 허브(Docker Hub) 가입 및 저장소 생성하기 (1) | 2021.01.09 |
---|---|
도커(Docker) : 이미지 커밋(업데이트)하기 (0) | 2021.01.09 |
도커(Docker) : TUN 디바이스(/dev/net/tun) 사용하기 (0) | 2021.01.08 |
도커(Docker) : 사용자 계정으로 리눅스 컨테이너 실행하기 (0) | 2020.05.07 |
도커(Docker) : 쉘 사용하기 (0) | 2020.03.10 |
도커(Docker) : 종료된 컨테이너 제거하기 (0) | 2020.03.06 |
도커(Docker) : MAC 주소 설정(변경)하기 (0) | 2020.03.06 |
도커(Docker) : 포트 포워딩 설정(포트 맵핑)하기 (4) | 2020.03.05 |