Docker (2) - 別サーバーのDockerを利用する -
別サーバー上にあるDockerにイメージをデプロイしたりコンテナを起動したりの操作をしたい時
export DOCKER_HOST=192.168.1.100
とやったりすることで別サーバー上にあるDockerを操作できたりとかできるんですがこれ公式上でも既に推奨されておらず実際にやると警告が出たりする
じゃあどうやるのかと。docker contextを使えとのこと
contextを登録
docker context create \
--docker host=ssh://192.168.1.100 \
--description="remote sevrer" \
my-remote-server
でcontextを作る。もちろんsshって書いてるのでSSH Serverが必要
登録したcontextを使用するように設定
docker context use my-remote-server
これでdocker infoとかやると別サーバー上のDockerが使用されているかを確認。ちなみに元に戻す場合は
docker context use default
でオッケーっぽい
参考: https://docs.docker.com/engine/security/protect-access
ちなみに
Dockerのsystemdで
[Service]
ExecStart=/usr/bin/dockerd -H "tcp://192.168.1.100:2375" -H fd:// --containerd=/run/containerd/containerd.sock
みたいに-HオプションつければDocker Daemonのポート開けれる(絶対やるなよw)