docker使用手册(5)—— 仓库构建(下)


目的

CI / CD在目前各类互联网企业中已然成为推动软件开发行为的重要基础设施服务。同样的对于测试团队来说更是有着举足轻重的重大意义,无论是测试左移的具象化提现亦或是持续测试的顺利开展,掌握这一技能已是广大软件测试工程师的必修课。分享这一技术笔记也是希望除了自己团队以外的广大测试同学们可以有体系的学习这一技能。




接上回

我们已经创建了自己的公共仓库和阿里云的私有仓库,接下来将会带大家继续创建更多的私有仓库。




私有仓库


Registry

我们之前使用的docker hub其实也是docker registry的一种,它是docker自带的集中存储与分发镜像服务。他也可以设置为公有和私有两种。当我们的测试环境受制于测试条件或网络条件的时候,就可以搭建公司内部的私有仓库,依托于内网的网络环境实现服务快速部署和切换的目的。


由于是自带的,我们可以直接使用docker run命令进行启动

docker run -d --name registry -p 5000:5000 registry

不指定仓库位置的话,默认会创建在/var/lib/registry下,如果需要指定仓库创建的位置,使用参数v进行创建,创建规则:-v 指定路径:默认路径

docker run -d --name registry -p 5000:5000 -v /opt/registry:/var/lib/registry registry



如果是第一次创建,docker将会自动拉取registry
在这里插入图片描述

已经可以看见创建完的仓库了
在这里插入图片描述

现在我们需要将镜像推送到私有仓库中,但如果需要让内网中同一网段的其他终端都可以往此仓库中进行推送的话就要做以下操作:

首先,确认自己的服务器内网IP(安装registry的那台),因为我们之前启动的时候已经将服务端口印射出来了,所以其他同网段内网终端在推送镜像时将推送地址(IP+端口)设置为服务器的即可。

另外docker不允许任何非https协议方式的镜像推送方式,而我们又是内网,所以要通过修改docker的配置来规避这一限制。


编辑docker的demon.json文件

vim /etc/docker/daemon.json


在改文件内添加如下内容:

"insecure-registries": ["服务器IP:端口号"]

这里有几个注意点,服务器与端口号均为安装了registry的那台的IP和服务端口,如192.168.10.55:5000(之前启动registry的时候印射的5000),另外如果之前添加过第三方的容器镜像加速服务的,需要注意添加的格式,文本内容为json格式,所以加在前面的话别忘记在结尾添加英文逗号分隔开,加后面的话记得在前一个键值对后添加逗号分隔。



添加完后如下图,顺序随意:
在这里插入图片描述

做完以上操作之后就可以从任意一台装有docker的内网同网段终端中进行镜像的推送了。



接下来就开始对镜像进行打tag操作
docker tag mysql:5.6 192.168.10.55:5000/mysql:v1


进行镜像的推送操作
docker push 192.168.10.55:5000/mysql:v1

在这里插入图片描述




使用curl命令来进行结果查看
curl 服务器IP:端口/v2/_catalog

在这里插入图片描述
显示对应的镜像名即为正确



在其他同网段终端上输入以下命令即可进行镜像的拉取
docker pull 192.168.10.55:5000/mysql:v1

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-03 18:22
投了几百份简历,专业和方向完全对口,都已读不回。尝试改了一下学校,果然有奇效。
steelhead:这不是很正常嘛,BOSS好的是即便是你学院本可能都会和聊几句,牛客上学院本机会很少了
点赞 评论 收藏
分享
06-13 17:33
门头沟学院 Java
顺序不记了,大致顺序是这样的,有的相同知识点写分开了1.基本数据类型2.基本数据类型和包装类型的区别3.==和equals区别4.ArrayList与LinkedList区别5.hashmap底层原理,put操作时会发生什么6.说出几种树型数据结构7.B树和B+树区别8.jvm加载类机制9.线程池核心参数10.创建线程池的几种方式11.callable与runnable区别12.线程池怎么回收线程13.redis三剑客14.布隆过滤器原理,不要背八股,说说真正使用时遇到了问题没有(我说没有,不知道该怎么回答了)15.堆的内存结构16.自己在写项目时有没有遇见过oom,如何处理,不要背八股,根据真实经验,我说不会17.redis死锁怎么办,watchdog机制如何发现是否锁过期18.如何避免redis红锁19.一个表性别与年龄如何加索引20.自己的项目的QPS怎么测的,有没有真正遇到大数量表21.说一说泛型22.springboot自动装配原理23.springmvc与springboot区别24.aop使用过嘛?动态代理与静态代理区别25.spring循环依赖怎么解决26.你说用过es,es如何分片,怎么存的数据,1000万条数据怎么写入库中27.你说用limit,那么在数据量大之后,如何优化28.rabbitmq如何批次发送,批量读取,答了延迟队列和线程池,都不对29.计网知不知道smtp协议,不知道写了对不对,完全听懵了30.springcloud知道嘛?只是了解反问1.做什么的?短信服务,信息量能到千万级2.对我的建议,基础不错,但是不要只背八股,多去实际开发中理解。面试官人不错,虽然没露脸,但是中间会引导我回答问题,不会的也只是说对我要求没那么高。面完问我在济宁生活有没有困难,最快什么时候到,让人事给我聊薪资了。下午人事打电话,问我27届的会不会跑路,还在想办法如何使我不跑路,不想扣我薪资等。之后我再联系吧,还挺想去的😭,我真不跑路哥😢附一张河科大幽默大专图,科大就是大专罢了
查看30道真题和解析
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务