UbuntuにDocker Engineを入れるなら、Docker公式のaptリポジトリから導入するのが基本です。当サイトのゲームサーバー構築記事は基本的にこの方式を前提にしています。この記事のコマンドは素のUbuntu 24.04環境で上から順に実行し、導入完了まで再現できることを確認済みです(Docker 29.7.2/Compose v5.5.0)。

前提と対応バージョン

競合パッケージを削除する(入っている場合)

Ubuntu標準リポジトリのdocker.ioやdocker-composeなどが入っていると競合するため、事前の駆除が推奨されます。 新しく構築したサーバーであれば、通常は何も入っていないため、スキップして構いません。

sudo apt remove docker.io docker-compose docker-compose-v2 docker-doc docker-buildx podman-docker containerd runc

未インストールのパッケージは「is not installed, so not removed」と表示されるだけで、エラーにはなりません。

Docker Engineを導入する

手順の出典はすべてDocker公式ドキュメントです。

1. GPG鍵を配置する

sudo apt update
sudo apt install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

2. リポジトリを登録する

次のブロックをまるごと貼り付けて実行します(現行公式のdeb822形式。Ubuntuのバージョンとアーキテクチャは自動で埋まります)。

sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF

3. 本体をインストールして動作確認する

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo docker run hello-world

「Hello from Docker」で始まるメッセージが表示されれば導入完了です。docker compose(Compose v2)もこの時点で使えます。

インストール後の設定

いずれも公式インストールガイドの手順です。

再起動後も自動起動させる

sudo systemctl enable docker.service
sudo systemctl enable containerd.service

sudoなしでdockerを使えるようにする(任意)

sudo groupadd docker
sudo usermod -aG docker $USER

実行後にいったんログアウトして入り直すと反映されます。groupaddは「already exists」と出ても問題ありません。 なお、dockerグループはroot相当の権限を持つとされています。共用サーバーでは付与する相手を慎重に選んでください。

ゲームサーバー運用でよく使うコマンド

当サイトの構築記事で作る構成は、おおまかに次の形です。設定ファイル(compose.yaml)の内容に従い、コンテナを作り、セーブデータはホスト側のディレクトリに残ります。

compose.yamlからコンテナが作られ、セーブデータがホスト側のディレクトリに永続化されるDocker構成図
図: Docker方式の構成。コンテナを消してもデータは残る

構築記事で使う操作は、ほぼ次の4つです。

コマンド動作
sudo docker compose up -dcompose.yamlの内容でサーバーを起動(バックグラウンド)
sudo docker compose downサーバーを停止してコンテナを破棄(データはボリュームに残る)
sudo docker logs <コンテナ名>サーバーのログを確認
sudo docker compose pullイメージを最新版に更新(その後up -dで反映)

この手順で導入した環境を前提に各ゲームの構築記事へ進んでください。

よくある質問

Ubuntu標準のdocker.ioと何が違いますか

docker.ioはUbuntuが配布する別パッケージで、公式リポジトリ版とは配布元と更新タイミングが異なります。 Docker公式は自社リポジトリからの導入を案内しており、docker.ioを含む競合パッケージは事前削除の対象です。

docker-composeコマンドが見つかりません

以前はdocker-composeという独立したコマンドでしたが、composeはdockerコマンドに統合されました。 この手順で入るのはプラグイン版のCompose v2で、ハイフンなしのdocker composeとして実行します。当サイトの構築記事もすべてこの書き方です。

ログでディスクがいっぱいになりませんか

既定のログドライバ(json-file)はローテーションを設定しないとログが増え続けます。 公式は上限の設定や別ドライバの利用を案内しているため、長期運用では設定を検討するとよいでしょう。

まとめ

  • UbuntuにはDocker公式のaptリポジトリ(現行はdeb822形式のdocker.sources)から導入する
  • インストールは鍵の配置→リポジトリ登録→docker-ceほか5パッケージ→hello-world確認の4手順
  • 導入後は自動起動のsystemctl enableを忘れずに
  • docker compose up -d/down/logs/pullが基本の操作コマンド

導入が済んだら、遊びたいゲームの構築記事(タグ: Dockerの一覧)へ進んでください。

参考リンク