创建Maven 私服Nexus的docker

1 篇文章 0 订阅
1 篇文章 0 订阅

我的业务需求:

业务上要对接db2数据库, 然而该jar包中央仓库没有。本地编译还好,可我们的测试环境和最终服务镜像制作都是在aws上,所以最终决定在aws上创建一个Nexus服务,内外网都可以使用。

官网下载UNIX版压缩包

在这里插入图片描述

准备需要的环境

  1. Dockerfile
  2. jdk (nexus依赖jdk)
  3. 下载好的tar.gz包
    在这里插入图片描述
    以上三个文件要在一个文件夹中, Dockerfile 文件内容如下:
  1 FROM centos:latest
  2 
  3 MAINTAINER woaidouwentao
  4 
  5 RUN mkdir /Nexus
  6 
  7 COPY nexus-3.16.1-02-unix.tar.gz /Nexus
  8 
  9 COPY jdk1.8.0_101 /Nexus/jdk1.8.0_101
 10 
 11 RUN echo 'export JAVA_HOME=/Nexus/jdk1.8.0_101' >> /etc/profile
 12 
 13 RUN echo 'export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' >> /etc/profile
 14 
 15 RUN echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
 16 
 17 RUN tar -zxf /Nexus/nexus-3.16.1-02-unix.tar.gz -C /Nexus
 18 
 19 RUN sed -i 's|# INSTALL4J_JAVA_HOME_OVERRIDE=|INSTALL4J_JAVA_HOME_OVERRIDE=/Nexus/jdk1.8.0_101|' /Nexus/nexus-3.16.1-02/bin/nexus                                                                                                            
 20 
 21 WORKDIR /Nexus/nexus-3.16.1-02/bin
 22 
 23 ENTRYPOINT sh nexus start; tailf nexus

制作镜像

  1. docker build -t nexus:v3.16.1 . (千万别忽略了最后的点 )
  2. 查看制作完成的镜像:docker images | grep nex
    在这里插入图片描述

创建Volume

  • 镜像跑起来就是container,万一container挂了我们所有的jar就从这个世界“消失了”所以要对镜像做持久化映射,先创建一个volume
  • docker volume create nexus_respository (创建名为nexus_respository的volume)
    然后就可以不用怕镜像挂掉重启啥都没有了:
    docker run -d -p 9907:8081 -v nexus_respository:/Nexus/sonatype-work/nexus3/blobs nexus:v3.16.1 /bin/bash
  • nexus 默认端口是8801我做了端口映射到9907, 红色部分是volume的名字和docker内部要持久化的路径,blobs是存储二进制文件的路径。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值