kinjouj.github.io

Docker (2) - 別サーバーのDockerを利用する -


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)