てきとうなメモ

本の感想とか技術メモとか

boot2docker経由でフォルダ共有

docker runする時にコンテナ-ホスト間の共有フォルダを指定できるのだが、macosxの場合はboot2docker経由なので、これが使えない。

しかし、boot2dockerでも共有する方法はあるらしい。

$ boot2docker ssh
docker@boot2docker:~$ docker run -v /data --name my-data busybox true
Unable to find image 'busybox' locally
Pulling repository busybox
...
docker@boot2docker:~$ docker run --rm -v /usr/local/bin/docker:/docker -v /var/run/docker.sock:/docker.sock svendowideit/samba my-data
Unable to find image 'svendowideit/samba' locally
Pulling repository svendowideit/samba
starting samba server container sharing my-data:/data

とするとsambaサーバのipが表示されるので、Finderからcifs:///dataで共有フォルダにアクセスできる。my-dataというコンテナはボリュームコンテナと呼ばれるものらしく共有フォルダ的に扱うことができるっぽい。で、

$ docker run -it --volumes-from my-data ubuntu 

とやるとコンテナから見て/data、ホストからはcifs:///dataでアクセスできる

参考