龙空技术网

Docker实战-如何去访问Docker仓库?

云原生微服务 113

前言:

当前你们对“如何访问阿里云服务器站点信息”都比较注重,同学们都需要了解一些“如何访问阿里云服务器站点信息”的相关资讯。那么小编在网络上搜集了一些有关“如何访问阿里云服务器站点信息””的相关内容,希望小伙伴们能喜欢,大家一起来了解一下吧!

仓库在之前的分享中我们介绍过,它主要的作用就是用来存放镜像文件,又可以分为是公共的仓库和私有仓库。有点类似于Maven的中央仓库和公司内部私服。

下面我们就来介绍一下在Docker中如何去访问各种仓库。

Docker Hub 公共镜像仓库

Docker Hub 是Docker官方提供的最大的公共镜像仓库,其中包含了很多的镜像。基本上可以满足大部分的镜像需求,在大部分的情况下都是可以从Docker Hub上获取到自己想要的镜像。

在本地使用的时候,可以不用登录通过docker search命令来查找官方镜像仓库中的镜像,并且利用 docker pull 命令将其获取到本地进行使用,如下所示。

[root@localhost ~]# docker search centosNAME                                         DESCRIPTION                                     STARS     OFFICIAL   AUTOMATEDcentos                                       DEPRECATED; The official build of CentOS.       7620      [OK]       kasmweb/centos-7-desktop                     CentOS 7 desktop for Kasm Workspaces            39                   couchbase/centos7-systemd                    centos7-systemd images with additional debug…   8                    [OK]dokken/centos-stream-9                                                                       6                    dokken/centos-7                              CentOS 7 image for kitchen-dokken               5                    eclipse/centos_jdk8                          CentOS, JDK8, Maven 3, git, curl, nmap, mc, …   5                    [OK]

根据是否为官方提供,可以将这些资源镜像分成两类

类似于上面查询到的CentOS这样的基础镜像,也被称为是根镜像,这些镜像是由Docker公司创建并且支持维护的。所以比较稳定,也很安全。另一种镜像则是Docker上的用户进行上传的,在特定场景中使用比较好,但是在一些特殊场景中需要慎用。第三方镜像仓库

在国内有比较多的云服务提供商都是提供了Docker镜像服务,例如腾讯云、阿里云、网易云等。

当然在下载这些站点上的镜像的时候,需要在镜像前面添加注册服务的具体地址,如下所示

docker  pull index.tenxcloud.com/docker_library/node:latest

在正常情况下,国内的站点上的东西要比国外站点上的东西下载的快很多。

在下载完成之后由于是第三方的站点标签,所以要使用docker tag 将镜像的标签更新一下,与官方标签保持一致。

当然除了使用这些公共镜像之外,我们还可以搭建本地的或者私有的仓库。

搭建本地私有仓库

使用registry 镜像创建私有仓库

在安装好了Docker之后,可以通过官方提供的registry 镜像来搭建简单的一套本地私有的仓库环境

docker  run -d -p 5050:5050 registry:2

通过这个命令将会自动下载并且启动一个registry的容器。

[root@localhost ~]# docker run -d -p 5000:5000 registry:2Unable to find image 'registry:2' locally2: Pulling from library/registry31e352740f53: Pull complete 7f9bcf943fa5: Pull complete 3c98a1678a82: Pull complete 51f7a5bb21d4: Pull complete 3f044f23c427: Pull complete Digest: sha256:9977826e0d1d0eccc7af97017ae41f2dbe13f2c61e4c886ec28f0fdd8c4078aaStatus: Downloaded newer image for registry:251a114b227dcfa31fc3e7bf1a851a91c4648d15b6a0737ce64a5d6cf288e53a7

在默认情况下,仓库会被创建到/var/lib/registroy目录下,然后我们可以通过-v参数来将镜像文件存放在本地的指定路径下。

docker  run -d -p 5000:5000 -v /opt/data/registory:/var/lib/registory  registry:2

管理私有仓库

首先,我们刚刚创建并启动了一个Registry的仓库,这里我们可以访问对应的5000端口,这里我们来查看已有的Ubuntu镜像,并且使用docker tag 命令对该镜像进行标记。

[root@localhost ~]# docker imagesREPOSITORY   TAG       IMAGE ID       CREATED        SIZEubuntu       v1.0      d2718af1a9f2   6 hours ago    77.8MBnginx        0.1       56d8d0398d46   6 days ago     126MBtest         0.1       05268b440fd9   6 days ago     63.2MBubuntu       latest    5a81c4b8502e   4 weeks ago    77.8MBregistry     2         4bb5ea59f8e0   6 weeks ago    24MBubuntu       18.04     f9a80a55f492   2 months ago   63.2MB[root@localhost ~]# docker tag ubuntu:18.04 192.168.1.202:5000/testu[root@localhost ~]# docker imagesREPOSITORY                 TAG       IMAGE ID       CREATED        SIZEubuntu                     v1.0      d2718af1a9f2   6 hours ago    77.8MBnginx                      0.1       56d8d0398d46   6 days ago     126MBtest                       0.1       05268b440fd9   6 days ago     63.2MBubuntu                     latest    5a81c4b8502e   4 weeks ago    77.8MBregistry                   2         4bb5ea59f8e0   6 weeks ago    24MB192.168.1.202:5000/testu   latest    f9a80a55f492   2 months ago   63.2MBubuntu                     18.04     f9a80a55f492   2 months ago   63.2MB

操作完成之后会看到在镜像库里面就会存在对应的镜像。接下来就是使用docker push 将本地镜像上传。

[root@localhost ~]# docker push 192.168.1.202:5000/testuUsing default tag: latestThe push refers to repository [192.168.1.202:5000/testu]Get ";: http: server gave HTTP response to HTTPS client[root@localhost ~]# 

上传完成之后我们可以使用 curl 查看

 curl 

由于新版本的Docker对安全性的要求较高,所以会要求仓库有SSL/TLS的证书,对内部使用的私有仓库可以关闭对证书的安全性检查。

总结

仓库作为镜像集中存储的地方,在企业使用的过程中,通常会使用到私有仓库来维护一些公司内部的镜像,上面也介绍了如何去搭建一个简单的私有仓库,当然还有很多的开源的私有仓库实现方式,这就需要有兴趣的读者自己去操作了。

标签: #如何访问阿里云服务器站点信息