Docker本地私有仓库如何搭建

发布时间:2022-05-26 15:08:43 作者:iii
来源:亿速云 阅读:184

今天小编给大家分享一下Docker本地私有仓库如何搭建的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

和mavan的管理一样,dockers不仅提供了一个中央仓库,同时也允许我们使用registry搭建本地私有仓库。使用私有仓库有许多优点:

一、节省网络带宽,针对于每个镜像不用每个人都去中央仓库上面去下载,只需要从私有仓库中下载即可;

二、提供镜像资源利用,针对于公司内部使用的镜像,推送到本地的私有仓库中,以供公司内部相关人员使用。

环境准备

环境:两个装有docker的ubuntu虚拟机

虚拟机一:192.168.112.132 用户开发机

虚拟机二:192.168.112.136 用作私有仓库

此处我们准备了两个虚拟机,分别都安装了docker,其中132机器用作开发机,136机器用作registry私有仓库机器。环境准备好之后接下来我们就开始搭建私有镜像仓库。

搭建私有仓库

首先在136机器上下载registry镜像

$ sudo docker pull registry

下载完之后我们通过该镜像启动一个容器

$ sudo docker run -d -p 5000:5000 registry

 默认情况下,会将仓库存放于容器的/tmp/registry目录下,这样如果容器被删除,则存放于容器中的镜像也会丢失,所以我们一般情况下会指定本地一个目录挂载到容器的/tmp/registry下,如下:

$ sudo docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry

Docker本地私有仓库如何搭建

可以看到我们启动了一个容器,地址为:192.168.112.136:5000

接下来我们就要操作把一个本地镜像push到私有仓库中

在132机器下pull一个比较小的镜像来测试(此处使用的是busybox)

$ sudo docker pull busybox

Docker本地私有仓库如何搭建

接下来修改一下该镜像的tag

$ sudo docker tag busybox 192.168.112.136:5000/busybox

Docker本地私有仓库如何搭建

接下来把打了tag的镜像上传到私服

$ sudo docker push 192.168.112.136:5000/busybox

Docker本地私有仓库如何搭建

可以看到push失败,具体结果如下:

复制代码 代码如下:


2015/01/05 11:01:17 error: invalid registry endpoint : get : dial tcp 192.168.112.136:5000: connection refused. if this private registry supports only http or https with an unknown ca certificate, please add `--insecure-registry 192.168.112.136:5000` to the daemon's arguments. in the case of https, if you have access to the registry's ca certificate, no need for the flag; simply place the ca certificate at /etc/docker/certs.d/192.168.112.136:5000/ca.crt

因为docker从1.3.x之后默认docker registry使用的是https,所以当用docker pull命令下载远程镜像时,如果远程docker registry是非https的时候就会报上面的错误。

为了解决这个问题需要在启动docker server时增加启动参数

修改docker启动配置文件(此处是修改132机器的配置)ubuntu下配置文件地址为:/etc/init/docker.conf

在其中增加--insecure-registry 192.168.112.136:5000如下所示:

$ sudo vi /etc/init/docker.conf

Docker本地私有仓库如何搭建

修改完之后,重启docker服务

$ sudo restart docker

Docker本地私有仓库如何搭建

重启完之后我们再次运行推送命令,把本地镜像推送到私有服务器

$ sudo docker push 192.168.112.136:5000/busybox

Docker本地私有仓库如何搭建

可以看到镜像已经push到私有仓库中去了,接下来我们删除本地镜像,然后从私有仓库中pull下来该镜像

Docker本地私有仓库如何搭建

删除了本地镜像,然后我们从私有镜像仓库中下载该镜像

$ sudo docker pull 192.168.112.136:5000/busybox

Docker本地私有仓库如何搭建

以上就是“Docker本地私有仓库如何搭建”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。

推荐阅读:
  1. docker私有仓库的搭建
  2. docker私有仓库搭建

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

docker

上一篇:Windows下如何运用Docker部署Node.js开发环境

下一篇:Docker如何定制容器镜像

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》