阿里云ECS Docker部署踩坑记:镜像加速与Alinux兼容

个人AI项目部署到阿里云ECS,本以为docker compose up -d一键搞定,结果镜像拉不下来、官方脚本不支持……这篇记录我是怎么一步步解决的。

坑1:docker build拉镜像超时

执行docker build时卡在node:20-alpine一直timeout。

bash
ERROR: failed to solve: node:20-alpine: failed to resolve source metadata 
for docker.io/library/node:20-alpine: dial tcp 104.18.124.25:443: i/o timeout

原因: ECS默认的Docker Hub源在国内访问不稳定。

解决方案:配置阿里云镜像加速器

登录阿里云容器镜像服务控制台 → 镜像加速器 → 获取专属地址(https://xxxxx.mirror.aliyuncs.com):

bash
# 1. 创建/修改 /etc/docker/daemon.json
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"]
}
EOF

# 2. 重启生效
sudo systemctl daemon-reload
sudo systemctl restart docker

# 3. 验证是否生效
docker info | grep -A 1 "Registry Mirrors"

坑2:镜像加速器配置了但没生效

配置完daemon.json,拉镜像还是超时。

原因: daemon.json格式错误(多了逗号/拼写错误),或docker服务没正确重启。

解决方案:

  • 检查JSON格式:cat /etc/docker/daemon.json确认无误

  • 完全重启docker:sudo systemctl restart docker

  • docker info确认能看到镜像加速地址

坑3:Alibaba Cloud Linux不支持Docker官方脚本

执行curl -fsSL https://get.docker.com | sh报错——Alibaba Cloud Linux不在Docker官方脚本的支持列表里。

解决方案:直接yum安装

bash
# 直接用yum安装(Alibaba Cloud Linux 3已验证可用)
sudo yum install -y docker

# 启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker

# 安装docker-compose
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

踩坑总结:

  • 阿里云ECS用Alibaba Cloud Linux,跳过官方脚本,直接用yum安装。

  • 镜像加速器配置后用docker info验证,别只看配置文件。

  • 加速地址在阿里云控制台“容器镜像服务”→“镜像加速器”获取。

posted @ 2026-06-26 16:50  竹雨禅月  阅读(31)  评论(0)    收藏  举报