用Docker搭建Nexus私服

  • 搜索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私服中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值