docker register 私有仓库部署 - http模式
原创内容,转载请注明出处
前言
有些朋友看完了我的kubernetes部署文章之后,咨询关于私有仓库的部署。
私有仓库的部署可以分为三个层次:
docker register 直接使用,IP + 5000 端口号,以 http 的形式访问
docker register 使用 haproxy 转发域名的方式,以 http 的形式访问
docker register 使用 haproxy 转发域名的方式,加上自签或者购买的ca证书,以 https 的形式访问
其中:还可以配置是否需要使用用户名、密码
来登陆访问私有仓库。
目标
本篇章先简单介绍一下 第一种方式
,后续有时间继续深入将另外两种方式逐步编写文章讲述。
前置条件
Centos 7 系统已安装好了 docker 服务。
为了避免影响实验,可以将selinux以及firewall都关闭了。
目标:下载register镜像以及推送kubernetes的pmd镜像
要完成这个目标,首先需要安装启动好register
首先拉取register的镜像
首先可以查阅一下docker hub register的介绍
可以看到现在register 2.0的版本还是比较新的。那么,我们就采用register 2.0来进行实验处理。
[root@server81 registry]# docker search registry
搜索到了这个registry的镜像,表示了官方以及加星,那么下面就下载一下吧。
[root@server81 registry]# docker pull docker.io/registry
查阅一下docker hub register的介绍中关于docker启动的介绍
好了,看到这里大伙应该也知道怎么启动registry了吧。
那么下面我首先给registry的镜像打个tag,避免后续只知道这是最新的版本。
[root@server81 registry]# docker images | grep registry docker.io/registry latest 2e2f252f3c88 2 months ago 33.3 MB[root@server81 registry]# [root@server81 registry]# docker tag docker.io/registry:latest registry:2[root@server81 registry]# [root@server81 registry]# docker images | grep registry docker.io/registry latest 2e2f252f3c88 2 months ago 33.3 MBregistry 2 2e2f252f3c88 2 months ago 33.3 MB[root@server81 registry]#
下面就是展示一下我编写好的启动脚本了。
register服务的docker启动脚本 restartRegistry.sh
[root@server81 registry]# vim restartRegistry.sh docker stop registry docker rm registry docker run -d -p 5000:5000 --name=registry --restart=always \ --privileged=true \ --log-driver=none \ -v /root/registry/registrydata:/var/lib/registry \ registry:2
执行启动一下:
[root@server81 registry]# ./restartRegistry.sh registry registry82a294241ff7ac05fd8084b1a2c380633bd570780fca5e766e5f3597e988507f [root@server81 registry]# [root@server81 registry]# docker ps | grep registry82a294241ff7 registry:2 "/entrypoint.sh /e..." 13 seconds ago Up 13 seconds 0.0.0.0:5000->5000/tcp registry [root@server81 registry]#
那么现在是否可以推送镜像了呢?
我们来测试一下推送镜像
首先需要给需要推送的镜像进行tag(打标签),格式: 服务器IP:5000/镜像名称:版本号
其中 服务器IP
是可以改为 域名
的,而 5000
则是 register 对外提供服务的端口号。
那么这里我就用kubernetes的pmd镜像来测试一下(随便一个镜像都可以,不用在意。)
[root@server81 registry]# docker tag k8s.gcr.io/pause-amd64:3.1 172.16.5.181:5000/pause-amd64:3.1[root@server81 registry]# [root@server81 registry]# docker push 172.16.5.181:5000/pause-amd64:3.1The push refers to a repository [172.16.5.181:5000/pause-amd64] Get https://172.16.5.181:5000/v1/_ping: http: server gave HTTP response to HTTPS client [root@server81 registry]#
可以发现,docker push镜像到仓库的时候,报错了:Get https://172.16.5.181:5000/v1/_ping: http: server gave HTTP response to HTTPS client
这是因为http的仓库如果本地的docker没有配置非安全的指向是无法直接推送的。那么下来,我们来看看如何配置非安装访问docker仓库。
配置docker服务访问非安全docker仓库
## 在/etc/docker目录下,添加一个daemon.json文件,写上非安全访问的仓库IP:端口号[root@server81 docker]# cat daemon.json{"insecure-registries":["172.16.5.181:5000"]} [root@server81 docker]# [root@server81 docker]# pwd/etc/docker [root@server81 docker]# ## 重启docker服务[root@server81 docker]# service docker restartRedirecting to /bin/systemctl restart docker.service [root@server81 docker]#
再次推送测试一下
测试推送镜像,成功。
[root@server81 docker]# docker push 172.16.5.181:5000/pause-amd64:3.1The push refers to a repository [172.16.5.181:5000/pause-amd64]e17133b79956: Layer already exists 3.1: digest: sha256:fcaff905397ba63fd376d0c3019f1f1cb6e7506131389edbcb3d22719f1ae54d size: 527[root@server81 docker]#
测试拉取镜像,成功。
[root@server81 docker]# docker pull 172.16.5.181:5000/pause-amd64:3.1Trying to pull repository 172.16.5.181:5000/pause-amd64 ... 3.1: Pulling from 172.16.5.181:5000/pause-amd64 Digest: sha256:fcaff905397ba63fd376d0c3019f1f1cb6e7506131389edbcb3d22719f1ae54d Status: Image is up to date for 172.16.5.181:5000/pause-amd64:3.1[root@server81 docker]#
到了这里,基本上私有仓库已经部署好了。
那么,如何查看仓库里面已经有了哪些镜像呢?
查看仓库里面的镜像
[root@server81 registry]# curl http://localhost:5000/v2/_catalog{"repositories":["calico/cni","calico/kube-controllers","calico/node","coredns","networkbox","pause-amd64","traefik"]} [root@server81 registry]#
使用curl的方式,就可以看到仓库里面,我已经推送了哪些镜像了。
好了,有了这个第一层次的部署方法,小伙伴就可以继续愉快地执行kubernetes的部署了,后续有时间,我会继续后面两个层次的部署说明的。
作者:DevOps海洋的渔夫
链接:https://www.jianshu.com/p/6fc372d88275
共同学习,写下你的评论
评论加载中...
作者其他优质文章