ubuntu22.04升级docker&docker-compose
明白 ✅
你现在的环境里:
-
Docker 和 docker-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 命令)?
No Comments