サーバー内での 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 環境を作ったほうが良さそう。


掲示板にコメントする
※どの記事のコメントかわかるように本文に記事タイトルなどを入れてください。
一覧に戻る