docker之搭建maven私服

docker 专栏收录该内容
23 篇文章 0 订阅

一.基于Docker搭建Maven私服

1.下载镜像

docker pull sonatype/nexus3

2.配置参数启动容器
docker run -d -p 8081:8081 --name nexus --restart=always -v /opt/docker-nexus/data:/var/nexus-data sonatype/nexus3

参数说明:

  • -d 后台运行
  • -p 8081:8081 端口映射
  • –name nexus 设置容器别名
  • –restart=always 跟随docker启动
  • -v /opt/docker-nexus/data:/var/nexus-data 数据挂载到宿主机目录

访问 http://ip:8081

Maven私服启动容器稍微比较慢,等待1分钟即可。
默认登陆账号 admin 密码 admin123

二.创建Maven私服仓库

1.点击设置按钮 – Repository – Create Repository

image

2.创建仓库

点击Create repository,然后选择maven2(hosted)然后输入仓库名称(lss-release)。在version policy中选择这个仓库的类型,这里选择release,在Deployment policy中选择Allow redeploy(这个很重要)
image

3. 创建私服账号

点击左侧菜单栏的Users菜单,然后点击Create local user

注意:status选择Active Granted授权nx-admin和nx-anonymous

三.将jar包上传到Maven私服

1. 配置Maven settings.xml

找到Maven的settings.xml文件,在中添加如下配置:

<servers>
	<!-- Maven私服配置 -->
	<server>
		<id>lss0555</id> <!-- id 也是用户名 -->
		<username>lss0555</username>  <!-- 用户名-->
		<password>888888</password> <!-- 密码-->
    </server>
</servers>
2. 配置要上传项目的 pom.xml

注意:项目的限定版本一定为RELEASE,因为上传的对应仓库的存储类型为RELEASE ,如下:

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.2.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
3.poml文件配置

1.根标签下添加仓库地址配置(也可以直接配置在settings.xml中,就不用每个项目都配置了)

 <project>  <--根标签-->
 
    <!--指定仓库地址 -->
    <distributionManagement>
        <repository>
            <!--此名称要和.m2/settings.xml中设置的ID一致 -->
            <id>lss0555</id>
            <url>http://192.168.102.129:8081/repository/lss_realse/</url>
        </repository>
    </distributionManagement>

</project>

2.标签的下添加发布代码的插件依赖

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source> <!--指明源码用的Jdk版本-->
                    <target>1.8</target> <!--指明打包后的Jdk版本-->
                </configuration>
            </plugin>

            <!--发布代码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>

3.mvn 打包
先mvn clean ,再进行 mvn deploy

[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 29.821 s
[INFO] Finished at: 2020-01-13T08:35:21+08:00
[INFO] Final Memory: 44M/288M

进入nexus查看,此时已经有了上传的jar包

可以直接在search界面中,search上传项目的名称,api

image

四.测试依赖信息,下载maven私服jar包

1.新建Maven项目,在pom.xml添加依赖:
    <dependencies>
        <dependency>
            <groupId>com.sxkj</groupId>
            <artifactId>api</artifactId>
            <version>0.0.3-RELEASE</version>
        </dependency>
    </dependencies>
    
     <repositories>
        <repository>
            <id>lss0555</id>
            <url>http://192.168.102.129:8081/repository/lss_realse/</url>
        </repository>
    </repositories>
2.在setting.xml里面加入
  <mirror>
      <id>lss0555</id>
      <mirrorOf>*</mirrorOf>
      <name>Local Repository</name>
      <url>http://192.168.102.129:8081/repository/lss_realse/</url>
  </mirror>

五.问题

1.Incorrect username or password, or no permission to use the application.

首次登陆使用用户名密码:admin admin123提示这句话

解决:

1.查找该文件位置

find / -name ‘admin.password’

[root@localhost conf.d]# find / -name 'admin.password'
/var/lib/docker/volumes/5e9c11cb210d1c455816df186170072c0684be9aa2a8e4029192da0f499d2106/_data/admin.password

2.打开该文件查看密码

cd /var/lib/docker/volumes/5e9c11cb210d1c455816df186170072c0684be9aa2a8e4029192da0f499d2106/_data/

cat admin.password
85fed095-d43f-4c2c-8021-f6cf9a979bef

里面内容即为密码
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值