2024-02-01
Tech
サーバー内での docker compose up をローカルから行う方法
まずサーバーで docker や docker compose が動くようにしておく。 その後、
$ DOCKER_HOST="ssh://user@remotehost" docker compose up -d
するだけで遠隔サーバーで docker container を起動できる。
知らなかった...。
さらに docker context を使うと DOCKER_HOST を変えなくても指定した環境で docker compose up できる。
$ docker context create remote --docker "host=ssh://user@remotemachine"
$ docker --context remote compose up -d
便利すぎでは~!!
もちろん ~/.ssh/config
に設定した Host 名も使える。 僕の場合、 ~/.ssh/config
に次のような設定がある。
host monday
HostName xxx.xxx.xxx.xxx
User xxxxxxxx
ForwardAgent yes
IdentityFile ~/.ssh/id_ed25519
ので
$ DOCKER_HOST="ssh://monday" docker compose up -d
でよい。
参考: How to deploy on remote Docker hosts with docker-compose
本格的に運用するなら k3s とかで k8s 環境を作ったほうが良さそう。
一覧に戻る