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

image-20210814021004866

登录用户名admin

密码在docker容器中,我们得到容器中找 (nexus-data文件夹下一个叫xxx.admin-password的文件)

# 找到nexus正在运行的容器ID
docker ps

image-20210814021240284

# 进入容器
docker exec -it 1669e142a1c2 /bin/bash
创建repository

image-20210814021754264

image-20210814021824778

image-20210814021913806

划到最底部点击Create repository创建仓库

image-20210814022120750

image-20210814022149748

把我创建的仓库添加过去 , 保存

然后点击用户 , 创建一个新用户

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(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>
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