zoukankan      html  css  js  c++  java
  • Centos7下Nexus3的安装和配置

    1、要使用nexus服务需要安装jdk和maven

    1.1、jdk下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html

    rpm -ivh jdk-8u221-linux-x64.rpm

    vi /etc/profile

    export JAVA_HOME=/usr/java/jdk1.8.0_221-amd64

    export PATH=$JAVA_HOME/bin:$PATH

    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    source /etc/profile

    java -version

    1.2、maven下载地址:https://maven.apache.org/download.cgi

    tar -zxvf apache-maven-3.6.1-bin.tar.gz

    vi /etc/profile

    export PATH=$PATH:/usr/local/maven/bin

    source /etc/profile

    mvn -v

    2、安装nexus

    下载地址:https://www.sonatype.com/nexus-repository-oss,点击首页大广告图,跳转后填写邮箱,点击,download,网页跳转后,选择 nexus repository manager oss 3.x - unix,下载最新安装包。

    下载地址:https://help.sonatype.com/repomanager2/download/download-archives---repository-manager-oss

    或者打开网址:https://my.sonatype.com/ 在 Latest Releases 标签下, 下载最新nexus repository安装包

    wget https://download.sonatype.com/nexus/3/latest-unix.tar.gz

    tar -zxvf nexus-3.18.1-01-unix.tar.gz

    #解压后又2个目录

    #nexus-3.18.1-01:包含了 Nexus 运行所需要的文件。是 Nexus 运行必须的

    #sonatype-work:包含了 Nexus 生成的配置文件、日志文件、仓库文件等。当我们需要备份 Nexus 的时候默认备份此目录即可

    #修改环境变量

    vi /etc/profile

    export NEXUS_HOME=/usr/local/nexus/nexus-3.18.1

    export PATH=$PATH:$NEXUS_HOME/bin

    source /etc/profile#修改启动用户

    vi /usr/local/nexus/nexus-3.18.1/bin/nexus.rc

    #run_as_user="" #内容就这一行,放开注释,填写用户即可#修改端口

    vi /usr/local/nexus/nexus-3.18.1/etc/nexus-default.properties #默认是8081

    #最后启动nexus

    cd /usr/local/nexus/nexus-3.18.1/bin

    ./nexus start

    ./nexus status

    #访问http://ip:8081,

    登陆用户admin 密码存放在:/usr/local/nexus/sonatype-work/nexus3/admin.password 目录

    #开机自启动

    vi /etc/rc.d/rc.local/usr/local/nexus/nexus-3.18.1/bin/nexus start

    #添加这一行内容

    chmod 755 /etc/rc.d/rc.local

    1. docker安装nexus

    查找镜像

    docker search nexus

    拉取镜像

    docker pull sonatype/nexus3

    查看镜像

    docker images

    创建nexus数据目录并授权

    mkdir -p /home/nexus/nexus-data

    chown 200 /home/nexus/nexus-data

    创建并启动容器

    将服务映射到了宿主机8088,将宿主机/home/nexus/nexus-data目录映射到容器/nexus-data目录

    docker run -d -p 8088:8081 --name nexus --restart=always  -v /home/nexus/nexus-data:/nexus-data  sonatype/nexus3

    查看容器

    docker ps -a

    如果容器成功启动就可以进入nexus后台了,访问如下网址(替换ip

    http://ip:8088

    4.登录nexus

    3.17版本开始默认密码不再是admin123,密码是随机生成。首次登录页面会显示admin用户的密码在/nexus-data/admin.password,因为我们在创建容器时做了目录映射,所以进入宿主机查看密码。

    cat /home/nexus/nexus-data/admin.password

    得到的字符串即为密码,用户名为admin

    如果容器启动失败可以查看log

    docker logs -f nexus

    Nexus 创建仓储 

    1. 创建docker Repositories 

    点击齿轮 - Repositories - Create repository - 选择 docker (hosted)

     

    Name: 仓库的名称
    HTTP: 仓库单独的访问端口
    Enable Docker V1 API: 如果需要同时支持 V1 版本请勾选此项(不建议勾选)。
    Hosted -> Deployment pollcy: 请选择 Allow redeploy 否则无法上传 Docker 镜像。
    其它的仓库创建方法请各位自己摸索,还可以创建一个 docker (proxy) 类型的仓库链接到 DockerHub 上。再创建一个 docker (group) 类型的仓库把刚才的 hosted proxy 添加在一起。主机在访问的时候默认下载私有仓库中的镜像,如果没有将链接到 DockerHub 中下载并缓存到 Nexus 中。

     

       编写信息完成后选择“Create repository”按钮

     安全设置

      官方介绍:https://help.sonatype.com/repomanager3/formats/docker-registry/authentication

      点击Realms菜单 -  Docker Bearer Token Realm 移到右边的框中点击Save保存。

     

      添加用户规则:菜单 Security->Roles->Create role Privlleges 选项搜索 docker 把相应的规则移动到右边的框中然后保存。

     

      添加用户:菜单 Security->Users->Create local user Roles 选项中选中刚才创建的规则移动到右边的窗口保存。

     

    搭建 docker-registry 私有库也可以使用上面创建的

    搜索docker-registry镜像

    docker search registry

    拉取docker.io/registry镜像

    // 随便拉取了一个指定版本,也可以拉取下来

    docker pull docker.io/registry:2.3.1

    // 获取一个最新的版本,只要网络畅通,基本上都能获取下来

    docker pull docker.io/registry

    // 查看我们拉取的镜像是否都已经存在本地了

    docker images

    //将下面内容加到配置文件中

    "insecure-registries":["192.168.237.152:5000"]

    systemctl daemon-reload

    systemctl restart docker

    //查看设置是否生效

    docker info

    启动docker-registry

    docker run -d -p 5000:5000 --restart=always -v /tmp/docker-var/:/var/lib/registry registry:2.3.1

    // 通过 curl 命令测试, 正常情况能打印些东西出来

    [root@svr01 ~]# curl http://my_host_ip:5000/v2

    <a href="/v2/">Moved Permanently</a>.

    // 通过浏览器输入 http://my_host_ip:5000/v2 地址试试,正常情况下回输出{}一个空的大括号内容。

    上传测试镜像到镜像仓库中去

    1.制作image

    //拉取hello-world镜像作为示例

    docker pull hello-world

    //制作私有镜像

    docker tag hello-world 192.168.237.152:5000/hello-world

    2.推送到私有仓库

    docker pull 192.168.237.152:8000/hello-world(上传不上去,需要登录)

    登录docker

    docker login 192.168.237.152:5000

    输入账户和密码(Nexus 创建仓库的账户和密码)

    docker pull 192.168.237.152:8000/hello-world(成功)

     

    用户登录查看

     

    可以直接删除,但是再次pull的时候会报已存在.

    创建maven Repositories 

    创建proxy仓库 作用是去远程拉取jar

    - 创建hosted仓库 作用是存放本地上传的三方jar

    - 创建group仓库 作用是将proxyhosted放到这个组里,进行统一管理

    proxy建议配置阿里云maven地址:http://maven.aliyun.com/nexus/content/groups/public

    这里多提一个小知识!!!有的时候,我们会用到第三方仓库作为proxy,此时需要配置Routing Rules,即声明什么jar该从什么proxy下载。此处以jeecg仓库为例:

     

     

    意思就是所有下载路径包含/org/jeecgframework/的jar,全部去jeecg proxy下载

     

    意思就是所有下载路径包含/org/jeecgframework/的jar,全部禁止从aliyun proxy下载

    maven设置settings

    <mirror>

         <id>nexus-xu</id>

         <name>internal nexus repository</name>

         <url>http://ip:8081/repository/java-group/</url>

         <mirrorOf>!internal.repo,*</mirrorOf>

    </mirror>

    然后build项目,查看项目是否从私服下载jar包

     

     

    3.Nexus搭建npm私服

    此处搭建过程同上

    创建仓库:

    proxy(代理仓库):可以代理npm和淘宝镜像

    创建hosted(私有仓库):用于发布个人开发的npm组件

    创建group(组合仓库):对外公开的仓库,集合了hostedproxy

    proxy建议配置淘宝镜像:https://registry.npm.taobao.org

    客户端设置npm:npm config set registry http://ip:8081/repository/npm-group/

    纵有白头俱老意,奈何缘浅路芊芊.
  • 相关阅读:
    Add source code and doc in maven
    Spring toturial note
    How to add local jar into maven project
    Ubuntu 12.04 下安装 Eclipse
    如何更改linux文件的拥有者及用户组(chown和chgrp)
    20非常有用的Java程序片段
    Java中的Set、List、Map的区别
    Java I/O知识点汇总
    Java I/O流整理
    hadoop2.0集群配置
  • 原文地址:https://www.cnblogs.com/hanby/p/14150348.html
Copyright © 2011-2022 走看看