在Ubuntu17.10的Docker上搭建本地私有仓库的详细步骤

环境准备

环境:两个装有DockerUbuntu虚拟机

虚拟机一:192.168.231.131 用户开发机

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

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

请参考:Ubuntu17.10上安装Docker

https://blog.csdn.net/michaelehome/article/details/79874787

搭建私有仓库

首先在133机器上下载registry镜像,并且指定本地一个目录/opt/data/registry挂载到容器的/tmp/registry下,如下:


1

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



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

输入http://localhost:5000/v2/_catalog,查看现在的仓库是空的:

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

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


1

$ sudo docker pull busybox

 

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


1

$ sudo docker tag busybox 192.168.231.133:5000/busybox

 

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


1

$ sudo docker push 192.168.231.133:5000/busybox

 

出现上述提示,表示本地的仓库默认使用的是https进行上传,如果是通过非https连接时,就会出现以上的提示。

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

修改docker启动配置文件(此处是修改131机器的配置)Ubuntu17.10下配置文件位置为:/lib/systemd/system/docker.service

在其中增加--insecure-registry192.168.231.133:5000如下所示:


1

$ sudo vi /lib/systemd/system/docker.service

修改完之后,重启Docker服务


1

$ sudo service docker stop

2

$ sudo service docker start

 

可以看到重启完之后,我们再次运行推送命令,本地镜像顺利的推送到了本地仓库上

1

$ sudo docker push 192.168.231.133:5000/busybox

查看本地仓库:busybox已经push到本地仓库中了。

接下来我们删除133上面的本地镜像

 

1

$ sudo docker images

2

$ sudo docker rmi 192.168.231.133:5000/busybox:latest

3

$ sudo docker rmi busybox:latest

 

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


1

$ sudo docker pull 192.168.231.133:5000/busybox

 


猜你喜欢

转载自blog.csdn.net/michaelehome/article/details/79874911