alpine/cranecrane镜像是基于Alpine Linux的轻量级Docker镜像,集成crane工具,专注于Docker镜像的高效管理。其核心用途是简化多架构(Multi-Architecture)镜像的操作流程,支持镜像标签查询、跨仓库复制及多架构标签创建,确保镜像在不同环境中的一致性和可移植性。
适用人群:Docker镜像维护者、DevOps工程师、需要管理多平台应用部署的开发团队。
查询指定镜像的所有关联标签。
bashdocker run --rm alpine/crane ls <镜像名称>
<镜像名称>:需查询标签的目标镜像(如ubuntu)查询ubuntu镜像的所有标签:
bashdocker run --rm alpine/crane ls ubuntu
10.04 12.04.5 12.04 12.10 ...
将源镜像(含所有架构版本)完整复制至目标仓库,保持镜像摘要(DIGEST)一致。
通过挂载本地Docker配置目录,进行目标仓库登录认证(认证信息持久化至本地.docker/config.json):
bashdocker run -ti --rm -v $(pwd)/.docker:/root/.docker alpine/crane auth login -u <Docker账号> -p <访问令牌> <仓库地址>
-v $(pwd)/.docker:/root/.docker:挂载本地目录至容器,用于持久化认证配置-u:Docker仓库账号(如Docker Hub用户名)-p:仓库访问令牌(如Docker Hub的dckr_pat_xxx格式令牌)<仓库地址>:目标仓库域名(如Docker Hub为index.docker.io)bashdocker run -ti --rm -v $(pwd)/.docker:/root/.docker alpine/crane auth login -u ozbillwang -p dckr_pat_vynZPg8C5KsqItk-xxxxxxxxxx index.docker.io
认证成功后,本地.docker/config.json将生成认证记录:
bashmore .docker/config.json
输出示例:
json{ "auths": { "[***]": { "auth": "b3piaWxsd2FuZzpkYxxxx" } } }
执行复制命令,将源镜像完整复制至目标仓库:
bashdocker run -ti --rm -v $(pwd)/.docker:/root/.docker alpine/crane copy <源镜像> <目标仓库/镜像名>
<源镜像>:待复制的源镜像(如nginx)<目标仓库/镜像名>:目标仓库及镜像名称(如ozbillwang/nginx)复制nginx镜像至ozbillwang/nginx仓库:
bashdocker run -ti --rm -v $(pwd)/.docker:/root/.docker alpine/crane copy nginx ozbillwang/nginx
复制完成后,目标仓库将显示包含所有原架构版本的镜像,且所有架构的镜像摘要(DIGEST)与源镜像完全一致。
为已存在的多架构镜像创建新标签,确保所有架构版本同步关联该标签。
bashdocker run -ti --rm -v $(pwd)/.docker:/root/.docker alpine/crane tag <源镜像> <新标签>
<源镜像>:需添加标签的多架构镜像(如ozbillwang/nginx)<新标签>:为镜像创建的标签名称(如abc)为ozbillwang/nginx镜像添加abc标签:
bashdocker run -ti --rm -v $(pwd)/.docker:/root/.docker alpine/crane tag ozbillwang/nginx abc
执行成功后,目标镜像将新增指定标签,且所有架构版本均关联该标签,可通过仓库界面或docker manifest inspect命令确认。
.docker/config.json包含敏感认证信息,操作完成后建议删除该目录或清理敏感数据manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务