实战maven私有仓库三部曲之三:Docker下搭建maven私有仓库
本章是《实战maven私有仓库》系列的第三篇,在前两章中,我们先在linux搭建maven私有仓库,然后在开发环境使用此仓库,本章我们在docker下快速搭建maven私有仓库,然后像前面章节的实战一样使用它;
本文地址:http://blog.csdn.net/boling_cavalry/article/details/79111740
实战环境
- 本次实战的环境是Ubuntu16,安装的Docker版本是17.03.2-ce;
- 本次用到的二方库工程mvnDemoLib,和《实战maven私有仓库三部曲之二:上传到私有仓库》中用到的mvnDemoLib是同一个,源码的git地址是:git@github.com:zq2599/blog_demos.git,用浏览器访问的地址是:https://github.com/zq2599/blog_demos,这里面有多个工程,本次用到的工程如下图红框所示:
注意事项
本次实战要用到的端口是8081,如果该端口已被占用请及时释放,如果要用其他端口也可以,但是请修改开发环境中与maven私有仓库相关的配置(配置信息包括maven的settings.xml以及maven工程的pom.xml,详情请参照前两篇文章);
启动maven私有仓库的容器
- 在docker所在电脑创建目录/usr/local/work/dockermaven;
- 执行命令chmod 777 /usr/local/work/dockermaven,给此目录赋权限;
- 执行以下命令,会自动从hub.docker.com下载最新的nexus镜像,然后启动一个名为nexus的容器,当前电脑的8081端口被映射到容器的8081端口:
docker run -idt -p 8081:8081 --name nexus -v /usr/local/work/dockermaven:/sonatype-work sonatype/nexus
- 执行命令docker logs -f nexus查看容器日志滚动信息,显示如下信息时nexus启动成功:
2018-01-20 03:37:42,187+0000 INFO [jetty-main-1] org.sonatype.nexus.webresources.internal.WebResourceServiceImpl - Discovered 1971 resources 2018-01-20 03:37:42,189+0000 INFO [jetty-main-1] org.sonatype.nexus.webresources.internal.WebResourceServlet - Max-age: 30 days (2592000 seconds) 2018-01-20 03:37:42,304+0000 INFO [jetty-main-1] org.sonatype.nexus.bootstrap.jetty.InstrumentedSelectChannelConnector - Metrics enabled 2018-01-20 03:37:42,348+0000 INFO [jetty-main-1] org.eclipse.jetty.server.AbstractConnector - Started InstrumentedSelectChannelConnector@0.0.0.0:8081 2018-01-20 03:37:42,352+0000 INFO [jetty-main-1] org.sonatype.nexus.bootstrap.jetty.JettyServer - Running 2018-01-20 03:37:42,352+0000 INFO [main] *SYSTEM org.sonatype.nexus.bootstrap.jetty.JettyServer - Started
查看当前电脑的/usr/local/work/dockermaven目录,可以看到nexus容器中应用的相关文件已经在此处创建,如下图:
- 我的电脑IP是192.168.119.155,因此在浏览器输入地址访问nexus:http://192.168.119.155:8081/nexus
- 对maven私有仓库的使用者来说,完全感受不到实际安装和在docker安装私有仓库的区别,您可以像前两章的实战那样,体验此仓库的jar缓存和保存二方库的服务;
- 我这里像上一章那样发布了一个二方库到nexus,deploy成功后,可以在nexus上看到新的二方库,如下图所示,(deploy之前记得在nexus上设置允许上传,并且设置deployment账号的密码,详见上一章):
至此,实战maven私有仓库三部曲系列就全部结束了,希望其中的实战和demo能够助您一臂之力;