• 搜索Nexus
  • 在docker容器中加载Nexus镜像
  • 发布本地项目到Nexus私服
    • 配置连接方式
    • 发布指令
    • 打源码包上传插件

搜索Nexus

  在我们打算使用Nexus时,我们先搜索一下docker景象仓库中现成的Nexus镜像。

docker search nexus
  • 1

其展示的结果如下:

[root@localhost ~]# docker search nexus
INDEX       NAME                                                   DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
docker.io   docker.io/sonatype/nexus                               Sonatype Nexus                                  379                  [OK]
docker.io   docker.io/sonatype/nexus3                              Sonatype Nexus Repository Manager 3             337
docker.io   docker.io/sonatype/docker-nexus3                       Sonatype Nexus 3 [DEPRECATED]                   27                   [OK]
docker.io   docker.io/clearent/nexus                                                                               21
docker.io   docker.io/baselibrary/nexus                            ThoughtWorks Docker Image: nexus                7                    [OK]
docker.io   docker.io/accenture/adop-nexus                         ADOP Nexus                                      5                    [OK]
docker.io   docker.io/bradbeck/nexus-https                         Dockerized version of Nexus Repo Manager 3...   5                    [OK]
docker.io   docker.io/frekele/nexus                                docker run --rm --name nexus -p 8081:8081 ...   4                    [OK]
docker.io   docker.io/shifudao/nexus3                              clone from nexus3 image but based from ope...   3                    [OK]
docker.io   docker.io/sonatype/nexus-iq-server                     Sonatype Nexus IQ Server                        3
docker.io   docker.io/cavemandaveman/nexus                         Sonatype Nexus container                        2                    [OK]
docker.io   docker.io/fabric8/nexus                                                                                2                    [OK]
docker.io   docker.io/madmuffin/nexus3                             Sonatype Nexus3 Milestone7 docker image         2                    [OK]
docker.io   docker.io/mcreations/jenkins-with-nexus-support        Jenkins image with correct SSL config for ...   1                    [OK]
docker.io   docker.io/openshiftdemos/nexus                         Sonatype Nexus with JBoss Enterprise repos...   1                    
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

  在这里,被大家使用频率越高的版本往往STARS指数越高,排位也就越靠前,这样,我们直接拉取第一个来使用就可以了。

docker pull docker.io/sonatype/nexus
  • 1

  如下:

[root@localhost ~]# docker pull docker.io/sonatype/nexus
Using default tag: latest
Trying to pull repository docker.io/sonatype/nexus ...
latest: Pulling from docker.io/sonatype/nexus
af4b0a2388c6: Pull complete
e2c659f5d884: Pull complete
37f6e458506e: Pull complete
b8ce98aa6771: Pull complete
90969e21cd0f: Pull complete
Digest: sha256:90f8ec0dadf5fef6bab1269a96f4e71583dadb366dde3cc664c599da5e1421e7
[root@localhost ~]# docker run -d -p 8081:8081 --name nexus docker.io/sonatype/nexus
5f23e18df895901f33a7abf01870984a65257f977e27266d6d319706b6e06719
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

在docker容器中加载Nexus镜像

  指令如下:

docker run -d -p 8081:8081 --name nexus docker.io/sonatype/nexus
  • 1

  运行结果:

[root@localhost ~]# docker run -d -p 8081:8081 --name nexus docker.io/sonatype/nexus
5f23e18df895901f33a7abf01870984a65257f977e27266d6d319706b6e06719
  • 1
  • 2

  在Nexus运行时,这可能需要等待一段很短的时间,我们可以通过查看Nexus的日志来了解Nexus的运行情况,其指令如下:

docker logs -f nexus
  • 1

  当docker运行起来后,我们就可以在浏览器中进行访问了,访问地址为:

http://192.168.44.128:8081/nexus/#welcome
  • 1

  其中192.168.44.128为虚拟机所对应的ip地址,大家在这里填写自己所在的ip地址即可。

  运行的界面如下:

  当看到这里时,这说明我们的Nexus已经正常运行,可以进行使用了。

  如果想查看与Nexus相关的更多docker镜像信息,可以到这里去查看Nexus的docker镜像官方文档。

https://hub.docker.com/r/sonatype/nexus/
  • 1

  在这里,docker的默认账号为admin,默认密码为admin123,直接将其拿来就可以使用了。

发布本地项目到Nexus私服

