Docker Desktop は、GUI に加えて Docker Engine、Docker CLI、Docker Compose などをまとめて利用できるデスクトップ向けアプリです。Windows や macOS の開発環境では Docker Desktop を使うことが多いです。

Docker Engine は、Docker コンテナを実行・管理するための中核コンポーネントです。Ubuntu Server のような GUI のないサーバ環境では、通常 Docker Desktop ではなく、Docker Engine と関連パッケージをインストールして使います。

この記事では、以下の公式ドキュメントをもとに Docker Engine本体となる docker-ce と、その関連パッケージの docker-ce-cli、containerd.io、 docker-buildx-plugin、docker-compose-plugin を Ubuntu Server にインストールする手順をまとめます。

Docker Docs https://docs.docker.com/engine/install/ubuntu/ (新しいタブで開く)

1. Ubuntu バージョンを確認する

公式ドキュメントによると、Docker Engine は Ubuntu の以下のバージョンに対応しているようです。

  • Ubuntu Resolute 26.04 (LTS)
  • Ubuntu Noble 24.04 (LTS)
  • Ubuntu Jammy 22.04 (LTS)

以下のコマンドで念の為、自分の環境が公式の対応バージョンに入っているか確認しておきます。

bash
lsb_release -a

2. 古い Docker 関連パッケージを削除する

Ubuntu 標準の docker.io や古い docker-compose が入っていると、Docker 公式リポジトリから入れる Docker Engine と競合することがあります。

先に、競合する可能性があるパッケージを削除します。

bash
sudo apt remove $(dpkg --get-selections docker.io docker-compose docker-compose-v2 docker-doc podman-docker containerd runc | cut -f1)

対象のパッケージが入っていない場合は、削除されないだけなので問題ありません。

3. 必要なパッケージをインストールする

Docker 公式リポジトリを apt に追加するために、HTTPS 通信用の証明書と curl を入れます。

bash
sudo apt update
sudo apt install ca-certificates curl

ca-certificates は HTTPS 通信で証明書を検証するために使います。curl は Docker 公式の GPG キーをダウンロードするために使います。

4. Docker 公式 GPG キーを追加する

apt が Docker 公式リポジトリのパッケージを信頼できるか確認できるように、GPG キーを追加します。

bash
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

/etc/apt/keyrings に Docker 公式の鍵を保存し、apt が読める権限を付けています。

5. Docker 公式リポジトリを追加する

apt が Docker 公式リポジトリからパッケージを取得できるように、リポジトリ情報を追加します。

bash
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

Suites には Ubuntu のコードネームが入ります。Architectures には CPU アーキテクチャが入ります。どちらもコマンド内で自動取得しています。

6. パッケージ情報を更新する

Docker 公式リポジトリを追加したので、apt のパッケージ情報を更新します。

bash
sudo apt update

これで、Docker 公式リポジトリにある Docker Engine のパッケージをインストールできるようになります。

7. Docker Engine をインストールする

Docker Engine 本体と、関連するパッケージをインストールします。

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

それぞれの役割は次の通りです。

パッケージ役割
docker-ceDocker Engine 本体
docker-ce-clidocker コマンド
containerd.ioコンテナ実行を支えるランタイム
docker-buildx-pluginDocker Buildx プラグイン
docker-compose-plugindocker compose コマンド

8. Docker の起動状態を確認する

インストール後、Docker サービスが起動しているか確認します。

bash
sudo systemctl status docker

active (running) と表示されていれば起動しています。

起動していない場合は、次のコマンドで起動します。

bash
sudo systemctl start docker

9. 動作確認する

Docker が正しく動くか確認するために、公式のテスト用イメージを実行します。

bash
sudo docker run hello-world

Hello from Docker! のようなメッセージが表示されれば、Docker Engine は正常に動いています。

10. sudo なしで docker を使えるようにする

毎回 sudo docker ... と入力するのが面倒な場合は、自分のユーザーを docker グループに追加します。

bash
sudo usermod -aG docker $USER
newgrp docker

反映後、sudo なしで動くか確認します。

bash
docker run hello-world

docker グループに入ったユーザーは Docker を通して強い権限を持てるため、共有サーバーでは追加するユーザーに注意してください。

ページの先頭へ ↑