×

docker hub是干什么的

docker hub是干什么的(如何对docker仓库生成验证)

admin admin 发表于2023-12-04 20:33:38 浏览43 评论0

抢沙发发表评论

各位老铁们好,相信很多人对docker hub是干什么的都不是特别的了解,因此呢,今天就来为大家分享下关于docker hub是干什么的以及如何对docker仓库生成验证的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

本文目录

如何对docker仓库生成验证

Docker私有仓库Registry的搭建验证1. 关于Registry官方的Docker hub是一个用于管理公共镜像的好地方,我们可以在上面找到我们想要的镜像,也可以把我们自己的镜像推送上去。但是,有时候,我们的使用场景需要我们拥有一个私有的镜像仓库用于管理我们自己的镜像。这个可以通过开源软件Registry来达成目的。 Registry在github上有两份代码:老代码库和新代码库。老代码是采用python编写的,存在pull和push的性能问题,出到0.9.1版本之后就标志为deprecated,不再继续开发。从2.0版本开始就到在新代码库进行开发,新代码库是采用go语言编写,修改了镜像id的生成算法、registry上镜像的保存结构,大大优化了pull和push镜像的效率。 官方在Docker hub上提供了registry的镜像(详情),我们可以直接使用该registry镜像来构建一个容器,搭建我们自己的私有仓库服务。Tag为latest的registry镜像是0.9.1版本的,我们直接采用2.1.1版本。 2. Registry的部署运行下面命令获取registry镜像,$ sudo docker pull registry:2.1.1然后启动一个容器,$ sudo docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:2.1.1Registry服务默认会将上传的镜像保存在容器的/var/lib/registry,我们将主机的/opt/registry目录挂载到该目录,即可实现将镜像保存到主机的/opt/registry目录了。 运行docker ps看一下容器情况,lienhua34@lienhua34-Compaq-Presario-CQ35-Notebook-PC ~ $ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESf3766397a458 registry:2.1.1 "/bin/registry /etc/d" 46 seconds ago Up 45 seconds 0.0.0.0:5000-》5000/tcp registry***隐藏网址*** 3. 验证现在我们通过将镜像push到registry来验证一下。我的机器上有个hello-world的镜像,我们要通过docker tag将该镜像标志为要推送到私有仓库,$ sudo docker tag hello-world 127.0.0.1:5000/hello-world然后查看以下本地的镜像,lienhua34@lienhua34-Compaq-Presario-CQ35-Notebook-PC ~ $ sudo docker imagesREPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZEregistry 2.1.1 b91f745cd233 5 days ago 220.1 MBubuntu 14.04 a5a467fddcb8 6 days ago 187.9 MBhello-world latest 975b84d108f1 2 weeks ago 960 B127.0.0.1:5000/hello-world latest 975b84d108f1 2 weeks ago 960 B接下来,我们运行docker push将hello-world镜像push到我们的私有仓库中,lienhua34@lienhua34-Compaq-Presario-CQ35-Notebook-PC ~ $ sudo docker push 127.0.0.1:5000/hello-worldThe push refers to a repository (len: 1)975b84d108f1: Image successfully pushed 3f12c794407e: Image successfully pushed latest: digest: sha256:1c7adb1ac65df0bebb40cd4a84533f787148b102684b74cb27a1982967008e4b size: 2744***隐藏网址*** 现在我们可以先将我们本地的127.0.0.1:5000/hello-world和hello-world先删除掉,$ sudo docker rmi hello-world$ sudo docker rmi 127.0.0.1:5000/hello-world然后使用docker pull从我们的私有仓库中获取hello-world镜像,lienhua34@lienhua34-Compaq-Presario-CQ35-Notebook-PC ~ $ sudo docker pull 127.0.0.1:5000/hello-worldUsing default tag: latestlatest: Pulling from hello-worldb901d36b6f2f: Pull complete 0a6ba66e537a: Pull complete Digest: sha256:1c7adb1ac65df0bebb40cd4a84533f787148b102684b74cb27a1982967008e4bStatus: Downloaded newer image for 127.0.0.1:5000/hello-world:latestlienhua34@lienhua34-Compaq-Presario-CQ35-Notebook-PC ~ $ sudo docker imagesREPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZEregistry 2.1.1 b91f745cd233 5 days ago 220.1 MBubuntu 14.04 a5a467fddcb8 6 days ago 187.9 MB127.0.0.1:5000/hello-world latest 0a6ba66e537a 2 weeks ago 960 B4. 可能问题可能会出现无法push镜像到私有仓库的问题。这是因为我们启动的registry服务不是安全可信赖的。这是我们需要修改docker的配置文件/etc/default/docker,添加下面的内容, DOCKER_OPTS="--insecure-registry xxx.xxx.xxx.xxx:5000"然后重启docker后台进程,$ sudo service docker restart这是再push即可。

docker 的 hub CE EE有什么区别

  • Docker Engine改为Docker CE(社区版) 它包含了CLI客户端、后台进程/服务以及API。用户像以前以同样的方式获取。

  • Docker Data Center改为Docker EE(企业版) 在Docker三个定价层增加了额外的支付产品和支持

关于本次docker hub是干什么的和如何对docker仓库生成验证的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。