目录
一、Nexus简介
nexus的全称是Nexus Repository Manager,是Sonatype公司的一个产品。它是一个强大的仓库管理器,极大地简化了内部仓库的维护和外部仓库的访问。
主要用它来搭建公司内部的maven私服。但是它的功能不仅仅是创建maven私有仓库这么简单,还可以作为nuget、docker、npm、bower、pypi、rubygems、git lfs、yum、go、apt等的私有仓库
二、安装步骤(使用docker)
1、搜索Nexus3镜像
docker search nexus
2、拉取Nexus3镜像
docker pull sonatype/nexus3
3、创建Nexus3容器
-
docker run -itd -p
8081:
8081
--privileged=true --name nexus3 \
-
-v /
data/nexus-data:/var/nexus-data --restart=always docker.io/sonatype/nexus3
4、进入Nexus3容器
docker exec -it nexus3 /bin/bash
三、测试与使用
1、访问
2、登录
使用docker安装完成后, 登录是提示admin用户的密码在/nexus-data/admin.password 中, 如下图所示, 获取密码后,即可登录, 登录后即可修改密码
3、登录成功后,即可查看
4、创建和修改仓库
5、Maven中 settings.xml 中配置
-
<!--添加对应的server与用户名和密码-->
-
<servers>
-
<server>
-
<id>cpzx-release
</id>
-
<username>dev-user
</username>
-
<password>dev2021
</password>
-
</server>
-
-
<server>
-
<id>cpzx-snapshot
</id>
-
<username>dev-user
</username>
-
<password>dev2021
</password>
-
</server>-->
-
</servers>
-
-
<!--添加对应的server与用户名和密码-->
-
<mirrors>
-
<mirror>
-
<id>cpzx-group
</id>
-
<mirrorOf>*
</mirrorOf>
-
<url>http://192.168.51.187:8081/repository/cpzx-group/
</url>
-
</mirror>
-
</mirrors>
-
-
<profiles>
-
<profile>
-
<id>dev
</id>
-
<repositories>
-
<repository>
-
<id>cpzx-group
</id>
-
<url>http://192.168.51.187:8081/repository/cpzx-group/
</url>
-
<releases>
-
<enabled>true
</enabled>
-
</releases>
-
<snapshots>
-
<enabled>true
</enabled>
-
<updatePolicy>always
</updatePolicy>
-
</snapshots>
-
</repository>
-
</repositories>
-
<activation>
-
<activeByDefault>true
</activeByDefault>
-
<jdk>1.8
</jdk>
-
</activation>
-
<properties>
-
<maven.compiler.source>1.8
</maven.compiler.source>
-
<maven.compiler.target>1.8
</maven.compiler.target>
-
<maven.compiler.compilerVersion>1.8
</maven.compiler.compilerVersion>
-
</properties>
-
</profile>
-
</profiles>
-
-
<!--激活-->
-
<activeProfiles>
-
<activeProfile>dev
</activeProfile>
-
</activeProfiles>
6、java项目中pom.xml中配置
-
<!--向Nexus私服发布组件的必要配置 -->
-
<distributionManagement>
-
<repository>
-
<id>cpzx-release
</id>
-
<name>Releases
</name>
-
<url>http://192.168.51.187:8081/repository/cpzx-release/
</url>
-
</repository>
-
<snapshotRepository>
-
<id>cpzx-snapshot
</id>
-
<name>Snapshot
</name>
-
<url>http://192.168.51.187:8081/repository/cpzx-snapshot/
</url>
-
</snapshotRepository>
-
</distributionManagement>
四、问题及解决
1、问题描述, 创建容器时, 内存不足
INFO: os::commit_memory(0x0000000717000000, 1890582528, 0) failed; error='Cannot allocate memory' (errno=12)
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 1890582528 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /opt/sonatype/nexus/hs_err_pid1.log
解决方法:无法分配内存, 调整内存后, 正常创建