用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私服中
用Docker搭建Nexus私服的更多相关文章
- Docker 搭建nexus私服
一.概述 有三种专门的Maven仓库管理软件可以用来帮助大家建立私服:Apache基金会的Archiva.JFrog的Artifactory和Sonatype的Nexus.而Nexus是当前最流行的M ...
- Linux Centos7 基于Docker 搭建 Nexus私服搭建
创建Blob Stores[本地文件存储目录,统一管理] 1.设置名称和工作路径: ps[注意事项]: 1.storage name:自定义名称 2.storage path:存储路径,默认[/nex ...
- Linux_Centos中搭建nexus私服
1.在Linux下搭建Nexus私服 1).下载并且解压 下载 nexus-2.11.2-03-bundle.zip unzip nexus-2.11.2-03-bundle.z ...
- Linux 安装配置maven3.0 以及搭建nexus私服
http://carvin.iteye.com/blog/785365 一.软件准备 1.apache-maven-3.0-bin.tar.gz 下载地址:http://www.apache.org/ ...
- 搭建nexus私服(maven)
这里提供nexus的直接下载页面的链接: https://www.sonatype.com/download-oss-sonatype maven获取依赖jar包是从中央仓库获取,但很莫名的出现jar ...
- Linux安装配置maven以及搭建nexus私服(编写启动脚本)
2011年07月12日16:32 下面介绍在Linux操作系统下安装配置maven和搭建nexus私服. 一.安装前的准备 下载 jdk http://www.oracle.com/technetw ...
- 搭建nexus私服,无法下载相关jar包,报错Repository proxy-mode is BLOCKED_AUTO
在搭建nexus私服的时候,之前没直接用来下载maven的相关插件jar包,一直可以使用, 结果今天要编译hadoop的时候,在linux上新用maven就报错了,无法下载maven的相关插件(如下) ...
- 【原创】Docker 搭建Maven私服nexus 3.17初始密码登录不上问题/admin登陆不上问题
[原创-转载请说明出处] 博主最近在虚拟机中搭建Maven私服,遇到了一个关键问题就是nexus 3.17版本后初始密码不是admin/admin123. 对于nexus不熟悉的我弄了很长时间!!!心 ...
- 基于Docker搭建Maven私服Nexus,Nexus详解
备注:首先在linux环境安装Java环境和Docker,私服需要的服务器性能和硬盘存储要高一点,内存不足可能到时启动失败,这里以4核8GLinux服务器做演示 一:基于Docker安装nexus3 ...
随机推荐
- GoF设计模式
GOF23种设计模式简介 GoF(“四人帮”,指Gamma, Helm, Johnson & Vlissides, Addison-Wesley四人)提出的23种设计模式可谓经典,由于其定义比 ...
- golang 仿python pack/unpack
写得不完善也不完美 尤其是高低位转换那(go和c 二进制高地位相反 需要转换,还有go int转[]byte长度是4位),希望牛人看后指导一下 项目需要通过socket调取 客户端是go ,服务器端是 ...
- Android 模拟器下载、编译及调试
Android 模拟器源码下载 Android 模拟器源码的下载与 Android AOSP 源码库的下载过程类似,可以参考 Google 官方提供的 Android 源码下载文档 来了解这个过程. ...
- define的误用
#define LIGHT_SPEED 3e8 // m/sec (in a vacuum)
- debian8+lnmp1.2一键安装+WordPress3.9
下载并安装LNMP一键安装包 wget -c http://soft.vpser.net/lnmp/lnmp1.2-full.tar.gz && tar zxf lnmp1.2-ful ...
- caffe Mac 安装
参考了 https://zhuanlan.zhihu.com/p/24853767 安装caffe的依赖项 brew install --fresh -vd snappy leveldb gflags ...
- 吴恩达深度学习 反向传播(Back Propagation)公式推导技巧
由于之前看的深度学习的知识都比较零散,补一下吴老师的课程希望能对这块有一个比较完整的认识.课程分为5个部分(粗体部分为已经看过的): 神经网络和深度学习 改善深层神经网络:超参数调试.正则化以及优化 ...
- .Net并行编程 - Reactive Extensions(Rx)并发浅析
关于Reactive Extensions(Rx) 关于Reactive Extensions(Rx),先来看一下来自微软的官方描述: The Reactive Extensions (Rx) is ...
- .Net并行编程 - 并行任务基础知识
在微软的.NET Framework中,任务是通过System.Threading.Tasks命令空间中的Task类来实现的.它的静态属性Task.Factory是TaskFactory类的一个实例, ...
- ACM 第十三天
训练赛题目 题目地址:https://odzkskevi.qnssl.com/415c275cb0a15fcb4ede21b8cb5297de?v=1533963116 A题代码: #includ ...