ECS 上装 Docker 踩坑实录:华为云官方源与 SWR 镜像加速器
背景
手头有一台 Flexus L 云服务器,系统是 Ubuntu 22.04,想在上面装 Docker 跑几个容器练手。按以前在本地虚拟机里的习惯直接装,结果连踩两个坑:软件源太慢、镜像拉取超时。下面把排查和解决过程记录下来。
踩坑一:默认源装 Docker 又慢又超时
一开始用 Docker 官方的安装方式,apt update 就卡住,下载经常超时。原因很直接:服务器在国内,访问海外源链路不稳定。
解决办法是换成华为云官方源 mirrors.huaweicloud.com 提供的 Docker CE 仓库。把仓库地址换过去之后,重新 apt update、apt install docker-ce,安装一次成功,装好的是 Docker CE 26.1.4。执行 docker version 能正常输出版本信息,服务状态也是 running。
踩坑二:docker pull 拉镜像超时
Docker 装好之后拉取 hello-world,半天没反应,最后超时。Docker Hub 直连在国内同样不稳定。
解决办法是配置 SWR 镜像加速器。在 /etc/docker/daemon.json 里加上 registry-mirrors,地址是 01a0c3b4d96579cd8fca2b50e3019583.mirror.swr.myhuaweicloud.com,然后执行 systemctl restart docker,再拉取一次就成功了。
daemon.json 示例:
{
"registry-mirrors": ["01a0c3b4d96579cd8fca2b50e3019583.mirror.swr.myhuaweicloud.com"]
}
验证
docker run hello-world 能正常拉取并输出 Hello from Docker,docker ps、docker images 也都正常。至此,Docker 在这台 ECS 上可以正常使用了。
几个顺手记下的经验
- 云服务器上装软件,优先用云厂商自己的官方源和镜像加速,少走弯路。
- 安全组只放行真正要用的端口,Docker 守护进程不要对外暴露 TCP 端口,需要远程管理时走 SSH。
- 拉取镜像超时先别急着换网络,看看是不是源的问题,换个加速器往往就好了。
- 装完顺手把 docker version 和 hello-world 跑一遍,确认守护进程和镜像拉取都没问题再往下做。
小结
这次两个坑本质上是一个原因:默认的海外源在国内云服务器上不稳定。换成华为云官方源装好 Docker CE 26.1.4,再配上 SWR 镜像加速器,问题就都解决了。希望这篇笔记能帮到同样在 ECS 上装 Docker 的同学。
- 点赞
- 收藏
- 关注作者
评论(0)