Ubuntu VPSへDockerを入れる前の確認項目と公開ポート

公開日: 2026-09-12 #Docker #Ubuntu #VPS #セキュリティ

Ubuntu VPSにDockerを入れる前に見るべきなのは、インストールコマンドより公開ポートと管理経路だ。コンテナのポート公開は、UFWやfirewalldのルールを迂回する場合があるとDocker公式は注意している。アプリを起動する前に、外部へ出す入口を絞る。

以下はDocker公式のUbuntu導入資料を基にした確認表である。各サーバーで実行・検証した記録ではない。確認日: 2026年9月12日。Docker公式: UbuntuへのDocker Engine導入

導入前の確認表

確認対象 確認する内容 判断の目安
Ubuntuの版とCPU Docker公式が対応として挙げるUbuntuとアーキテクチャか 派生ディストリビューションは公式サポート外と理解する
既存パッケージ docker.io、旧Compose、containerdなどの競合有無 既存コンテナやデータの退避方針を決めてから整理する
管理者経路 SSH鍵、管理者アカウント、復旧用のログイン経路 パスワードや秘密鍵を共有チャットへ置かない
公開ポート 443など必要な入口と、コンテナの公開設定 データベース管理ポートを広く公開しない
秘密情報 APIキー、DBパスワード、Webhook署名鍵の保管先 リポジトリとイメージに埋め込まない

Docker公式は、公式APTリポジトリを設定した後、Engine、CLI、containerd、Buildx、Composeプラグインを導入する手順を示している。バージョンを固定したい場合は、APT上で利用可能な版を一覧してから、採用する版を記録して導入する。便宜的な導入スクリプトはテスト・開発向けとされ、本番用途には公式APTリポジトリの手順を読むほうが判断しやすい。

インストール前に残すメモ

サーバー名、Ubuntuの版、CPUアーキテクチャ、SSHの管理者、公開する入口、更新時の担当者を一枚にまとめる。数台しかなくても、このメモがないと数か月後の更新で「何を公開したか」が分からなくなる。

導入後は次のコマンドでDocker EngineとComposeプラグインの実際のバージョンを表示し、運用メモへ記録する。

docker --version
docker compose version

表示された値を運用メモへ記録し、次回更新時の差分に使う。アプリ用イメージも latest に任せず、採用したタグまたはダイジェストをComposeファイルと変更履歴に残す。タグの更新通知だけで再作成しないことも、復旧を容易にする。

ports は「コンテナ内で待ち受ける」だけではない

Composeに ports を書くと、ホスト側のポートとコンテナ側のポートが結び付く。外部公開が必要なのは通常、TLSを終端するリバースプロキシの入口だけだ。PostgreSQL、Redis、n8nの管理画面などは、用途を決めずにインターネットへ公開しない。

同じVPS上のリバースプロキシだけから接続させたいサービスは、ホストのループバックアドレスに束縛する設計を検討する。コンテナ間通信は、同じComposeプロジェクトの既定ネットワーク、または明示的に共有したDockerネットワークに接続したサービス間で設計する。どの構成でも、クラウド側のセキュリティグループ、OS側のフィルタ、Dockerの公開設定を別々に照合する。

Docker公式は、Dockerで公開したコンテナポートがUFWまたはfirewalldのルールを迂回し得ること、Dockerと併用するパケットフィルタの前提も明記している。既存の「UFWで閉じたから安全」という理解だけで公開確認を終えない。Docker公式のファイアウォール注意事項

秘密情報はCompose本文へ書かない

AI APIキーやWebhookの署名用シークレットを compose.yaml に直書きすると、Git履歴、バックアップ、画面共有に残りやすい。値そのものはサーバー上の権限を絞った設定ファイル、または選んだ秘密管理機構へ置く。Composeファイルには変数名だけを置き、値を表示するログも見直す。

導入後の最初の公開は、管理画面やデータベースを含めず、必要な入口だけで確認する。公開面を増やす判断は、アプリの機能追加ではなく、外部から到達する理由を説明できるときに行う。

参考資料