docker hub 上传笔记

2023-12-21 18:37:23

近段时间刚好有相关需求上传docker到hub,顺便记录学习一下:

1. 构建指定版本,并上传

docker build --platform=linux/amd64 -f dockerfile_s01 -t myDocker .
# 打标签,docker images的名字为myLocalDockerName
docker tag myLocalDockerName DOCKER_USERNAME/YOURPROGRAME:myDocker-amd
# myDocker为上传上去的名字
docker push DOCKER_USERNAME/YOURPROGRAME:myDocker-amd

2. 使用manifest

当有多个架构时,需要push多个文件,使用者需要自己寻找自己对应的架构镜像,非常麻烦,manifest可以自动根据架构拉取对应的镜像。
首先把自己的两个不同架构镜像按照第1步上传,假设上传的名字为:myDocker-arm、myDocker-amd

2.1创建manifest列表

docker manifest create DOCKER_USERNAME/TEST_PROJECT \
DOCKER_USERNAME/YOURPROGRAME:myDocker-amd \
DOCKER_USERNAME/YOURPROGRAME:myDocker-arm

2.2 设置manifest列表

两个镜像都要设置

docker manifest annotate  DOCKER_USERNAME/TEST_PROJECT \
DOCKER_USERNAME/YOURPROGRAME:myDocker-arm \
--os linux --arch arm64 --variant v8
docker manifest annotate  DOCKER_USERNAME/TEST_PROJECT \
DOCKER_USERNAME/YOURPROGRAME:myDocker-amd \
--os linux --arch amd64

2.3 推送manifest列表

docker manifest push DOCKER_USERNAME/TEST_PROJECT

2.4 其他操作命令

查看命令

docker manifest inspect DOCKER_USERNAME/TEST_PROJECT

如果添加错了,可以删除manifest并重新创建

docker manifest rm DOCKER_USERNAME/TEST_PROJECT@<digest>

参考链接:
https://yeasy.gitbook.io/docker_practice/image/manifest

文章来源:https://blog.csdn.net/weixin_45951067/article/details/135136850
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。