配置连接方式

  配置Maven的settings.xml

    <server>
      <id>user-release</id>
      <username>admin</username>
      <password>admin123</password>
    </server>
    <server>
      <id>user-snapshots</id>
      <username>admin</username>
      <password>admin123</password>
    </server>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

  配置项目的pom.xml

<distributionManagement>
    <repository>
      <id>user-release</id>
      <name>user release resp</name>
      <url>http://192.168.44.128:8081/nexus/content/repositories/releases/</url>
    </repository>
    <snapshotRepository>
      <id>user-snapshots</id>
      <name>user snapshots resp</name>
      <url>http://192.168.44.128:8081/nexus/content/repositories/snapshots/</url>
    </snapshotRepository>
  </distributionManagement>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

  该连接地址在Nexus的页面中就可以找到,如:

  直接来拿复制粘贴就可以了。

发布指令

  在项目中,运行下列指令将项目发布到私服中

mvn deploy
  • 1

  或点击IDEA中的deploy快捷指令

  运行结果:

Downloading from user-snapshots: http:www.255055.cn/ //192.168.44.128:8081/nexus/content/repositories/snapshots/com/mycompany/linear-table/2.0-SNAPSHOT/maven-metadata.xml
Uploading to user-snapshots: http://192.168.44.128:8081/nexus/content/repositories/snapshots/com/mycompany/linear-table/2.0-SNAPSHOT/linear-table-2.0-20180409.124308-1.jar
Uploaded to user-snapshots: http://www.douniu178.com 192.168.44.128:8081/nexus/content/repositories/snapshots/com/mycompany/linear-table/2.0-SNAPSHOT/linear-table-2.0-20180409.124308-1.jar (17 kB at 114 kB/s)
Uploading to user-snapshots: http://192.168.44.128:8081/nexus/content/repositories/snapshots/com/mycompany/linear-table/2.0-SNAPSHOT/linear-table-2.0-20180409.124308-1.pom
Uploaded to user-snapshots: http://www.chuangyed.com 192.168.44.128:8081/nexus/content/repositories/snapshots/com/mycompany/linear-table/2.0-SNAPSHOT/linear-table-2.0-20180409.124308-1.pom (1.8 kB at 30 kB/s)
Downloading from user-snapshots: http://192.168.44.128:8081/nexus/content/repositories/snapshots/com/mycompany/linear-table/maven-metadata.xml
Uploading to user-snapshots: http://192.168.44.128:8081/nexus/content/repositories/snapshots/com/mycompany/linear-table/2.0-SNAPSHOT/maven-metadata.xml
Uploaded to user-snapshots: http://192.168.44.128:8081/nexus/content/repositories/snapshots/com/mycompany/linear-table/2.0-SNAPSHOT/maven-metadata.xml (769 B at 20 kB/s)
Uploading to user-snapshots: http://192.168.44.128:8081/nexus/content/repositories/snapshots/com/mycompany/linear-table/maven-metadata.xml
Uploaded to user-snapshots: http://192.168.44.128:8081/nexus/content/repositories/snapshots/com/mycompany/linear-table/maven-metadata.xml (283 B at 7.6 kB/s)

  发布后的结果:

打源码包上传插件

  源码包上传插件如下,将其添加到项目的pom.xml文件中即可。

