docker hub 上传笔记

近段时间刚好有相关需求上传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

你可能感兴趣的:(docker,笔记,容器)