bridgenetwork周りについて
windows上でdocker動かすときって、以下の選択肢があると思ってて、- docker-machineとかでcreate(旧boot2docker(core linux?だっけ中身)) docker-machine create --driver=virtualbox
- 使い慣れたVM状にdocker環境を構築、docker-machine create --driver=(不明)
私は汎用的に使える環境であることが好きだなぁ。と思ったので、docker-machine側でVMを用意する方式をとっていました。
が、この方式でbridge-networkを構築すると証明書が違う!という理由でdocker-machine env接続情報が取得できず、エラーで困ったことになることが多い。
理由としては、NIC起動順番が異なってしまて、docker-machine env でうまく接続できていないっぽい。
いろいろ不便だったので試行錯誤してみた(ホストVMのIPは環境切り替える際に不便なのでやりたくない)
結果として、以下の感じのコマンドでbridge-networkを追加するだけ。。。
GUI側でやってるのと何ら変わらないのだけど、なんでこっちだとうまくいくんでしょうかね。
vboxmanage modifyvm default --nic3 bridged
vboxmanage modifyvm default --bridgeadapter3 "en3"
vboxmanage modifyvm dev --nic3 bridged
vboxmanage modifyvm dev --bridgeadapter3 "en3"
HDDマウントについて
あと、以下のような形でマウントすると、ホストマシンのサイズ依存となってしまう。
vboxmanage sharedfolder add 'dev' -automount -name 'Volumes' -hostpath '/Volumes/';
sudo vi /var/lib/boot2docker/bootlocal.sh
sudo mkdir -p /Volumes;
sudo mount -t vboxsf Volumes /Volumes/ -o uid=1000,gid=100,iocharset=utf8;
なので、この場合は、一つずつ、ディスクをマウントさせましょう。
vboxmanage sharedfolder add 'default' -automount -name '3tv1' -hostpath '/Volumes/3tv1';
sudo vi /var/lib/boot2docker/bootlocal.sh
sudo mkdir -p /Volumes/3tv1;
sudo mount -t vboxsf 3tv1 /Volumes/3tv1 -o uid=1000,gid=100,iocharset=utf8;
samba経由でwindows backupするときに気づいた。
/Volumesだけだと、ホストVMの/ディスクのみのサイズしか見ないので、結果的にトンでもねーことになっちまいます。
電車、、、間違えて遅刻しそうかひやひやしながら書いています。