Ubuntu 22.04 では、Ubuntu 標準リポジトリの docker.io パッケージから Docker Engine を導入できます。最新の Docker 公式パッケージを追う構成ではなく、既存の Ubuntu 22.04 サーバーを保守する前提では、配布元を Ubuntu 側に寄せる方が扱いやすい場合があります。
この記事では、Ubuntu 標準パッケージを使って Docker Engine を導入し、サービス状態、一般ユーザー権限、bridge アドレス指定、基本的な動作確認までを確認します。
- Ubuntu 標準パッケージで Docker Engine を導入する範囲
docker.ioと関連パッケージの導入docker.serviceの状態確認- 一般ユーザーで
dockerを使うための権限確認 daemon.jsonで bridge アドレスを指定する例
書籍
Kubernetes完全ガイド 第2版
コンテナ基盤の周辺知識を体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
Docker Engine の導入方針
ここでは Ubuntu 22.04 の標準パッケージである docker.io を使います。Docker 公式リポジトリを追加する方法もありますが、既存環境の保守では、パッケージ更新経路を増やさないことを優先する判断もあります。
| 方式 | 特徴 | 向いている場面 |
| Ubuntu 標準パッケージ | Ubuntu の更新経路で管理する | 安定運用、既存サーバーの保守 |
| Docker 公式パッケージ | Docker 側の新しい版を追いやすい | 新機能や特定バージョンが必要な環境 |
Ubuntu 標準パッケージを使う理由
Ubuntu 標準パッケージを使う場合、APT の管理対象を Ubuntu のリポジトリに寄せられます。検証済みの既存サーバーでは、導入元を増やさないことが変更範囲の抑制につながります。
- 追加リポジトリを設定せずに導入できる
- Ubuntu の通常の更新手順に含めやすい
- 既存の保守手順と合わせやすい
- 新機能よりも安定した保守を優先しやすい
パッケージをインストールする
docker.io と、Dockerfile の build に使う docker-buildx、Compose v2 互換の docker-compose を導入します。環境によっては docker-compose が旧系のコマンドとして提供されるため、実際に使う前にバージョンを確認します。
sudo apt update
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y docker.io docker-buildx docker-compose
docker --version
docker compose version
docker-compose --versionサービス状態を確認する
パッケージ導入後、docker.service が起動しているか確認します。Docker CLI だけでなく、systemd の unit 状態も見ておくと、障害時に切り分けやすくなります。
systemctl status docker.service --no-pager
systemctl is-enabled docker.service
docker info一般ユーザーで docker を使う
一般ユーザーから docker コマンドを実行する場合は、そのユーザーを docker グループへ追加します。docker グループの権限は強いため、対象ユーザーを限定します。
sudo usermod -aG docker "$USER"
id
newgrp docker
docker psdaemon.json で bridge アドレスを指定する
ホスト側のネットワークと Docker の標準 bridge が重なる場合は、/etc/docker/daemon.json で bridge アドレスを指定します。既存環境では、先に使用中のネットワーク帯と重複しないことを確認します。
ip route
sudo install -d -m 0755 /etc/docker
sudo tee /etc/docker/daemon.json >/dev/null <<'EOF'
{
"bip": "10.32.0.1/24",
"ipv6": true,
"fixed-cidr-v6": "fd00:10:32::/120"
}
EOF
sudo cat /etc/docker/daemon.json設定を反映する
daemon.json を変更した後は Docker daemon を再起動します。稼働中のコンテナがある場合は影響が出るため、保守時間帯に実施します。
sudo systemctl restart docker.service
systemctl status docker.service --no-pager
docker network inspect bridge動作確認をする
導入後は、実際にコンテナを起動して Docker Engine が動作することを確認します。既存サーバーでは、外部から image を取得する通信経路も確認対象です。
docker run --rm hello-world
docker run --rm ubuntu:22.04 cat /etc/os-release
docker ps -a運用時に見るポイント
Docker Engine 導入後は、パッケージの更新経路、daemon 設定、ユーザー権限、コンテナのデータ置き場を分けて確認します。導入直後にすべてを変更せず、必要な設定だけを加える方が後から追跡しやすくなります。
apt policy docker.ioで導入元と候補バージョンを確認するsystemctl status docker.serviceで daemon の状態を見る/etc/docker/daemon.jsonは変更理由を残して管理するdockerグループへ追加するユーザーを限定する- volume や bind mount は別記事の手順で確認する
apt policy docker.io
systemctl status docker.service --no-pager
docker version
docker infoまとめ
Ubuntu 22.04 で Docker Engine を導入する場合、Ubuntu 標準パッケージの docker.io を使うと、追加リポジトリなしでコンテナ実行環境を構築できます。既存環境の保守では、導入元を増やさないことが利点になります。
導入後は、サービス状態、一般ユーザー権限、bridge アドレス、image 取得の通信経路を確認します。基本操作やデータ永続化は、別記事で段階的に確認します。

