nexus启动后无法访问_K8S|Docker私有镜像库建立之Nexus[荐]

本文介绍了如何使用Sonatype Nexus Repository Manager搭建Docker私有镜像仓库。从启动Nexus容器,查看日志,到设置仓库、权限和用户,再到启用Docker认证,详细阐述了整个过程。最后,展示了成功推送镜像的步骤。
摘要由CSDN通过智能技术生成

5af9d8f93a4ec4683e2b3debc6c51a20.gif

上节演示了通过Docker官方提供的registry搭建私有镜像仓库.正常小公司,内网使用的话,前面架个nginx,配上https的证书就可以愉快的玩耍了.

但在稍微正规一些的企业中,考虑到安全,扩展,统一认证,权限管理等各方面的因素,还是需要一些更加专业的三方软件,比如:harbor,当然今天的主角:Sonatpye Nexus Repository Manager.

Nexus是一个专业的软件源管理工具,支持:Maven,Yum,PyPI,Apt,Helm,Npm等多种类型,而对Docker的支持是从3.X版本开始的.

运行一个Nexus容器

docker run -dt \--name nexus3 \--restart=always \-p 8081:8081 \-p 8082:8082 \-v $PWD/nexus:/nexus-data \sonatype/nexus3Unable to find image 'sonatype/nexus3:latest' locallylatest: Pulling from sonatype/nexus30bb54aa5e977: Pull complete941e1e2b31a8: Pull completefb7cd7cf24c9: Pull complete4e63afcbf773: Pull completeDigest: sha256:81d182285d279081e80e74dbd13cb544fdf4255efadd61321436a577f56b87adStatus: Downloaded newer image for sonatype/nexus3:latestb014375f3b52d746fdf20b76b17632297e07cdee55b7faa00e6d207c498e150b

经过上一章的学习,上面的命令应该都熟悉了吧?

查看log

docker logs -f --tail 10 nexus32020-04-16 12:28:19,224+0000 INFO  [jetty-main-1] *SYSTEM org.sonatype.nexus.repository.httpbridge.internal.ViewServlet - Initialized2020-04-16 12:28:19,287+0000 INFO  [jetty-main-1] *SYSTEM org.eclipse.jetty.server.handler.ContextHandler - Started o.e.j.w.WebAppContext@4839264e{Sonatype Nexus,/,file:///opt/sonatype/nexus/public/,AVAILABLE}2020-04-16 12:28:19,363+0000 INFO  [jetty-main-1] *SYSTEM org.eclipse.jetty.server.AbstractConnector - Started ServerConnector@1654397e{HTTP/1.1,[http/1.1]}{0.0.0.0:8081}2020-04-16 12:28:19,364+0000 INFO  [jetty-main-1] *SYSTEM org.eclipse.jetty.server.Server - Started @52493ms2020-04-16 12:28:19,366+0000 INFO  [jetty-main-1] *SYSTEM org.sonatype.nexus.bootstrap.jetty.JettyServer --------------------------------------------------Started Sonatype Nexus OSS 3.22.0-02-------------------------------------------------

到上面就启动成功了.

浏览器打开:

http://0.0.0.0:8081/

a992feb434304ad7a5d3fd4be3ec272a.png

获取密码

点击右上角"Sign in"

ab7a100fd9bcce75cde2696e0cddcd6e.png

提示密码位置在

/nexus-data/admin.password也就是当时运行命令目录下的nexus/admin.password

登陆成功后,会让设置新密码,按提示操作即可.

创建仓库

依次点击:设置图标->Repositories->Create repository

c4197d0afc6666ea84835d0e006c21f7.png

点击 docker(Hosted)

89d6b1cf57c8746278a5018232798201.png

设置一个好记的名字,保存(Create repository)即可

注意:选择了HTTP并将端口设置成了8082

权限设置

添加用户规则,菜单Security->Roles->Create role 

a013547b46b652849e966fa48dd052db.png

设置名字和描述,并在Privlleges选项搜索 docker把`nx-repository-admin-docker-docker_hosted-*`移动到右边的框中

fd93e4804b2aa12e1d6008623d628981.png

此处为了方便,选择了管理权限,实际使用过程中,最好严格控制上传和下载权限

`Create role`保存

添加用户,菜单Security->Users->Create local user 

9a5cb400140c64cdbbd595b385106a44.png

依次设置,id,name,email,password这些信息,在Roles选项中选中docker_manager并加到右边

85a2aac51e851278a6933f4eef8e2183.png

`Create local user`保存

启用Docker认证

菜单Security->Realms将Docker Bearer Token Realm移到右边的框中保存

c50efe911a7eeb169702108dc3c2ffd3.png

接下来,演示一下,昨天推送镜像的过程

#查看镜像docker image lsREPOSITORY              TAG                 IMAGE ID            CREATED             SIZEsonatype/nexus3         latest              640570fd0ff5        2 weeks ago         642MBalpine                  latest              a187dde48cd2        3 weeks ago         5.6MB127.0.0.1:5000/alpine   latest              a187dde48cd2        3 weeks ago         5.6MBregistry                latest              708bc6af7e5e        2 months ago        25.8MB#打tagdocker tag alpine 192.168.199.109:8082/alpine#推送docker push docker tag alpine 192.168.199.109:8082/alpineThe push refers to repository [192.168.199.109:8082/repository/docker_hosted/alpine]Get https://192.168.199.109:8082/v2/: http: server gave HTTP response to HTTPS client

提示需要https认证,按昨天说的,Docker配置里加一下

047f19d5c7e9226fb20a45cbb8d5b2ce.png

对了,启用的认证,还需要登陆一下

docker login 192.168.199.109:8082Username: dockerPassword:Login Succeeded

再次推送

docker push 192.168.199.109:8082/alpineThe push refers to repository [192.168.199.109:8082/alpine]beee9f30bc1f: Pushedlatest: digest: sha256:cb8a924afdf0229ef7515d9e5b3024e23b3eb03ddbba287f4a19c6ac90b8d221 size: 528

推送成功!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值