ホーム 記事一覧

Ubuntu Server 26.04 で Docker Compose 環境を構築する手順メモ

Ubuntu Server 26.04 で Docker Compose 環境を構築する手順メモ

新しいサーバーに Docker 環境を構築するたびに手順を確認していると時間がもったいないので、Ubuntu Server 26.04 を例にまとめました。

最後に、コマンド一つで環境を構築するインストールスクリプトも掲載しています。


前提環境

  • Ubuntu Server 26.04 LTS
  • root ユーザーまたは sudo 権限のあるユーザー

1. システムの更新

まずはシステムを最新の状態にします。

sudo apt update && sudo apt upgrade -y

2. 必要なパッケージのインストール

Docker のインストールに必要なパッケージを入れます。

sudo apt install -y \
  ca-certificates \
  curl \
  gnupg \
  lsb-release

3. Docker の公式 GPG キーを追加

sudo install -m 0755 -d /etc/apt/keyrings

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
  sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

sudo chmod a+r /etc/apt/keyrings/docker.gpg

4. Docker のリポジトリを追加

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
  https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

5. Docker のインストール

リポジトリを追加したら、Docker をインストールします。

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

インストール確認

docker --version
docker compose version

6. sudo なしで Docker を使う設定(オプション)

毎回 sudo をつけるのは面倒なので、自分のユーザーを docker グループに追加します。

sudo usermod -aG docker $USER

変更を反映するにはログアウトして再ログインが必要です。

反映確認:

groups

docker グループに含まれていれば OK です。

7. Docker Compose の基本的な使い方

ディレクトリ構成の例

Web アプリケーションを動かす場合の典型的な構成です。

my-app/
├── docker-compose.yml
├── app/
│   └── index.html
└── nginx/
    └── default.conf

docker-compose.yml のサンプル

services:
  web:
    image: nginx:alpine
    ports:
      - "80:80"
    volumes:
      - ./app:/usr/share/nginx/html
      - ./nginx/default.conf:/etc/nginx/conf.d/default.conf
    restart: unless-stopped

起動コマンド

cd my-app
docker compose up -d

確認と停止

# 実行中のコンテナを確認
docker compose ps

# ログを確認
docker compose logs -f

# 停止
docker compose down

実用的な例:WordPress 環境

WordPress と MySQL を Docker Compose で動かす場合です。

services:
  db:
    image: mysql:8.0
    environment:
      MYSQL_ROOT_PASSWORD: rootpass
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wpuser
      MYSQL_PASSWORD: wppass
    volumes:
      - db_data:/var/lib/mysql
    restart: unless-stopped

  wordpress:
    image: wordpress:latest
    ports:
      - "8080:80"
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wpuser
      WORDPRESS_DB_PASSWORD: wppass
      WORDPRESS_DB_NAME: wordpress
    depends_on:
      - db
    restart: unless-stopped

volumes:
  db_data:

起動:

docker compose up -d

ブラウザで http://localhost:8080 にアクセスすれば、WordPress のセットアップ画面が表示されます。


Docker Compose の便利なコマンド

コマンド 説明
docker compose up -d バックグラウンドで起動
docker compose down 停止して削除
docker compose ps 実行中のコンテナを表示
docker compose logs -f ログをリアルタイム表示
docker compose exec <service> bash コンテナ内にシェルで接続
docker compose pull イメージを最新に更新
docker compose restart 再起動

よくあるトラブルと対処法

ポートが使われている場合

Error starting userland proxy: Bind for 0.0.0.0:80: address already in use

占用しているプロセスを確認します。

sudo lsof -i :80

不要なら停止します。

ボリュームの削除

docker compose down だけではボリュームは残ります。完全に削除するには:

docker compose down -v

注意: データベースのデータも削除されます。

イメージのキャッシュが古い場合

docker compose build --no-cache
docker compose up -d

インストールスクリプト

以下の一連の手順を自动化したスクリプトです。新しいサーバーに素早く環境を構築できます。

#!/bin/bash
# Docker Compose 環境セットアップスクリプト (Ubuntu Server 26.04)
# 使い方: sudo bash setup-docker.sh

set -e

echo "=== Docker Compose 環境セットアップ開始 ==="

# システム更新
echo "[1/6] システムを更新中..."
apt update && apt upgrade -y

# 必要なパッケージのインストール
echo "[2/6] 必要なパッケージをインストール中..."
apt install -y ca-certificates curl gnupg lsb-release

# Docker の GPG キーを追加
echo "[3/6] Docker の GPG キーを追加中..."
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
  gpg --dearmor -o /etc/apt/keyrings/docker.gpg
chmod a+r /etc/apt/keyrings/docker.gpg

# Docker のリポジトリを追加
echo "[4/6] Docker のリポジトリを追加中..."
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
  https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  tee /etc/apt/sources.list.d/docker.list > /dev/null

# Docker のインストール
echo "[5/6] Docker をインストール中..."
apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# docker グループに追加
echo "[6/6] ユーザーを docker グループに追加中..."
usermod -aG docker $USER

echo ""
echo "=== セットアップ完了 ==="
echo ""
echo "バージョン確認:"
docker --version
docker compose version
echo ""
echo "注意: docker グループの変更を反映するには、"
echo "      ログアウトして再ログインしてください。"

使い方

# スクリプトをダウンロードして実行
sudo bash setup-docker.sh

# 再ログイン後に動作確認
docker run hello-world
docker compose version

まとめ

手順 内容
1 システムの更新
2 必要なパッケージのインストール
3 Docker の GPG キーとリポジトリの追加
4 Docker のインストール
5 sudo なしで Docker を使う設定
  • Docker Compose は docker compose(スペースあり)が最新の構文です
  • docker-compose(ハイフンあり)は廃止予定なので、新しいスクリプトでは使わない方が良い
  • ボリュームの管理には気をつける(down -v でデータが消える)

公式ドキュメントも合わせて確認すると良いと思います。