Skip to main content

ubuntu22.04升级docker&docker-compose

明白 ✅
你现在的环境里:

  • Dockerdocker-compose 都是用 解压 .deb 包 + 手动拷贝二进制 的方式安装的(docker_debs_2021_Rulr6.zip)。

  • 这种方式不会跟随系统自动升级,所以需要你手动卸载旧版本 → 安装 Docker 官方最新版本。


🔧 升级步骤(Ubuntu 22.04)

1. 卸载旧版本

先停掉并卸载老的 docker 组件:

sudo systemctl stop docker
sudo apt-get remove -y docker docker-engine docker.io containerd runc
sudo rm -f /usr/bin/docker-compose
sudo rm -rf /var/lib/docker

⚠️ /var/lib/docker 删除会清空所有容器和镜像,如果你要保留数据,可以先备份或跳过这一步。


2. 安装最新 Docker CE

添加官方仓库并安装:

sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg lsb-release

# 添加 Docker GPG key
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

# 添加 Docker apt 源
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 安装最新 Docker
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

3. 启用并验证 Docker

sudo systemctl enable docker
sudo systemctl start docker
docker -v

应该显示最新版,例如:

Docker version 27.3.1, build xxxx

4. 安装新版 Docker Compose (v2)

新版 compose 已经是 Docker 官方插件,不需要单独装 docker-compose 1.x 了,命令变成:

docker compose version

例如:

Docker Compose version v2.29.7

如果你还想保留 docker-compose 命令(兼容老项目),可以做个软链接:

sudo ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/bin/docker-compose

总结

  • 你的 旧版 1.29.2 docker-compose 太老 → 建议升级到 Docker Compose v2(插件版)。

  • 以后直接用:

    docker compose up -d
    
  • 不需要单独管理 compose 二进制。


要不要我帮你写一个 一键升级脚本(包含卸载旧版 + 安装最新版 Docker + 启用 compose v2 + 兼容 docker-compose 命令)?