推送多架构镜像到同一仓库

Posted 王伯爵

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了推送多架构镜像到同一仓库相关的知识,希望对你有一定的参考价值。

合并多架构镜像,在amd机器上操作:

1. 下载amd镜像,并重新tag

docker pull registry.k8s.io/ingress-nginx/nginx:0b5e0685112e4537ee20a0bdbba451e9f6158aa3@sha256:3f5e28bb248d5170e77b77fc2a1a385724aeff41a0b34b5afad7dd9cf93de000

docker tag registry.k8s.io/ingress-nginx/nginx:0b5e0685112e4537ee20a0bdbba451e9f6158aa3@sha256:3f5e28bb248d5170e77b77fc2a1a385724aeff41a0b34b5afad7dd9cf93de000 registry.cn-hangzhou.aliyuncs.com/earl-k8s/ingress-nginx-nginx:0b5e0685112e4537ee20a0bdbba451e9f6158aa3-amd64

docker push registry.cn-hangzhou.aliyuncs.com/earl-k8s/ingress-nginx-nginx:0b5e0685112e4537ee20a0bdbba451e9f6158aa3-amd64

2. 下载arm镜像,并重新tag

下载arm64前要删除amd的镜像,因为拉取地址相同,不删除amd的拉取arm的会报错

docker pull --platform=arm64 registry.k8s.io/ingress-nginx/nginx:0b5e0685112e4537ee20a0bdbba451e9f6158aa3@sha256:3f5e28bb248d5170e77b77fc2a1a385724aeff41a0b34b5afad7dd9cf93de000

docker ta

docker学习11-上传本地镜像到镜像仓库

前言

在本地自己制作用过镜像后,上传到镜像仓库,这样方便在不同的机器上快速搭建同一套环境。
如果公开的话,别人也可以用你的镜像快速搭建环境,类似于 GitHub 本地代码上传到代码仓库,再从仓库拉取代码到本地。

新建镜像仓库

技术图片

输入仓库名称和描述,可以选择公共 public 的仓库和私有 private 的仓库

技术图片

创建成功后,右侧会提示使用docker push推送

docker push yoyo********/yoyo-pytest:tagname

技术图片

本地镜像

本地镜像制作参考前面这篇https://www.cnblogs.com/yoyoketang/p/11397597.html

docker build -t yoyo_pytest:v1 .

[root@VM_0_2_centos docker-run]# docker build -t yoyo_pytest:v1 .
Sending build context to Docker daemon  3.072kB
Step 1/8 : FROM python:3.6.8
 ---> 48c06762acf0
Step 2/8 : MAINTAINER yoyo  <283340479@qq.com>
 ---> Using cache
 ---> e0835a3f4d47
Step 3/8 : RUN pip install --upgrade pip  --index-url https://pypi.douban.com/simple
 ---> Using cache
 ---> 0909be7567da
Step 4/8 : WORKDIR /code
 ---> Using cache
 ---> d006572cbc66
Step 5/8 : ADD . /code
 ---> Using cache
 ---> 7296a3b5c7fe
Step 6/8 : RUN pip install -r requirements.txt --index-url https://pypi.douban.com/simple
 ---> Using cache
 ---> ffa6afb30d19
Step 7/8 : ENTRYPOINT ["pytest"]
 ---> Using cache
 ---> d4da9935ba20
Step 8/8 : CMD ["--help"]
 ---> Using cache
 ---> 250e663c1097
Successfully built 250e663c1097
Successfully tagged yoyo_pytest:v1

docker build 镜像制作完成之后,查看本地镜像

[root@VM_0_2_centos docker-run]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
yoyo_pytest         v1                  250e663c1097        6 minutes ago       939MB

打本地标签tag

在上传之前,先给本地镜像打个tag标签,相当于重新复制镜像并重命名为docker账户名/仓库名称

docker tag 本地镜像:tag docker账号/docker仓库:tag

[root@VM_0_2_centos docker-run]# docker tag yoyo_pytest:v1  yoyo*****/yoyo-pytest
[root@VM_0_2_centos docker-run]# docker images
REPOSITORY                  TAG                 IMAGE ID            CREATED             SIZE
yoyo/pytest                 latest              250e663c1097        30 minutes ago      939MB
yoyo*****/yoyo-pytest   latest              250e663c1097        30 minutes ago      939MB

push 上传本地镜像

先登陆docker hub账号,关于账号的注册和登陆查看上一篇https://www.cnblogs.com/yoyoketang/p/11923050.html

[root@VM_0_2_centos docker-run]# docker login
Authenticating with existing credentials...
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
[root@VM_0_2_centos docker-run]# 

上传本地镜像标签到镜像仓库,使用docker指令

docker push docker 账号/仓库名称:tagname

[root@VM_0_2_centos docker-run]# docker push yoyo******/yoyo-pytest
The push refers to repository [docker.io/yoyo*********/yoyo-pytest]
6ec67a80257a: Pushed 
d8f6dad5fd38: Pushed 
08f4f1010d69: Pushed 
3b08987fd99a: Pushed 
d03a0ab13129: Pushed 
02d7555642f3: Pushed 
b04c763f3532: Pushed 
24747797d2fa: Pushed 
a637c551a0da: Pushed 
2c8d31157b81: Pushed 
7b76d801397d: Pushed 
f32868cde90b: Pushed 
0db06dff9d9a: Pushed 
latest: digest: sha256:35f815bd6169c75f998a894a664d850abfae5c5c99cbcc80881cb123f777754e size: 3054

上传完成后打开自己的docker hub账号,查看镜像仓库

技术图片

pull 拉取镜像

拉取镜像使用docker pull 你自己的镜像名称

docker pull yoyo******/yoyo-pytest

以上是关于推送多架构镜像到同一仓库的主要内容,如果未能解决你的问题,请参考以下文章

docker镜像与容器

微服务架构师-docker私有镜像仓库的配置和使用

Docker镜像多架构构建

Docker镜像多架构构建

docker进阶-搭建私有企业级镜像仓库Harbor

微服务架构师-docker私有镜像仓库的配置和使用