阿里云ECS安装docker compose

一、先清理掉错误残留

先执行:

sudo rm -f /etc/apt/sources.list.d/docker.list

sudo rm -f /etc/apt/keyrings/docker.asc

sudo apt update

二、安装基础依赖

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

sudo install -m 0755 -d /etc/apt/keyrings

三、重新导入 Docker 官方 GPG key

你刚才是这里失败了。先用这个命令重新下载:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg |

sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

然后修正权限:

sudo chmod a+r /etc/apt/keyrings/docker.gpg

Docker 官方 Ubuntu 安装文档要求先导入仓库签名 key,再添加仓库;Compose 插件也是通过这个仓库安装。 

四、添加 Docker 官方仓库

echo

"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] 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

如果这一步仍然报:

• Connection reset by peer

• TLS handshake timeout

• The repository is not signed

那就说明这台服务器当前访问 download.docker.com 网络不稳定,不是命令写错了。

你可以先检查:

curl -I https://download.docker.com/linux/ubuntu/gpg

curl -I https://download.docker.com/linux/ubuntu/dists/jammy/InRelease

只要这两个地址访问不通,官方仓库方式就装不上。

五、安装 Docker Engine + Compose plugin

如果 sudo apt-get update 已经成功,没有 GPG 错误,就执行:

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

Docker 官方当前 Ubuntu 安装方式就是安装这几个包,其中包含 docker-compose-plugin。 

六、启动 Docker

sudo systemctl unmask docker

sudo systemctl enable docker

sudo systemctl start docker

sudo systemctl status docker

你日志里显示现在 docker.service 是 masked,所以需要先 unmask。

七、验证是否安装成功

docker --version

docker compose version

docker ps

Compose 插件安装成功后,验证命令就是:

docker compose version

这是官方文档给出的检查方式。 

如果官方仓库还是连不上:直接用手动安装方案

因为你这台机器明显对 download.docker.com 有网络问题,所以我再给你一个 备用方案。Docker 官方也提供了 手动安装 Compose plugin 的方式,但前提是机器上已经有 Docker Engine 和 Docker CLI。手动方式不会自动更新。 

方案 A:先把 Docker Engine 装回来,再手动装 compose

如果你暂时只想先恢复 Docker,可先用 Ubuntu 自带源装回去:

sudo apt update

sudo apt install -y docker.io

sudo systemctl unmask docker

sudo systemctl enable docker

sudo systemctl start docker

docker --version

然后手动安装 compose 插件到系统目录:

sudo mkdir -p /usr/local/lib/docker/cli-plugins

sudo curl -SL https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-x86_64

-o /usr/local/lib/docker/cli-plugins/docker-compose

sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose

docker compose version

Docker 官方 Compose Linux 安装页明确写了:

• 可以把插件放到 /usr/local/lib/docker/cli-plugins 供所有用户使用;

• 手动安装不自动更新;

• 这是 Docker 官方支持的手动方法。 

最适合你当前机器的实际修复路径

结合你现在的日志,我建议你直接走这个顺序,成功率最高:

路径 1:优先尝试官方仓库安装

按上面的"一到七"执行。

路径 2:如果 download.docker.com 还是连不上

直接执行下面这套:

1. 安装 Ubuntu 自带 Docker

sudo apt update

sudo apt install -y docker.io

2. 启动 Docker

sudo systemctl unmask docker

sudo systemctl enable docker

sudo systemctl start docker

3. 验证 Docker

docker --version

4. 手动安装 Compose 插件

sudo mkdir -p /usr/local/lib/docker/cli-plugins

sudo curl -SL https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-x86_64

-o /usr/local/lib/docker/cli-plugins/docker-compose

sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose

5. 验证 Compose

docker compose version

你刚才出错点总结

你的日志里有几个关键问题:

1)包找不到

E: Unable to locate package docker-compose-plugin

这是因为你当时还没接入 Docker 官方仓库。官方文档里,这个包就是通过 Docker 仓库安装的。 

2)GPG key 下载失败

curl: (35) OpenSSL SSL_connect: Connection reset by peer

导致 key 文件没写进去,所以后面自然出现:

NO_PUBKEY 7EA0A9C3F273FCD8

The repository is not signed

3)把 Docker 本体卸载掉了

Removing docker.io ...

-bash: /usr/bin/docker: No such file or directory

所以现在必须先把 Docker 重新装回来。

4)安装命令敲错了

你把:

sudo apt-get install -y docker-ce docker-ce-cli ...

写成了:

sudo systemctl status dockerer-ce docker-ce-cli ...

这不是安装。

安装完成后,你就可以这样启动项目

进入你的项目目录:

cd ~/vr-tour

docker compose up -d

查看状态:

docker compose ps

docker compose logs -f

你现在最需要的是把命令一次执行对。我建议你直接复制下面这份"最短修复版"。

最短修复版

清理残留

sudo rm -f /etc/apt/sources.list.d/docker.list

sudo rm -f /etc/apt/keyrings/docker.asc

sudo rm -f /etc/apt/keyrings/docker.gpg

sudo apt update

先恢复 docker

sudo apt install -y docker.io

sudo systemctl unmask docker

sudo systemctl enable docker

sudo systemctl start docker

手动安装 compose 插件

sudo mkdir -p /usr/local/lib/docker/cli-plugins

sudo curl -SL https://github.com/docker/compose/releases/download/v5.0.1/docker-compose-linux-x86_64

-o /usr/local/lib/docker/cli-plugins/docker-compose

sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose

验证

docker --version

docker compose version

相关推荐
迷路爸爸1803 小时前
Docker 入门学习笔记 06:用一个可复现的 Python 项目真正理解 Dockerfile
笔记·学习·docker
斯普信云原生组3 小时前
Docker 开源软件应急处理方案及操作手册——容器运行异常处理
docker·容器·eureka
摆烂z4 小时前
对外访问网络限制*.aliyuncs.com开放也拉不下来和查看docker容器结构
运维·docker·容器
咕噜签名-铁蛋4 小时前
腾讯云ICP备案:变更主体&备案准备
前端·云计算·腾讯云
翼龙云_cloud4 小时前
阿里云代理商:部署OpenClaw高效办公六式 智能打理日常任务
人工智能·阿里云·云计算·openclaw
斯普信云原生组4 小时前
Docker 开源软件应急处理方案及操作手册——资源限制与性能瓶颈
docker·容器·eureka
我科绝伦(Huanhuan Zhou)5 小时前
分享一个很实用的K8S巡检脚本
linux·docker·kubernetes
沉迷学习 日益消瘦5 小时前
(windows环境)白嫖阿里云百炼免费 Token 使用 Claude 教程
windows·阿里云·claude·token·百炼
迷路爸爸1805 小时前
Docker 入门学习笔记 05:卷到底是什么,为什么容器删了数据却还能保留
笔记·学习·docker