Docker#
DockerはDebianのリポジトリからも供給されていますが、Ubuntuが提供するdocker.ioとよばれるもので、中身も古く、公式のものではありません。ここではDocker社が提供するdocker-ceに移行するための手順を示します。
docker.ioのアンインストール#
まず、稼働中の全コンテナを停止します。
注釈
はじめてDockerをお使いの方はこの節を実行する必要はありません。
$ sudo docker stop $(sudo docker ps -q)
Dockerサービスを無効化します。
$ sudo systemctl stop docker.service
$ sudo systemctl stop docker.socket
現状のコンテナイメージのバックアップを取ります。
$ sudo tar -czf ~/docker-backup-$(date +%Y%m%d).tar.gz /var/lib/docker
docker.ioをアンインストールします。
$ sudo apt purge docker.io docker-doc docker-compose docker-compose-v2 containerd runc
$ sudo apt autoremove -y
もし古いプラグイン等があればディレクトリごと削除します。
$ rm -rf ~/.docker/cli-plugins/
また、設定ファイルからもプラグインのエントリcliPluginsExtraDirs
を削除します。
$ nano ~/.docker/config.json
{
"cliPluginsExtraDirs": [
"/home/your_user/.docker/cli-plugins"
],
"credsStore": "desktop"
}
{
"credsStore": "desktop"
}
docker-ceのリポジトリ追加とインストール#
# 1. 必要なツールをインストール
sudo apt update
sudo apt install -y ca-certificates curl gnupg
# 2. Docker公式GPGキーを追加
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# 3. APTにリポジトリ情報を追加
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Dockerの公式リポジトリからインストールします。
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
バージョンを確認すると最新がインストールされていることがわかります。
$ docker --version
Docker version 28.3.3, build 980b856