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


摘要由 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/你的命名空间/你的仓库名:标签

总结

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


评论区
头像
    头像
    1
      

    111

    头像
    云烟
      

    测试