Docker-仓库(registry)

我们在上一章,讲了虚拟化,虚拟化是把硬件虚拟化,然后创建出来的虚拟机完全隔离,而Docker则是软件(内核)虚拟化,他的隔离性会低于虚拟机。我们将通过3-4周来讲解Docker相关内容,由于涉及到内容较多,就不一一列出来具体的细节,主要从以下几个方面来讲解:

Docker基本情况

Docker基本命令

Dockerfile

Docker镜像

Docker仓库(本小节属于)

Docker原理

Docker网络&存储&日志

Docker-Compose

Docker番外篇

前面我们无论是从公网仓库下载的镜像还是通过Dockerfile编写的镜像,在绝大多数的情况下,都需要上传到仓库里面,然后再通过仓库分发到其他需要使用的节点,那么仓库是怎么创建的呢?

Docker的官方给我们提供了一个仓库,这个仓库也是以容器方式运行的,这个仓库的镜像名字是registry。

1.下载仓库镜像


bash

代码解读

复制代码

#这个地址不一定持续可用 docker pull m.daocloud.io/docker.io/library/registry

2.运行仓库容器

首先这里需要注意就是磁盘挂载,要确保用户上传的数据持久化保存在对应的服务器,不会因为容器删除或者故障而丢失数据。其次就是要尽可能包括在他的可用性,需要需要确保服务或者机器重启这个容器会自动启动。再次就是要保证他5000端口对外暴露和容器的名字要方便识别。


bash

代码解读

复制代码

#当然你还可以根据需要添加其他参数 docker run -d \ -v /data:/var/lib/registry \ --restart=always \ -p 5000:5000 \ --name registry \ m.daocloud.io/docker.io/library/registry

3.修改容器tag

ip路径和名字以现场实际为准。


bash

代码解读

复制代码

[root@localhost ~]# docker tag \ > m.daocloud.io/docker.io/library/registry \ > 192.168.31.205:5000/registry

4.上传镜像


yaml

代码解读

复制代码

#上传镜像需要先修改daemon.json,并重启docker服务 { "insecure-registries": ["192.168.31.43:5000"] } [root@localhost ~]# docker push \ > 192.168.31.205:5000/registry Using default tag: latest The push refers to repository [192.168.31.205:5000/registry] 7827cbf539f4: Pushed d28d4e94d6f3: Pushed 028476fc17e0: Pushed 96a01afdff54: Pushed f9fc769d3350: Pushed latest: digest: sha256:2e3dacd68b23ae633b4e46e2702f7c4fcfc1e6bd0469935f5fdc9d8ef630179a size: 1363

5.查看仓库有哪些镜像


csharp

代码解读

复制代码

# 当然这里只有一个镜像,如果有多个镜像则在[]里面可以到具体的名字 [root@localhost ~]# curl 192.168.31.205:5000/v2/_catalog {"repositories":["registry"]}

6.查看镜像有哪些tag


csharp

代码解读

复制代码

#这里的rgistry就是容器的名字,具体以现场路径和名字为准 #下面的latest 和2.8.3 就是他有的tag [root@localhost ~]# curl 192.168.31.205:5000/v2/registry/tags/list {"name":"registry","tags":["latest","2.8.3"]}

7.镜像&tag删除

一般而言,默认情况下是不能删除镜像和tag,后面我们会讲一个开源的仓库:Harbor他可以通过web平台进行操作,就可以删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值