摘要由 AI 智能生成
Docker 镜像本地私有化
场景描述
从云端拉取镜像后 如果希望将其修改并保存为自己的版本 不再依赖原有镜像 可以通过以下步骤将修改后的镜像上传到阿里云容器镜像服务(ACR)
步骤 1:拉取云端镜像
从云端仓库拉取所需镜像
docker pull <云端镜像地址>
<云端镜像地址>
:从云端仓库获取的镜像地址
步骤 2:修改镜像并保存为自己的镜像
修改容器内容后 可以将其保存为新的镜像版本 执行以下命令启动容器
docker run -it <云端镜像地址> /bin/bash
在容器内进行修改 安装软件或配置环境等 完成后退出并保存容器为新镜像
docker commit <容器ID> <新镜像名>:<标签>
<容器ID>
:容器 ID 使用docker ps
获取<新镜像名>
:新镜像名<标签>
:镜像标签(如latest
)
步骤 3:登录到阿里云容器镜像服务
使用以下命令登录阿里云容器镜像服务
echo "你的阿里云账号的 AccessKey Secret" | sudo docker login --username=你的阿里云账号 --password-stdin registry.cn-地域.aliyuncs.com
你的阿里云账号
:阿里云账号你的阿里云账号的 AccessKey Secret
:从阿里云控制台获取的 AccessKey Secret地域
:容器镜像服务所在的地域(如cn-shanghai
)
步骤 4:为镜像打标签
为镜像打上符合阿里云容器镜像服务格式的标签
docker tag <本地镜像地址> registry.cn-地域.aliyuncs.com/你的命名空间/你的仓库名:标签
<本地镜像地址>
:你创建的新镜像地址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/你的命名空间/你的仓库名:标签
总结
这样就可以不再依赖原镜像 把原镜像做成自己的镜像 独立管理镜像版本
111
测试