一、配置阿里云镜像加速器
阿里云提供免费的镜像加速服务,可显著提升Docker镜像拉取速度。
配置步骤:
- 获取加速器地址
- 登录阿里云控制台,进入容器镜像服务
- 在左侧导航栏选择”镜像工具” → “镜像加速器”
- 复制专属加速器地址(格式如:https://xxxxxx.mirror.aliyuncs.com)
- 配置Docker
- 编辑Docker配置文件
/etc/docker/daemon.json:{ "registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"] } - 如果文件不存在,直接创建即可
- 编辑Docker配置文件
- 重启Docker服务
sudo systemctl daemon-reload sudo systemctl restart docker - 验证配置
docker info查看输出中是否包含配置的镜像加速器地址
二、创建阿里云镜像仓库
1. 开通服务
- 登录阿里云控制台,搜索”容器镜像服务ACR”
- 创建个人版实例(免费,支持3个命名空间,300个镜像)
2. 创建命名空间
- 每个账号最多创建3个命名空间,创建后不可修改
- 命名空间用于逻辑隔离不同项目或团队的镜像
3. 创建镜像仓库
- 选择命名空间,填写仓库名称
- 选择仓库类型:公有(公开访问)或私有(需认证访问)
- 设置访问凭证密码
三、登录阿里云镜像仓库
登录命令:
docker login --username=你的阿里云账号 registry.cn-hangzhou.aliyuncs.com
- 输入密码后提示”Login Succeeded”表示登录成功
- 登录信息会保存在
~/.docker/config.json中
安全提示:
- 密码会明文存储在配置文件中
- 建议使用访问令牌代替密码登录,降低账号泄露风险
四、推送镜像到阿里云仓库
1. 为镜像打标签
docker tag 本地镜像名:标签 registry.cn-hangzhou.aliyuncs.com/命名空间/仓库名:版本号
示例:
docker tag nginx:latest registry.cn-hangzhou.aliyuncs.com/my-namespace/my-app:v1.0
2. 推送镜像
docker push registry.cn-hangzhou.aliyuncs.com/命名空间/仓库名:版本号
推送成功后可在阿里云控制台查看镜像
五、从阿里云拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/命名空间/仓库名:版本号
示例:
docker pull registry.cn-hangzhou.aliyuncs.com/my-namespace/my-app:v1.0
六、使用内网地址加速推送
如果使用阿里云ECS服务器,建议使用内网地址推送镜像,可显著提升速度且不消耗公网流量:
# 使用内网地址登录
docker login --username=你的阿里云账号 registry-vpc.cn-hangzhou.aliyuncs.com
# 使用内网地址打标签和推送
docker tag nginx:latest registry-vpc.cn-hangzhou.aliyuncs.com/命名空间/仓库名:版本号
docker push registry-vpc.cn-hangzhou.aliyuncs.com/命名空间/仓库名:版本号
七、配置非HTTPS仓库(可选)
如果使用HTTP协议的私有仓库,需要在Docker配置中添加信任:
{
"insecure-registries": ["http://192.168.1.100:5000"]
}
然后重启Docker服务
八、常见问题
- 登录失败:检查用户名和密码是否正确,确保已设置访问凭证密码
- 推送失败:确认镜像标签格式正确,包含完整的仓库地址
- 拉取速度慢:确认已正确配置镜像加速器
- 权限不足:私有仓库需要正确登录才能拉取和推送