GUIDE / DOCKER & SSH
DockerをSSH経由でリモート管理する方法
リモートサーバーのDocker Engineをデーモンポート開放なしで安全に操作する手法(CLI Docker ContextとConsole Hub UI)を解説します
01 / OVERVIEW
TCPポートを開放しないリモートDocker管理
既存のSSH接続を使うと、Docker API用の待受ポートを増やさずにリモートEngineを操作できます。CLIで対象を指定して確認したい場合はDocker Context、ホストの接続設定と画面操作をまとめたい場合はConsole Hubが選択肢になります
- CLI Docker Context: 接続先に名前を付け、ローカルのDocker CLIからリモートEngineを操作
- Console Hub (Web UI): サーバー上でSSHソケット接続を行い、ブラウザからコンテナ・Compose・ログを一括操作する手法
CLI WORKFLOW
検証ホストのコンテナ一覧を確認する
例では、作業端末にDocker CLIとSSHクライアント、接続先に稼働中のDocker Engineがあることを前提とします。ホスト名とユーザー名は自分の検証環境に置き換えてください。SSHユーザーには対象Engineのソケットへアクセスする権限が必要です
ssh [email protected]で接続します。初回のホスト鍵は管理者から受け取った指紋と照合し、接続先でdocker psが実行できることを確認してからSSHを終了します- 作業端末で接続先を登録し、そのContextを明示して一覧を取得します
docker context create ch-test --docker host=ssh://[email protected]
docker --context ch-test ps表示されるのは検証ホストのコンテナ一覧です。コンテナがなければ見出しだけが表示されます。各コマンドで --context ch-test を指定するため、普段使うContextの切り替えは不要です
Contextを保存しない確認には、作業端末のPOSIXシェルで次のように指定できます。既存の DOCKER_CONTEXT がある場合はそちらが優先されるため、この例ではそのコマンドに限って解除します
(unset DOCKER_CONTEXT; DOCKER_HOST=ssh://[email protected] docker ps)一覧取得はコンテナを変更しません。ただし、同じ接続経路で変更コマンドも実行できるため、Dockerアクセス権は強い権限として管理してください
BROWSER WORKFLOW
Console Hubから同じホストを確認する
- LinuxホストのSSH接続情報を登録し、接続テストとホスト鍵の確認を行います
- ホストのランチャーまたはサイドバーからDockerを開き、OverviewとContainersで対象を確認します
- 調査対象のログを開きます。ProjectのTerminalはホストSSH、ContainerのTerminalは稼働中コンテナ内のexecです。実行先を確認して使い分けます
Docker閲覧にはホスト閲覧・SSH接続・Docker閲覧権限、変更にはDocker管理権限も必要です。CLIで作成したContextをConsole Hubへ読み込む手順ではありません
操作と権限のリファレンスで対応範囲を確認できます
TROUBLESHOOTING
接続できないときの切り分け
- SSH自体が失敗する場合:接続元からの経路、ポート、ユーザー、鍵を確認します
- SSHは成功しDockerだけ拒否される場合:同じSSHユーザーでEngineへアクセスできるか確認します。sudoやTCP公開で回避せず、対象ホストの管理者と権限を見直します
- 一覧が想定と違う場合:Contextの接続先とConsole Hubで選択したホストを確認します。対象が確定するまで変更操作は行いません
CLI例の参照:Docker公式:SSHによるEngine接続(2026年9月14日確認)
GET STARTED
Console HubでのDocker管理を見る
Docker Manager機能の詳細と接続要件をご確認いただけます