Docker for Macでのvolumeオプション

表題について。

■ 環境

  • 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の設定にも下記のものがある。

docker4mac-share

ここで指定してあるディレクトリ配下がvolumeオプションで指定可能な範囲なのだろう。今回は”/Users“配下なので問題なくマウントできているということか。

以上。

■ 関連

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください