それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

別ホストのdockerをTCP経由で操作する

docker は自PCに入れなくても動作します。

docker コマンドの接続は次のようになっています。

docker-cli ---- fd(sock) --- docker-host

docker は api 経由で動作しているので、TCP経由でも接続できます。

docker-cli ---- tcp(sock) --- docker-host

tcp 接続でdocker を使う。

tcp://192.168.2.10:2375 で起動したdockerへ接続する。

DOCKER_HOST=tcp://192.168.2.10:2375 /usr/bin/docker ps -a

docker daemon ホストを tcp://192.168.2.10:2375 で起動する。

TCP経由でリッスンし起動する。

/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375 --containerd=/run/containerd/containerd.sock  

systemd の記述を変える。

/etc/systemd/system/multi-user.target.wants/docker.service

ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375 --containerd=/run/containerd/containerd.sock

リロード再起動

sudo  systemctl daemon-reload
sudo systemctl restart docker.service

活用法

WindowsでDockerを使うときは茨の道なので、TCP経由で起動するといいです。

wsl → localhost:2375  → Windows Docker 
wsl → localhost:2375  → HyperV Docker
wsl → 172.16.11.11:2375  → multipass ubnuto docker

参考資料