#環境
OS:windows 8.1
DockerToolbox 1.12
#概要
windows内でdockerを使って開発環境を構築していました。
慣れるにしたがってCIコンテナから他のコンテナを起動して、テストなんてできたらいいなという欲求が出てきたので、コンテナからdockerコマンドを利用できるようにしました。
#方法
ホスト側のdockerデーモンをコンテナのdockerコマンドで呼べるようにします。
ホスト側では/var/lib/boot2docker以下の証明書を使ってTLS通信しているようです。
ですので、例えばですが、
・/var/lib/boot2docker以下をdocker run時にマウント
・ホスト側のIPが192.168.99.100
の場合、以下のようなコマンドで呼べるようになります。
####コンテナ側
コンテナ側でdockerをインストールします。
yum -y install docker
docker \
-H tcp://192.168.99.100:2376 \
--tlscacert=/var/lib/boot2docker/ca.pem \
--tlscert=/var/lib/boot2docker/server.pem \
--tlskey=/var/lib/boot2docker/server-key.pem \
--tlsverify \
ps
長い。。
IP変わることもあるので docker build時にARGとかでIP渡すなりした方がいいですね。
これでコンテナ側からdockerコマンドで他コンテナを操作できるようになりました。