docker 搜索nexus并且拉取镜像和运行容器
# 搜索镜像
docker search nexus
# 拉取镜像
docker pull sonatype/nexus3
# 创建挂载目录
mkdir /usr/local/work/maven
# 赋权限
chmod 777 /usr/local/work/maven
# 运行容器 因为我的docker还在运行其他容器,如果不添加内存限制的话,就会运行不起来
docker run -d -p 8081:8081 --name nexus -v /usr/local/work/maven:/var/nexus-data -e INSTALL4J_ADD_VM_PARAMS="-Xms256M -Xmx512M -XX:MaxDirectMemorySize=512M" sonatype/nexus3
# 查看nexus启动情况日志
docker logs -f nexus
ps: -v 后面跟着的是挂载到本地的磁盘,我挂载到了usr/local/work/maven这个目录
如果你选择挂载了本地磁盘, 那必须给挂载的目录附上权限, 否则docker容器会运行不起来.
访问nexus首页
http://ip:8081
登录用户名admin
密码在docker容器中,我们得到容器中找 (nexus-data文件夹下一个叫xxx.admin-password的文件)
# 找到nexus正在运行的容器ID
docker ps
# 进入容器
docker exec -it 1669e142a1c2 /bin/bash
创建repository
划到最底部点击Create repository
创建仓库
把我创建的仓库添加过去 , 保存
然后点击用户 , 创建一个新用户
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IjKSNeHx-1628884387608)(C:\Users\m1507\AppData\Roaming\Typora\typora-user-images\image-20210814022404335.png)]
完成nexus配置
配置本地的 maven
修改本地maven的settings.xml
<!--在servers节点下添加-->
<server>
<!-- 随便起的ID -->
<id>done</id>
<!-- 这个是刚才从nexus创建的用户名和密码 -->
<username>done</username>
<password>done</password>
</server>
应用
发布jar包
创建一个简单的maven项目 pom.xml设置如下
<!--指定仓库地址-->
<distributionManagement>
<repository>
<!--这个ID要和刚才在maven的settings随便起的ID一直才能识别,刚才起的是done,所以下面的id就取done-->
<id>done</id>
<!-- 这个url就是仓库的地址了 -->
<url>http://ip:8081/repository/maven-releases/</url>
</repository>
</distributionManagement>
<build>
<plugins>
<!--发布代码Jar插件-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.7</version>
</plugin>
<!--发布源码插件-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
// 代码
public class CommonUtil {
public void sayHello() {
System.Out.println("Hello,world!!");
}
}
# 打开终端
mvn deploy
依赖测试
pox.xml
文件
<dependencies>
<dependency>
<groupId>com</groupId>
<artifactId>test-lib</artifactId>
<version>1.0-RELEASE</version>
</dependency>
</dependencies>
<repositories>
<repository>
<id>test</id>
<url>http://ip:8081/repository/maven-releases/</url>
</repository>
</repositories>