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
当我们执行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"
2)、修改 /lib/systemd/system/docker.service,以下红框中的内容,第一行为新增,第二行为修改:
EnvironmentFile=-/etc/default/docker
ExecStart=/usr/bin/dockerd -H fd:// $DOCKER_OPTS
2、centos的操作
只需修改 /usr/lib/systemd/system/docker.service,以下红框中的内容
3、执行以下命令,重新加载配置信息再重启docker服务:
[email protected]:~# systemctl daemon-reload
[email protected]:~# service docker restart
四、推送镜像到私有仓库测试
1、在176服务器上pull下一个tomcat镜像,并执行docker images查看镜像信息,如下图
2、给这个镜像添加一个带有私有仓库IP的TAG,这样后面才能成功推送到私有仓库,这个镜像的ID是:3639174793ba
docker images可以查询到我们所添加tag后的镜像,REPOSITORY是:192.168.0.160:5000/tomcat
3、执行以下命令进行推送
[email protected]:~# docker push 192.168.0.160:5000/tomcat
4、此时我们可以查看私有库中所有的镜像,此时返回的不是一个空的json文件,而是有tomcat的对应值的文件
[email protected]:~# curl -X GET http://192.168.0.160:5000/v2/_catalog
五、验证我们上传的镜像是否可以成功部署
1、删除测试服务器上刚刚pull下的本地镜像
[email protected]:~# docker rmi 192.168.0.160:5000/tomcat tomcat
2、部署我们私有库里的镜像,此时因我的端口映射错误,这里只是显示下pull的具体过程
删除该容器重新部署得到如下
3、在浏览器上测试我们docker部署的tomcat是否成功
六、开启私有仓库图形管理界面
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
2、在浏览器上通过ip访问我们的镜像库,首页如下,进入后可以看到我们刚刚push上来的tomcat镜像
此时整个部署和测试过程就此结束