UbuntuにDocker Engineを入れるなら、Docker公式のaptリポジトリから導入するのが基本です。当サイトのゲームサーバー構築記事は基本的にこの方式を前提にしています。この記事のコマンドは素のUbuntu 24.04環境で上から順に実行し、導入完了まで再現できることを確認済みです(Docker 29.7.2/Compose v5.5.0)。
前提と対応バージョン
- 対応OS: Ubuntu 26.04 / 24.04 / 22.04 の各LTS
- sudoが使えるユーザーでSSHログインできること。ゲームサーバー用Linux OSの初期設定はゲームサーバー用Linux OS(Ubuntu)の初期設定を参照してください
競合パッケージを削除する(入っている場合)
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.asc2. リポジトリを登録する
次のブロックをまるごと貼り付けて実行します(現行公式の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
EOF3. 本体をインストールして動作確認する
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.servicesudoなしでdockerを使えるようにする(任意)
sudo groupadd docker
sudo usermod -aG docker $USER実行後にいったんログアウトして入り直すと反映されます。groupaddは「already exists」と出ても問題ありません。
なお、dockerグループはroot相当の権限を持つとされています。共用サーバーでは付与する相手を慎重に選んでください。
ゲームサーバー運用でよく使うコマンド
当サイトの構築記事で作る構成は、おおまかに次の形です。設定ファイル(compose.yaml)の内容に従い、コンテナを作り、セーブデータはホスト側のディレクトリに残ります。
構築記事で使う操作は、ほぼ次の4つです。
| コマンド | 動作 |
|---|---|
sudo docker compose up -d | compose.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の一覧)へ進んでください。