레이블이 volume인 게시물을 표시합니다. 모든 게시물 표시
레이블이 volume인 게시물을 표시합니다. 모든 게시물 표시

2016년 7월 5일 화요일

Docker OSX Volume mount


mac 에서 Docker(Docker for MAC)를 사용하게 됐다.

로컬 디렉토리를 docker container 의 volume 과 마운트를 하려고 하는데... 제대로 되지 않는다.

아래는 정상적으로 마운트되지 않는 방법(?)

/data/volume-test 라는 디렉토리를 만들고 권한을 현재 로그인 사용자로 부여했다.

$ sudo mkdir /data/volume-test

$ sudo chown -R devmimic:staff /data/volume-test


container를 실행한다.

$ docker run -it --name volume-test -v /data/volume-test:/data ubuntu /bin/bash

root@090813b56cf6:/# touch /data/test


Ctrl + P, Ctrl + Q 를 순서데로 입력하여 container 에서 빠져 나온다.

$ ls -al /data/volume-test


container 에서 생성한 test 파일이 보이지 않는다...

$ touch /data/volume-test/test2

$ docker attach volume-test

 Enter 2번 

root@090813b56cf6:/# ls -al /data


역시 로컬에서 생성한 test2 파일이 보이지 않는다.

그래서 찾아보니....

If you are using Docker Machine on Mac or Windows, your Engine daemon has only limited access to your OS X or Windows filesystem. Docker Machine tries to auto-share your /Users (OS X) or C:\Users (Windows) directory. So, you can mount files or directories on OS X using.
http://docs.master.dockerproject.org/engine/tutorials/dockervolumes/#/mount-a-host-directory-as-a-data-volume

결론
mac os 로컬 디렉토리를 마운트하려면 경로를 ~/directory 로 지정해라.

~/directory == /Users/현재로그인계정/directory

쓰다보니 귀찮아져서 결론은 짧게 ㅎㅎ

다른 디스크 볼륨의 디렉토리를 마운트한다면?

ln -s 로 심볼릭 링크를 현재 로그인 계정 디렉토리에 만들면 된다.