摘要由 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
测试