kubernetes实战篇之nexus oss服务器部署及基于nexus的docker镜像仓库搭建 (2)

把里面对应的内容修改为如下配置:

<Set><Property/>/ssl/keystore.jks</Set> <Set>nexus3</Set> <Set>nexus3</Set> <Set><Property/>/ssl/keystore.jks</Set> <Set>nexus3</Set>

注意以上内容全是修改,而不是新增,修改的时候找到相同key的修改即可.

重启nexus服务器

可以通过上一节介绍的powershell命令Restart-Service "nexus service来重启服务,以使配置生效.

需要注意的是,执行以上命令需要以管理员身份启动powershell.除了使用命令以外,也可以进入到服务管理里面找到名为nexus service的服务,然后手动重启它.

执行完以上配置以后,我们再打开浏览器访问https://..localhost:8443或者:8081

注意,重启服务以后,如果以上内容不能马上响应,可以等一会时间再观察看看.

配置客户端信任ca证书

我的docker服务器安装在192.168.122.65上面.下面介绍centos和ubuntu下如何添加证书信任

centos下添加证书信任 #生成cert文件 [root@localhost ~]# keytool -printcert -sslserver 192.168.124.43:8443 -rfc >nexus.crt [root@localhost ~]# yum install ca-certificates [root@localhost ~]# update-ca-trust force-enable # 还可以放在/etc/docker/certs.d/192.168.124.43:8443目录下 [root@localhost ~]# mv nexus.crt /etc/pki/ca-trust/source/anchors/nexus.crt [root@localhost ~]# update-ca-trust [root@localhost ~]# service docker restart [root@localhost ~]# docker login -u admin -p admin123 192.168.124.43:8002 Login Succeeded ubuntu下添加信任证书

对于Ubuntu系统来说certificate的存放路径是 /usr/local/share/ca-certificates

### 生成cert文件 [root@localhost ~]# keytool -printcert -sslserver 192.168.124.43:8443 -rfc >nexus.crt # 还可以放在/etc/docker/certs.d/192.168.124.43:8443目录下 [root@localhost ~]# mv nexus.crt /usr/local/share/ca-certificates/nexus.crt [root@localhost ~]# update-ca-certificates [root@localhost ~]# service docker restart [root@localhost ~]# docker login -u admin -p admin123 192.168.124.43:8002

在redhat系统中,如果报Unkonw authority错误,修改/etc/pki/tls/openssl.cnf。在其中的[ v3_ca]部分,添加subjectAltName选项

[ v3_ca ] subjectAltName = IP:192.168.124.43

然后再执行以下命令

[root@localhost ~]# service docker restart [root@localhost ~]# docker login -u admin -p admin123 192.168.124.43:8002 Login Succeeded

注,网上有不少介绍使用http访问的方法,但是却没有执行成功,大家可以尝试一下

[root@localhost centos]# vi /etc/docker/daemon.json { "insecure-registries": [ "192.168.124.43:8003" ], "disable-legacy-registry": true 上传镜像到docker仓库

为镜像打标签

docker tag 镜像名:tag名 192.168.124.43:8002/镜像名:tag名

我里,我没有自己创建镜像,而是随便找了一个已以存在的镜像,然后打上标签,如下

192.168.124.43:8002/rancher/nginx-ingress-controller-defaultbackend

通过执行docker push命令把它推到远程私服仓库

[root@localhost ~]# docker push 192.168.124.43:8002/rancher/nginx-ingress-controller-defaultbackend The push refers to a repository [192.168.124.43:8002/rancher/nginx-ingress-controller-defaultbackend] d62604d5d244: Pushed 1.4: digest: sha256:f63ced70bc85ca753e715c93b0adc3115510a6575129102383236c30112379e5 size: 528 [root@localhost ~]#

注意,推送前是需要先登陆的,登陆的方法上面也介绍过了

我们登陆nexus web管理界面,点击左侧Broswe,可以看到已经有内容push进来了

img

我们执行docker search命令

[root@localhost ~]# docker search 192.168.124.43:8002/rancher/nginx-ingress-controller-defaultbackend NAME DESCRIPTION STARS OFFICIAL AUTOMATED 192.168.124.43:8002/rancher/nginx-ingress-controller-defaultbackend:1.4 0 [root@localhost ~]#

可以看到能够从远程服务器上搜索到它.

拉取上传的镜像

实际环境中,生成docker镜像和服务器和使用docker镜像的服务器往往不是同一台服务器.这里我们使用另一个服务器192.168.124.59来拉取刚刚上传的镜像

需要注意的是,这里基于的前提是用于拉取镜像的服务器已经安装了docker,docker的安装可以参考其它章节或者网络上的教程

执行keytool -printcert -sslserver 192.168.59.1:8443 -rfc >nexus.crt

执行yum install ca-certificates来安装

-紧接着执行update-ca-trust force-enable

执行mv nexus.crt /etc/pki/ca-trust/source/anchors/nexus.crt

执行update-ca-trust

service docker restart

执行login docker login -u admin -p admin123 192.168.124.43:8002

[root@k8s-master ~]# docker login -u admin -p admin123 192.168.124.43:8002 WARNING! Using --password via the CLI is insecure. Use --password-stdin. WARNING! Your password will be stored unencrypted in /root/.docker/config.json. Configure a credential helper to remove this warning. See https://docs.docker.com/engine/reference/commandline/login/#credentials-store Login Succeeded

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wspgyw.html