linux系统docker私有仓库搭建以及开启图形管理界面(ubuntu和centos同样)

一、准备两台Ubuntu测试服务器(先将docker服务安装上,这边就不做操作了)

配置固定IP

私有仓库IP:192.168.0.160  测试的docker服务器IP:192.168.0.176

二、私有库服务器的操作部署

1、更新包库

[email protected]:~# apt-get update

2、执行命令

docker run --name docker-registry -d -p 5000:5000 -v /usr/local/work/registry:/var/lib/registry registry来创建私有库

当然我们要先创建库目录

[email protected]:~# mkdir /usr/local/work/registry

linux系统docker私有仓库搭建以及开启图形管理界面(ubuntu和centos同样)

当我们执行docker ps 看到我们的进程在运行时我们就部署完了我们的库服务

同时我们可以做执行curl -X GET http://127.0.0.1:5000/v2/_catalog来查看我们的库情况

默认没镜像文件时返回的是一个空的json文件

{"repositories":[]}

至此,私有仓库已经创建和启动完毕了

三、测试服务器上的操作部署

正常情况下,应用服务器推送镜像到仓库用的是https,此处我们通过命令行来测试推送用的是普通的http,所以需要修改docker的启动参数,使之允许以http协议工作;

1、ubuntu的操作

1)、修改/etc/default/docker文件,加入以下红框内容: 

DOCKER_OPTS="--insecure-registry=192.168.0.168:5000"

linux系统docker私有仓库搭建以及开启图形管理界面(ubuntu和centos同样)

2)、修改 /lib/systemd/system/docker.service,以下红框中的内容,第一行为新增,第二行为修改:

EnvironmentFile=-/etc/default/docker
ExecStart=/usr/bin/dockerd -H fd:// $DOCKER_OPTS

linux系统docker私有仓库搭建以及开启图形管理界面(ubuntu和centos同样)

2、centos的操作

只需修改 /usr/lib/systemd/system/docker.service,以下红框中的内容

linux系统docker私有仓库搭建以及开启图形管理界面(ubuntu和centos同样)

3、执行以下命令,重新加载配置信息再重启docker服务:

[email protected]:~# systemctl daemon-reload
[email protected]:~# service docker restart
四、推送镜像到私有仓库测试

1、在176服务器上pull下一个tomcat镜像,并执行docker images查看镜像信息,如下图

linux系统docker私有仓库搭建以及开启图形管理界面(ubuntu和centos同样)

2、给这个镜像添加一个带有私有仓库IP的TAG,这样后面才能成功推送到私有仓库,这个镜像的ID是:3639174793ba

linux系统docker私有仓库搭建以及开启图形管理界面(ubuntu和centos同样)

docker images可以查询到我们所添加tag后的镜像,REPOSITORY是:192.168.0.160:5000/tomcat

3、执行以下命令进行推送

[email protected]:~# docker push 192.168.0.160:5000/tomcat

linux系统docker私有仓库搭建以及开启图形管理界面(ubuntu和centos同样)

4、此时我们可以查看私有库中所有的镜像,此时返回的不是一个空的json文件,而是有tomcat的对应值的文件

[email protected]:~# curl -X GET http://192.168.0.160:5000/v2/_catalog

linux系统docker私有仓库搭建以及开启图形管理界面(ubuntu和centos同样)

五、验证我们上传的镜像是否可以成功部署

1、删除测试服务器上刚刚pull下的本地镜像

[email protected]:~# docker rmi 192.168.0.160:5000/tomcat tomcat

linux系统docker私有仓库搭建以及开启图形管理界面(ubuntu和centos同样)

2、部署我们私有库里的镜像,此时因我的端口映射错误,这里只是显示下pull的具体过程

linux系统docker私有仓库搭建以及开启图形管理界面(ubuntu和centos同样)

删除该容器重新部署得到如下

linux系统docker私有仓库搭建以及开启图形管理界面(ubuntu和centos同样)

3、在浏览器上测试我们docker部署的tomcat是否成功

linux系统docker私有仓库搭建以及开启图形管理界面(ubuntu和centos同样)

六、开启私有仓库图形管理界面

1、启动docker管理界面镜像

docker run -d -e ENV_DOCKER_REGISTRY_HOST=192.168.0.160 -e ENV_DOCKER_REGISTRY_PORT=5000 -p 8081:80 konradkleine/docker-registry-frontend:v2

linux系统docker私有仓库搭建以及开启图形管理界面(ubuntu和centos同样)

2、在浏览器上通过ip访问我们的镜像库,首页如下,进入后可以看到我们刚刚push上来的tomcat镜像

linux系统docker私有仓库搭建以及开启图形管理界面(ubuntu和centos同样)

linux系统docker私有仓库搭建以及开启图形管理界面(ubuntu和centos同样)

此时整个部署和测试过程就此结束