一回忘れたのでメモ。
Docker Machineはboot2docker.isoから起動するので、docker-machine sshして中のファイルを弄ろうとしてもMachineを再起動すると消えてしまう。
しかしホストのdisk.vmdkが/mnt/sda1にマウントされており、その内部は保存される。
そして/var/lib/boot2docker/は/mnt/sda1/var/lib/boot2docker/へのシンボリックリンクで、その中にbootlocal.shを置くとDocker Machineの起動時、初期化の最後に実行してくれる。
つまりどうするの
VirtualBoxのdefaultマシンの共有フォルダ設定でD:\Hogeなどをd/Hogeなどとして追加した上でdocker-machine sshして/var/lib/boot2docker/bootlocal.shに以下のように書く。
mkdir -p /d/Hoge
mount -t vboxsf -o defaults,iocharset=utf8,uid=1000,gid=50 d/Hoge /d/Hoge
これでDocker Machineの起動時にD:\Hogeが自動マウントされ、そこ以下ならボリュームとしてコンテナにマウントできるようになる。
試してないから勘だけど、共有フォルダ名(d/Hoge)はたぶん何でも良いと思うけどマウント先(/d/Hoge)のディレクトリ名はマウント元(D:\Hoge)と合わせないといけない気がするので注意。
ちなみに、Usersをマウントする設定は/etc/rc.d/vboxに書かれている。