本章是《实战maven私有仓库》系列的第三篇,前两章的地址如下:

  1. 《实战maven私有仓库三部曲之一:搭建和使用》;
  2. 《实战maven私有仓库三部曲之二:上传到私有仓库》

在前两章中,我们先在linux搭建maven私有仓库,然后在开发环境使用此仓库,本章我们在docker下快速搭建maven私有仓库,然后像前面章节的实战一样使用它;

本文地址:http://blog.csdn.net/boling_cavalry/article/details/79111740

实战环境

  1. 本次实战的环境是Ubuntu16,安装的Docker版本是17.03.2-ce;
  2. 本次用到的二方库工程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私有仓库的容器

  1. 在docker所在电脑创建目录/usr/local/work/dockermaven
  2. 执行命令chmod 777 /usr/local/work/dockermaven,给此目录赋权限;
  3. 执行以下命令,会自动从hub.docker.com下载最新的nexus镜像,然后启动一个名为nexus的容器,当前电脑的8081端口被映射到容器的8081端口:
  4. 执行命令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
    
  5. 查看当前电脑的/usr/local/work/dockermaven目录,可以看到nexus容器中应用的相关文件已经在此处创建,如下图:
    这里写图片描述
  6. 我的电脑IP是192.168.119.155,因此在浏览器输入地址访问nexus:http://192.168.119.155:8081/nexus
  7. 对maven私有仓库的使用者来说,完全感受不到实际安装和在docker安装私有仓库的区别,您可以像前两章的实战那样,体验此仓库的jar缓存和保存二方库的服务;
  8. 我这里像上一章那样发布了一个二方库到nexus,deploy成功后,可以在nexus上看到新的二方库,如下图所示,(deploy之前记得在nexus上设置允许上传,并且设置deployment账号的密码,详见上一章):
    这里写图片描述

至此,实战maven私有仓库三部曲系列就全部结束了,希望其中的实战和demo能够助您一臂之力;

欢迎关注我的公众号:程序员欣宸

在这里插入图片描述

Logo

更多推荐