表題について。
■ 環境
- Docker for Mac 1.12.0-rc4-beta20
- Mac OSX El Capitan
■ -v
先日まで`docker run`時の`-v`オプションで指定するディレクトリは「Dockerホストにおいて指定したディレクトリが、コンテナにマウントされる」というイメージであった。自身の使い方とも相俟って、Docker for Macでの場合は使用してもマウントされないのでは?と勝手に思い込んでしまっていた。xhyveで稼働している(?)Alpine Linuxのどのディレクトリがマウントされるんだ?と。
しかし、どうやらこの認識が間違いであったことについ先日気がついた。
Sharing the OS X file system with Docker containers(osxfs)
https://docs.docker.com/docker-for-mac/osxfs/
実際にやってみる。
$ docker version
Client:
Version: 1.12.0-rc4
API version: 1.24
Go version: go1.6.2
Git commit: e4a0dbc
Built: Wed Jul 13 03:28:51 2016
OS/Arch: darwin/amd64
Experimental: true
Server:
Version: 1.12.0-rc4
API version: 1.24
Go version: go1.6.2
Git commit: e4a0dbc
Built: Wed Jul 13 03:28:51 2016
OS/Arch: linux/amd64
Experimental: true
$
$ pwd
/Users/withsin/work/test
$
$ ls
$
$ docker run -ti --rm -v `pwd`:/src alpine /bin/sh
/ #
/ # ls
bin dev etc home lib linuxrc media mnt proc root run sbin src sys tmp usr var
/ #
/ # ls /src
/ #
別のターミナルから上記Mac上のディレクトリにファイルを配置してみる。
$ cd /Users/withsin/work/test
$
$ touch testfile
$
再度、Dockerで稼働させているコンテナでディレクトリ内を確認する。
/ # ls /src/
testfile
/ #
なるほど。これは便利だ。てっきりDockerホスト上のディレクトリしかマウント(?)できないものだとの思い込みがあったので、まったく気にしていなかった。
Docker for Macの設定にも下記のものがある。
ここで指定してあるディレクトリ配下がvolumeオプションで指定可能な範囲なのだろう。今回は”/Users“配下なので問題なくマウントできているということか。
以上。