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 로 심볼릭 링크를 현재 로그인 계정 디렉토리에 만들면 된다.









댓글 없음:

댓글 쓰기