zoukankan      html  css  js  c++  java
  • docker-compose安装Nexus

    一、Nexus

    Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus你可以只在一个地方就能够完全控制访问 和部署在你所维护仓库中的每个Artifact。Nexus是一套“开箱即用”的系统不需要数据库,它使用文件系统加Lucene来组织数据。Nexus 使用ExtJS来开发界面,利用Restlet来提供完整的REST APIs,通过m2eclipse与Eclipse集成使用。Nexus支持WebDAV与LDAP安全身份认证。

    Nexus官网

    二、部署规划

    服务器IP 192.168.113.48
    端口 8931
    安装目录 /home/work/docker-nexus
    数据映射目录 /home/work/docker-nexus/data

    三、安装Nexus

    • 创建安装目录,进入到安装目录中编辑并保存docker-compose.yml文件

      vim docker-compose.yml
      
      version: '3'
      services:
        nexus:
          image: 'sonatype/nexus3'
          container_name: nexus
          restart: always
          environment:
            - TZ=Asia/Shanghai
          ports:
            - '8931:8081'
          volumes:
            - '/home/work/docker-nexus/data:/nexus-data'
      
    • 在安装目录下启动服务

      [root@node03 docker-nexus]# docker-compose up -d
      Creating network "docker-nexus_default" with the default driver
      Creating nexus ... done
      [root@node03 docker-nexus]# docker-compose logs -f
      Attaching to nexus
      nexus    | mkdir: cannot create directory '../sonatype-work/nexus3/log': Permission denied
      nexus    | mkdir: cannot create directory '../sonatype-work/nexus3/tmp': Permission denied
      nexus    | OpenJDK 64-Bit Server VM warning: Cannot open file ../sonatype-work/nexus3/log/jvm.log due to No such file or directory
      nexus    | 
      nexus    | Warning:  Cannot open log file: ../sonatype-work/nexus3/log/jvm.log
      nexus    | Warning:  Forcing option -XX:LogFile=/tmp/jvm.log
      nexus    | java.io.FileNotFoundException: ../sonatype-work/nexus3/tmp/i4j_ZTDnGON8hezynsMX2ZCYAVDtQog=.lock (No such file or directory)
      nexus    | 	at java.io.RandomAccessFile.open0(Native Method)
      nexus    | 	at java.io.RandomAccessFile.open(RandomAccessFile.java:316)
      nexus    | 	at java.io.RandomAccessFile.<init>(RandomAccessFile.java:243)
      nexus    | 	at com.install4j.runtime.launcher.util.SingleInstance.check(SingleInstance.java:72)
      nexus    | 	at com.install4j.runtime.launcher.util.SingleInstance.checkForCurrentLauncher(SingleInstance.java:31)
      nexus    | 	at com.install4j.runtime.launcher.UnixLauncher.checkSingleInstance(UnixLauncher.java:88)
      nexus    | 	at com.install4j.runtime.launcher.UnixLauncher.main(UnixLauncher.java:67)
      nexus    | java.io.FileNotFoundException: /nexus-data/karaf.pid (Permission denied)
      nexus    | 	at java.io.FileOutputStream.open0(Native Method)
      nexus    | 	at java.io.FileOutputStream.open(FileOutputStream.java:270)
      nexus    | 	at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
      nexus    | 	at java.io.FileOutputStream.<init>(FileOutputStream.java:101)
      nexus    | 	at org.apache.karaf.main.InstanceHelper.writePid(InstanceHelper.java:127)
      nexus    | 	at org.apache.karaf.main.Main.launch(Main.java:243)
      nexus    | 	at org.sonatype.nexus.karaf.NexusMain.launch(NexusMain.java:113)
      nexus    | 	at org.sonatype.nexus.karaf.NexusMain.main(NexusMain.java:52)
      nexus    | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      nexus    | 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      nexus    | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      nexus    | 	at java.lang.reflect.Method.invoke(Method.java:498)
      nexus    | 	at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:85)
      nexus    | 	at com.install4j.runtime.launcher.UnixLauncher.main(UnixLauncher.java:69)
      nexus    | java.lang.RuntimeException: /nexus-data/log/karaf.log (No such file or directory)
      nexus    | 	at org.apache.karaf.main.util.BootstrapLogManager.getDefaultHandlerInternal(BootstrapLogManager.java:102)
      nexus    | 	at org.apache.karaf.main.util.BootstrapLogManager.getDefaultHandlersInternal(BootstrapLogManager.java:137)
      nexus    | 	at org.apache.karaf.main.util.BootstrapLogManager.getDefaultHandlers(BootstrapLogManager.java:70)
      nexus    | 	at org.apache.karaf.main.util.BootstrapLogManager.configureLogger(BootstrapLogManager.java:75)
      nexus    | 	at org.apache.karaf.main.Main.launch(Main.java:244)
      nexus    | 	at org.sonatype.nexus.karaf.NexusMain.launch(NexusMain.java:113)
      nexus    | 	at org.sonatype.nexus.karaf.NexusMain.main(NexusMain.java:52)
      nexus    | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      nexus    | 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      nexus    | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      nexus    | 	at java.lang.reflect.Method.invoke(Method.java:498)
      nexus    | 	at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:85)
      nexus    | 	at com.install4j.runtime.launcher.UnixLauncher.main(UnixLauncher.java:69)
      nexus    | Caused by: java.io.FileNotFoundException: /nexus-data/log/karaf.log (No such file or directory)
      nexus    | 	at java.io.FileOutputStream.open0(Native Method)
      nexus    | 	at java.io.FileOutputStream.open(FileOutputStream.java:270)
      nexus    | 	at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
      nexus    | 	at org.apache.karaf.main.util.BootstrapLogManager$SimpleFileHandler.open(BootstrapLogManager.java:193)
      nexus    | 	at org.apache.karaf.main.util.BootstrapLogManager$SimpleFileHandler.<init>(BootstrapLogManager.java:182)
      nexus    | 	at org.apache.karaf.main.util.BootstrapLogManager.getDefaultHandlerInternal(BootstrapLogManager.java:100)
      nexus    | 	... 12 more
      nexus    | Error creating bundle cache.
      nexus    | Unable to update instance pid: Unable to create directory /nexus-data/instances
      nexus    | mkdir: cannot create directory '../sonatype-work/nexus3/log': Permission denied
      nexus    | mkdir: cannot create directory '../sonatype-work/nexus3/tmp': Permission denied
      nexus    | OpenJDK 64-Bit Server VM warning: Cannot open file ../sonatype-work/nexus3/log/jvm.log due to No such file or directory
      nexus    | 
      nexus    | Warning:  Cannot open log file: ../sonatype-work/nexus3/log/jvm.log
      nexus    | Warning:  Forcing option -XX:LogFile=/tmp/jvm.log
      nexus    | java.io.FileNotFoundException: ../sonatype-work/nexus3/tmp/i4j_ZTDnGON8hezynsMX2ZCYAVDtQog=.lock (No such file or directory)
      nexus    | 	at java.io.RandomAccessFile.open0(Native Method)
      nexus    | 	at java.io.RandomAccessFile.open(RandomAccessFile.java:316)
      nexus    | 	at java.io.RandomAccessFile.<init>(RandomAccessFile.java:243)
      nexus    | 	at com.install4j.runtime.launcher.util.SingleInstance.check(SingleInstance.java:72)
      nexus    | 	at com.install4j.runtime.launcher.util.SingleInstance.checkForCurrentLauncher(SingleInstance.java:31)
      nexus    | 	at com.install4j.runtime.launcher.UnixLauncher.checkSingleInstance(UnixLauncher.java:88)
      nexus    | 	at com.install4j.runtime.launcher.UnixLauncher.main(UnixLauncher.java:67)
      nexus    | java.io.FileNotFoundException: /nexus-data/karaf.pid (Permission denied)
      nexus    | 	at java.io.FileOutputStream.open0(Native Method)
      nexus    | 	at java.io.FileOutputStream.open(FileOutputStream.java:270)
      nexus    | 	at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
      nexus    | 	at java.io.FileOutputStream.<init>(FileOutputStream.java:101)
      nexus    | 	at org.apache.karaf.main.InstanceHelper.writePid(InstanceHelper.java:127)
      nexus    | 	at org.apache.karaf.main.Main.launch(Main.java:243)
      nexus    | 	at org.sonatype.nexus.karaf.NexusMain.launch(NexusMain.java:113)
      nexus    | 	at org.sonatype.nexus.karaf.NexusMain.main(NexusMain.java:52)
      nexus    | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      nexus    | 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      nexus    | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      nexus    | 	at java.lang.reflect.Method.invoke(Method.java:498)
      nexus    | 	at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:85)
      nexus    | 	at com.install4j.runtime.launcher.UnixLauncher.main(UnixLauncher.java:69)
      nexus    | java.lang.RuntimeException: /nexus-data/log/karaf.log (No such file or directory)
      nexus    | 	at org.apache.karaf.main.util.BootstrapLogManager.getDefaultHandlerInternal(BootstrapLogManager.java:102)
      nexus    | 	at org.apache.karaf.main.util.BootstrapLogManager.getDefaultHandlersInternal(BootstrapLogManager.java:137)
      nexus    | 	at org.apache.karaf.main.util.BootstrapLogManager.getDefaultHandlers(BootstrapLogManager.java:70)
      nexus    | 	at org.apache.karaf.main.util.BootstrapLogManager.configureLogger(BootstrapLogManager.java:75)
      nexus    | 	at org.apache.karaf.main.Main.launch(Main.java:244)
      nexus    | 	at org.sonatype.nexus.karaf.NexusMain.launch(NexusMain.java:113)
      nexus    | 	at org.sonatype.nexus.karaf.NexusMain.main(NexusMain.java:52)
      nexus    | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      nexus    | 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      nexus    | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      nexus    | 	at java.lang.reflect.Method.invoke(Method.java:498)
      nexus    | 	at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:85)
      nexus    | 	at com.install4j.runtime.launcher.UnixLauncher.main(UnixLauncher.java:69)
      nexus    | Caused by: java.io.FileNotFoundException: /nexus-data/log/karaf.log (No such file or directory)
      nexus    | 	at java.io.FileOutputStream.open0(Native Method)
      nexus    | 	at java.io.FileOutputStream.open(FileOutputStream.java:270)
      nexus    | 	at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
      nexus    | 	at org.apache.karaf.main.util.BootstrapLogManager$SimpleFileHandler.open(BootstrapLogManager.java:193)
      nexus    | 	at org.apache.karaf.main.util.BootstrapLogManager$SimpleFileHandler.<init>(BootstrapLogManager.java:182)
      nexus    | 	at org.apache.karaf.main.util.BootstrapLogManager.getDefaultHandlerInternal(BootstrapLogManager.java:100)
      nexus    | 	... 12 more
      nexus    | Error creating bundle cache.
      nexus    | Unable to update instance pid: Unable to create directory /nexus-data/instances
      
    • 启动后查看日志,发现提示权限不足,为数据映射目录加上权限即可

      [root@node03 docker-nexus]# chmod 777 /home/work/docker-nexus/data/
      You have new mail in /var/spool/mail/root
      [root@node03 docker-nexus]# docker-compose ps
      Name               Command               State           Ports         
      -----------------------------------------------------------------------
      nexus   sh -c ${SONATYPE_DIR}/star ...   Up      0.0.0.0:8931->8081/tcp
      

    四、验证Nexus

    • 在浏览器中输入IP:端口,点击页面右上角登录,根据页面提示查找到初始密码,然后将初始密码复制

      若输入ip:端口后,浏览器无法访问页面,可以稍等一会,查看日志确保nexus启动完成后再访问

      [root@node03 docker-nexus]# cat data/admin.password 
      b05c1771-6be1-4cb2-9b4e-5cffb610099d
      

      BuV6Df.png

    • 登录后会有一个弹窗,要求给admin用户重新设置一个新的密码,请记住这个设置的密码(本次安装设置的密码为admin_qazwsx

      BuVcb8.png

    • 点击"next",弹窗提示是否允许匿名用户访问,根据自己需求选择即可,本次安装选择"开启匿名访问"

      BuV2VS.png

    • Nexus安装成功,再根据需求进行相关配置即可。

  • 相关阅读:
    将台湾与山西的资源进行整合,搭建晋台两地商品营销平台
    范姜锋:致力于协助台湾青年创业,融入“一带一路”建设
    不甘于平凡,他靠借钱入行做电器生意,年销售额竟突破亿元?
    研究生接手父亲的事业,当起“猪妹”每天和猪打交道
    面对找不到工作的困难,小伙选择创业开酒吧,月收入竟达到了6万
    django 直接将数据分配给前台
    Centos7下安装与卸载Jdk1.8
    从“挖光缆”到“剪网线”|蚂蚁金服异地多活的微服务体系
    推进“互联网+政务服务” 加快新型智慧城市建设
    推进“互联网+政务服务” 加快新型智慧城市建设
  • 原文地址:https://www.cnblogs.com/linanjie/p/13932377.html
Copyright © 2011-2022 走看看