<build>
    <plugins>
      <plugin> <!-- 打jar包 -->
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>3.0.1</version>
        <configuration>
          <excludes>
            <exclude>**/*.properties</exclude>
          </excludes>
        </configuration>
      </plugin>
      <plugin> <!-- 打源码 -->
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <version>3.0.1<www.boshenyl.cn /version>
        <configuration>
          <attach>true</attach>
        </configuration>
        <executions>
          <execution>
            <phase>compile</phase>
            <goals>
              <goal>jar<www.mcyllpt.com/goal>
            <www.feihuanyule.com /goals>
          </execution>
        </executions>
      </plugin>
    <www.gouyiflb.cn /plugins>
  <www.caibaoyule.cn /build>

  当添加上上述插件后,当我们执行mvn deploy时,我们的项目源码包也将会一并发布到Nexus私服中

用Docker搭建Nexus私服的更多相关文章

  1. Docker 搭建nexus私服

    一.概述 有三种专门的Maven仓库管理软件可以用来帮助大家建立私服:Apache基金会的Archiva.JFrog的Artifactory和Sonatype的Nexus.而Nexus是当前最流行的M ...

  2. Linux Centos7 基于Docker 搭建 Nexus私服搭建

    创建Blob Stores[本地文件存储目录,统一管理] 1.设置名称和工作路径: ps[注意事项]: 1.storage name:自定义名称 2.storage path:存储路径,默认[/nex ...

  3. Linux_Centos中搭建nexus私服

    1.在Linux下搭建Nexus私服 1).下载并且解压      下载  nexus-2.11.2-03-bundle.zip      unzip nexus-2.11.2-03-bundle.z ...

  4. Linux 安装配置maven3.0 以及搭建nexus私服

    http://carvin.iteye.com/blog/785365 一.软件准备 1.apache-maven-3.0-bin.tar.gz 下载地址:http://www.apache.org/ ...

  5. 搭建nexus私服(maven)

    这里提供nexus的直接下载页面的链接: https://www.sonatype.com/download-oss-sonatype maven获取依赖jar包是从中央仓库获取,但很莫名的出现jar ...

  6. Linux安装配置maven以及搭建nexus私服(编写启动脚本)

    2011年07月12日16:32  下面介绍在Linux操作系统下安装配置maven和搭建nexus私服. 一.安装前的准备 下载 jdk http://www.oracle.com/technetw ...

  7. 搭建nexus私服,无法下载相关jar包,报错Repository proxy-mode is BLOCKED_AUTO

    在搭建nexus私服的时候,之前没直接用来下载maven的相关插件jar包,一直可以使用, 结果今天要编译hadoop的时候,在linux上新用maven就报错了,无法下载maven的相关插件(如下) ...

  8. 【原创】Docker 搭建Maven私服nexus 3.17初始密码登录不上问题/admin登陆不上问题

    [原创-转载请说明出处] 博主最近在虚拟机中搭建Maven私服,遇到了一个关键问题就是nexus 3.17版本后初始密码不是admin/admin123. 对于nexus不熟悉的我弄了很长时间!!!心 ...

  9. 基于Docker搭建Maven私服Nexus,Nexus详解

    备注:首先在linux环境安装Java环境和Docker,私服需要的服务器性能和硬盘存储要高一点,内存不足可能到时启动失败,这里以4核8GLinux服务器做演示 一:基于Docker安装nexus3 ...

随机推荐

  1. Ruby & Rails学习资料

    ------------------教程------------- Ruby风格指南(代码规范) https://github.com/bbatsov/ruby-style-guide 笨方法學 Ru ...

  2. letsencrypt证书-管理工具certbot

    目录 1. 安装certbot 2. certbot 介绍 3. 插件的具体使用 3.1 webroot 3.2 standalone 3.3 DNS plugins 3.4 manual 4. 证书 ...

  3. Django - day01 快速回忆ORM操作

    Django - day01 Model的增删改查找 得益于Django的ORM模型,用面向对象的思想来操作数据库使得数据库的操作一切变得简洁了很多. 0. 建表 在应用下的models.py中建立一 ...

  4. 原生js常用方法

    原生JavaScript设置cookie值 function setCookie(name, value, Hours) { var d = new Date(); var offset = 8; v ...

  5. 关于java中“使用了未经检查或不安全的操作、有关详细信息,请使用 ——Xlint:unchecked重新编译”

    今天看<算法 第4版>排序章节时,发现了一个了一个小问题.先贴一下代码: public class Selection{ public static void main(String[]a ...

  6. 腾讯云ubuntu安装使用MySQL

    安装步骤 ubuntu@VM---ubuntu:~$ sudo apt-get install mysql-server (密码: root/root) ubuntu@VM---ubuntu:~$ s ...

  7. OpenMPI源码剖析3:try_kill_peers 和 ompi_rte_abort 函数

    接着上一篇的疑问,我们说道,会执行 try_kill_peers 函数,它的函数定义在 ompi_mpi_abort.c 下: // 这里注释也说到了,主要是杀死在同一个communicator的进程 ...

  8. Java简单工厂模式

    Java简单工厂模式 在阎宏博士的<JAVA与模式>一书中开头是这样描述简单工厂模式的:简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式.简 ...

  9. POJ 1873 The Fortified Forest(枚举+凸包)

    Description Once upon a time, in a faraway land, there lived a king. This king owned a small collect ...

  10. php分页类的实现与调用 (自我摘记)

    page.class.php <?php namespace Component; class Page { private $total; //数据表中总记录数 private $listRo ...