Ubuntu にDocker Engineをインストールする
警告: Ubuntu に Docker をインストールするときは、
apt
を使用しないでください。Docker の APT リポジトリをしっかりと設定した上で、以下の手順に従ってインストールしてください。
前提条件
OSの要件
Dockerは、以下のバージョンのUbuntuをサポートしています。
- Ubuntu Mantic 23.10
- Ubuntu Jammy 22.04 (LTS)
- Ubuntu Focal 20.04 (LTS)
Dockerは、64ビットx86プラットフォームまたはARMプラットフォームにインストールできます。プロダクション環境では、5年間のセキュリティアップデートを受けられるUbuntu LTS (Long-Term-Support)リリースを使用することをおすすめします。
古いバージョンのアンインストール
以前のDockerは docker
または docker-engine
という名前でした。インストールされている場合は、最初にアンインストールしてください。
$ for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker; do sudo apt-get remove $pkg; done
また、Docker Engineは containerd と runc に依存しているので、競合を避けるためにこれらもアンインストールしてください。
$ sudo apt-get remove containerd runc
APTリポジトリを使ったインストール
Dockerの apt リポジトリを設定する
apt
パッケージインデックスを更新し、apt
が HTTPS を介してリポジトリを利用できるようにパッケージをインストールします。
# Docker の公式 GPG キーを追加する:
sudo apt-get update
sudo apt-get install 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
# リポジトリを Apt ソースに追加する:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
Ubuntu の派生ディストリビューション (Linux Mint など) を使っている場合は、VERSION_CODENAME の代わりに UBUNTU_CODENAME を使う必要があるかもしれません。
Dockerパッケージをインストールする
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
便利なスクリプトを使ったインストール
Dockerは、テストと開発環境向けのインストール手順を簡素化する便利なスクリプトを提供しています。Ubuntu では、このスクリプトを使用し、必要に応じて --mirror
フラグを使ってミラーリポジトリからインストールできます。
# $ curl -fsSL test.docker.com -o get-docker.sh
$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror Aliyun
# $ sudo sh get-docker.sh --mirror AzureChinaCloud
このスクリプトは、すべての前提条件を自動的に処理し、最新の安定板バージョンのDockerをインストールします。
Dockerを起動する
$ sudo systemctl enable docker
$ sudo systemctl start docker