云烟博客 | 网络安全实战经验与个人技术成长笔记

将拉取的Docker 镜像本地私有化


Docker 镜像本地私有化

场景描述

从云端拉取镜像后 如果希望将其修改并保存为自己的版本 不再依赖原有镜像 可以通过以下步骤将修改后的镜像上传到阿里云容器镜像服务(ACR)

步骤 1:拉取云端镜像

从云端仓库拉取所需镜像

docker pull <云端镜像地址>

步骤 2:修改镜像并保存为自己的镜像

修改容器内容后 可以将其保存为新的镜像版本 执行以下命令启动容器

docker run -it <云端镜像地址> /bin/bash

在容器内进行修改 安装软件或配置环境等 完成后退出并保存容器为新镜像

docker commit <容器ID> <新镜像名>:<标签>

步骤 3:登录到阿里云容器镜像服务

使用以下命令登录阿里云容器镜像服务

echo "你的阿里云账号的 AccessKey Secret" | sudo docker login --username=你的阿里云账号 --password-stdin registry.cn-地域.aliyuncs.com

步骤 4:为镜像打标签

为镜像打上符合阿里云容器镜像服务格式的标签

docker tag <本地镜像地址> registry.cn-地域.aliyuncs.com/你的命名空间/你的仓库名:标签

步骤 5:上传镜像到阿里云

将镜像上传到阿里云容器镜像服务

docker push registry.cn-地域.aliyuncs.com/你的命名空间/你的仓库名:标签

完整示例脚本

#!/bin/bash
# 拉取云端镜像
docker pull <云端镜像地址>

# 启动容器并进行修改(假设修改完成)
docker run -it <云端镜像地址> /bin/bash
# 修改完成后退出容器

# 保存容器为新镜像
docker commit <容器ID> <新镜像名>:<标签>

# 登录到阿里云容器镜像服务
echo "你的阿里云账号的 AccessKey Secret" | sudo docker login --username=你的阿里云账号 --password-stdin registry.cn-地域.aliyuncs.com

# 为新镜像打标签
docker tag <新镜像名>:<标签> registry.cn-地域.aliyuncs.com/你的命名空间/你的仓库名:标签

# 上传镜像到阿里云
docker push registry.cn-地域.aliyuncs.com/你的命名空间/你的仓库名:标签

总结

这样就可以不再依赖原镜像 把原镜像做成自己的镜像 独立管理镜像版本


当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »