树莓派4B使用docker安装nexus3

原创
2020/08/03 11:55
阅读数 1.7K

说明

Nexus Repository OSS是一款通用的软件包仓库管理(Universal Repository Manager)服务,通常部署在企业局域网内,作为私服使用。一方面它可以作为代理,缓存中央仓库的公共组件,从而降低网络延迟、解决重复下载问题;另一方面开发人员可以构建自己的项目组件至服务器,方便其他同事下载进行协同开发,极大提高开发效率。

nexus2.x版本只能作为maven远程仓库提供java开发人员使用,从nexus3开始,nexus可以支持除java外更多的仓库类型,如docker、yum、npm和helm等

运行nexus3需要一台服务器,cpu4核最好,2核可用,内存1g起步。

硬件:Raspberry Pi 4B(4g或8g版本)
系统:Ubuntu 20.04 LTS
Docker:18.09.9
nexus3镜像:pi4k8s/nexus3:3.22.1-02

  • 注意:因为我们树莓派4B本身并非x86,而是arm架构,且我们的系统装的是64位ubuntu,因此镜像只能选择arm64v8架构的镜像。  这里选用的镜像是本人基于exus-3.22.1-02构建的,可以直接使用。构建脚本如下: https://github.com/pi4k8s/pi4images/blob/master/nexus3/Dockerfile

安装nexus3

数据目录:/home/docker/server/nexus3/data

本实践安装的nexus3会提供3种类型仓库服务,分别为maven私服、docker私服和helm仓库。对外开放3个端口,8081为web端口、8082为docker push端口,8083作为docker pull端口。

docker run -itd --name=nexus3 -p 8081:8081 -p 8082:8082 -p 8083:8083 --privileged=true -v /home/docker/server/nexus3/data:/opt/sonatype-work pi4k8s/nexus3:3.22.1-02

镜像提供3个环境变量,JVM_MINIMUM_MEMORY、JVM_MAXIMUM_MEMORY和JVM_MAXDIRECTMEMORYSIZE,默认值分别为1024M、1560M和1024M,实践中使用默认参数,用户可自行选择。

初始化

初始化主要是指admin登录、修改默认密码和是否允许匿名访问,下面简单示意说明

用浏览器访问http://ip:8081进行初始化

点sign in 弹出登录窗口如下

根据提示输入用户名和密码,点sign in按钮,开启Setup

修改密码

这里我们设置为允许匿名访问

 

设置仓库

如下图逐步点击齿轮图标和Repository菜单下的Repositories菜单,进入仓库列表页面,可以看到nexus3默认是支持maven和nuget仓库,接下来我们通过Create repository按钮来创建docker仓库和helm仓库。

 

设置docker仓库

本实践一共设置三个docker仓库,一个为docker(proxy)类型,一个为docker(hosted)类型,另外一个为docker(group)类型。其中docker(hosted)类型仓库端口配置为8082,可以接受push请求;docker(group)类型仓库端口配置为8083,可以通过该仓库同时拉取nexus3配置的docker(proxy)仓库和docker(hosted)仓库。这3个docker仓库具体设置过程如下:

设置docker(proxy)仓库

选择docker(proxy)类型,进入仓库设置界面如下

如上,只需要配置标红的4个部分即可,其余均可采取默认值。

设置docker(hosted)仓库

选择docker(hosted)类型,进入仓库设置界面如下

如上,只需要配置标红的4个部分即可,其余均可采取默认值。

设置docker(group)仓库

选择docker(group)类型,进入仓库设置界面如下

如上,只需要配置标红的5个部分即可,其余均可采取默认值;记得Member repositories将刚才新建的两个docker仓库加入。

设置helm仓库

本实践中只涉及设置helm(hosted)类型仓库,具体设置过程如下:

如上,只需要配置标红的2个部分即可,其余均可采取默认值。

到这里,一个基于nexus3搭建的私服就部署好了。

具体仓库访问地址如下:

  • maven仓库访问地址:http://192.168.5.50:8081/repository/maven-public/
  • docker仓库访问地址:
    • docker puh 192.168.5.50:8082
    • docker pull 192.168.5.50:8083
  • helm仓库访问地址:
    • http://192.168.5.50:8081/repository/fastapp
  • 其它运维命令

#启停命令docker start nexus3docker stop nexus3docker restart nexus3#删除docker rm nexus3#查看日志docker logs nexus3#进入容器docker exec -i -t nexus3 /bin/sh​​

参考

展开阅读全文
加载中
点击加入讨论🔥(2) 发布并加入讨论🔥
2 评论
0 收藏
0
分享
返回顶部
顶部