docker hub 上传笔记

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

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

sh 复制代码
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列表

sh 复制代码
docker manifest create DOCKER_USERNAME/TEST_PROJECT \
DOCKER_USERNAME/YOURPROGRAME:myDocker-amd \
DOCKER_USERNAME/YOURPROGRAME:myDocker-arm

2.2 设置manifest列表

两个镜像都要设置

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

2.3 推送manifest列表

sh 复制代码
docker manifest push DOCKER_USERNAME/TEST_PROJECT

2.4 其他操作命令

查看命令

sh 复制代码
docker manifest inspect DOCKER_USERNAME/TEST_PROJECT

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

sh 复制代码
docker manifest rm DOCKER_USERNAME/TEST_PROJECT@<digest>

参考链接:

https://yeasy.gitbook.io/docker_practice/image/manifest

相关推荐
fetasty12 小时前
rustfs加picgo图床搭建
docker
蝎子莱莱爱打怪1 天前
GitLab CI/CD + Docker Registry + K8s 部署完整实战指南
后端·docker·kubernetes
小p2 天前
docker学习7:docker 容器的通信方式
docker
小p2 天前
docker学习5:提升Dockerfile水平的5个技巧
docker
小p2 天前
docker学习3:docker是怎么实现的?
docker
小p4 天前
docker学习: 2. 构建镜像Dockerfile
docker
小p4 天前
docker学习: 1. docker基本使用
docker
崔小汤呀4 天前
Docker部署Nacos
docker·容器
缓解AI焦虑4 天前
Docker + K8s 部署大模型推理服务:资源划分与多实例调度
docker·容器
1candobetter5 天前
Docker Compose Build 与 Up 的区别:什么时候必须重建镜像
docker·容器·eureka