在Rancher2中部署Docker-Registry仓库服务
1.docker登陆认证
[root@master ~]# vim /etc/docker/daemon.json { "insecure-registries": ["10.0.1.99:5000"] }
进行登录认证才能进行后续的操作,私有镜像仓库登录认证的语法和格式:docker login <nexus-hostname>:<repository-port>
[root@master ~]# docker login 10.0.1.99:5000 Username(admin): admin Password: login Succeeded [root@master ~]#
登录时,需要提供用户名和密码。认证的信息会被保存在~/.docker/config.json文件,在后续与私有镜像仓库交互时就可以被重用,而不需要每次都进行登录认证。
[root@master ~]# cat ./.docker/config.json { "auths": { "10.0.1.99:5000": { "auth": "YWRtaW46aGFpcGFpMTIzQA==" }, "134.205.136.89:5000": { "auth": "YWRtaW46aGFpcGFpMTIzQA==" } }, "HttpHeaders": { "User-Agent": "Docker-Client/18.09.6 (linux)" } }
2.Kubernetes从私有镜像拉取镜像
在使用私有镜像拉取镜像时,需要为私有镜像仓库创建一个镜像仓库的密钥,并在创建容器中进行引用。创建镜像仓库的语法和格式:kubectl create secret docker–registry <regsecret-name> —docker–server=<your–registry–server> —docker–username=<your–name> —docker–password=<your–pword> —docker–email=<your–email>。
<regsecret-name>:所创建的私有镜像仓库密钥的名称;
<your-registry-server>:为镜像仓库的服务器地址;
<your-name>:登录镜像仓库的用户名;
<your-pword>:登录镜像仓库的密码;
<your-email>:用户的邮箱地址。
注意secret的名称空间,在哪个名称空间部署应用就把secret建在哪个名称空间下
//--docker-server=10.0.1.99:5000 值不要加http:// [root@master ~]# kubectl create secret docker-registry mysecret --docker-server=10.0.1.99:5000 --docker-username=admin --docker-password=123456 --docker-email=yiyo@126.com -n test
创建deployment
===================================
=========================