【Docker】Docker安装部署maven私服

文章目录

  • 镜像拉取
  • 构建nexus实例
  • 登录maven私服
    • 如何查看实例初始化的admin密码呢?
      • 1.查看容器挂载卷
      • 2.找到nexus_nexus_data查看挂载卷详情
      • 3.查看admin账号密码
      • 4.登录并重置密码
  • 使用nexus私服
    • 1.设置settings.xml
    • 2.设置idea pom
  • 出现的问题
  • 小插曲

镜像拉取

docker pull sonatype/nexus3

在这里插入图片描述

构建nexus实例

  • docker-compose up -d
version: '3'

services:
  nexus:
    image: sonatype/nexus3  # 使用的 Nexus 镜像
    ports:
      - "8081:8081"  # 将容器的 8081 端口映射到宿主机的 8081 端口
    volumes:
      - nexus_data:/nexus-data  # 挂载数据卷,用于持久化 Nexus 数据
    restart: always  # 容器停止后自动重启
    networks:
      - my_network  # 加入自定义网络

networks:
  my_network:  # 自定义网络配置

volumes:
  nexus_data:  # 定义数据卷
    driver: local  # 使用本地驱动,数据存储在本地


  • docker run
docker run -d -p 8081:8081 --name nexus --privileged=true -v /root/nexus-data:/nexus-data --restart=always sonatype/nexus3 

登录maven私服

关闭防火墙,访问http://ip:8107
Maven私服启动容器稍微比较慢,等待一会即可。

注:账号为admin,密码在映射数据集下 admin.password文件里面

在这里插入图片描述

此案例使用docker-compose 创建实例

如何查看实例初始化的admin密码呢?

1.查看容器挂载卷

docker volume ls

在这里插入图片描述

2.找到nexus_nexus_data查看挂载卷详情

docker volume inspect nexus_nexus_data

在这里插入图片描述

3.查看admin账号密码

在这里插入图片描述

4.登录并重置密码

在这里插入图片描述

使用nexus私服

1.设置settings.xml

<servers>
   <server>
        <id>maven-releases</id>
        <username>admin</username>
        <password>admin123</password>
    </server>
    <server>
        <id>maven-snapshots</id>
        <username>admin</username>
        <password>admin123</password>
    </server>
</servers>

在这里插入图片描述

2.设置idea pom

<!--注意限定版本一定为RELEASE,因为上传的对应仓库的存储类型为RELEASE -->
    <!--指定仓库地址 -->
    <distributionManagement>
        <repository>
            <!--此名称要和.m2/settings.xml中设置的ID一致 -->
            <id>maven-releases</id>
            <!--上传的位置-->
            <url>http://192.168.33.101:8081/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <!--此名称要和.m2/settings.xml中设置的ID一致 -->
            <id>maven-snapshots</id>
            <!--上传的位置-->
            <url>http://192.168.33.101:8081/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

    <build>
        <plugins>
            <!-- 将源码打包插件 -->
            <plugin>
                <artifactId>maven-source-plugin</artifactId>
                <version>2.2.1</version>
                <configuration>
                    <attach>true</attach>
                </configuration>
                <executions>
                    <execution>
                        <phase>compile</phase>
                        <goals>
                            <goal>jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <!-- deploy时只上传jar包到远程仓库的配置 -->
            <!--发布代码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>

打包编译成功(下面打的是一个 稳定版jar包)

在这里插入图片描述

nexus 私服

在这里插入图片描述

打包编译成功(下面打的是一个 快照jar包)

在这里插入图片描述

出现的问题

问题1:Return code is: 401, ReasonPhrase: Unauthorized. -> [Help 1]

  • 大概率是settings.xml 和 pom 设置不对(主要)
  • maven 版本过低 推荐3.6.3
  • nexus 仓库发布策略更改为Allow redeploy

在这里插入图片描述

小插曲

1. idea 怎么打稳定版本和快照版本?

在Nexus仓库中,一个仓库一般分为public(RELEASE)仓和SNAPSHOT仓,前者存放正式版本,后者存放快照版本。如果在项目配置文件中(无论是build.gradle还是pom.xml)指定的版本号带有-SNAPSHOT后缀,比如版本号为laowang-2.0-SNAPSHOT,那么打出的包就是一个快照版本。

2. 为什么快照版本 后面带了一堆数字?

Maven 中的快照版本是一种特殊的版本,用于代表正在开发中的项目版本。在快照版本号后面的数字通常是一个时间戳或者一个递增的构建号

快照版本的命名约定通常遵循以下格式:<version>-SNAPSHOT。其中,<version> 是项目的基础版本号,而 -SNAPSHOT 则表示这是一个快照版本。在实际使用中,Maven 会将快照版本视为动态版本,它会定期检查仓库以获取最新的快照构建。

在快照版本号后面的数字通常是一个时间戳,用于标识构建的时间或者一个递增的构建号,用于表示每个快照构建的唯一性。这些数字有助于区分不同时间点或不同构建中的快照版本。

举例来说,一个快照版本号可能是 1.0-SNAPSHOT,而后面的数字可能会是类似于 20231218-1345(表示日期和时间)或者类似于 42(表示递增的构建号)这样的格式。这些数字会随着每次快照构建而变化,确保每个快照版本在仓库中都是唯一的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/255879.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

DVWA靶场的设置

1).在win 10系统安phpstudy2016&#xff0c;如图所示 2&#xff09;创建DVWA的靶场&#xff0c;解压DVWA-master.zip到C:\phpStudy\WWW\DWA-master 3&#xff09;配置DVWA链接数据库 右键选择记事本打开configlconfig.inc.php.dist【也可以使⽤其他编辑⼯具打开】&#xff0c;…

react基于antd二次封装spin组件

目录 react基于antd二次封装spin组件组件使用组件效果 react基于antd二次封装spin组件 组件 import { Spin } from antd; import propTypes from "prop-types"; import React from react; import styleId from "styled-components"; // 使用 父div必须加…

【vtkWidgetRepresentation】第十四期 二维标注

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 前言 本文分享vtk中的二维标注,主要用于医学领域,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO 目录 前言 1. vtkBiDimension…

LVS-DR部署

目录 LVS的工作模式及其工作过程 NAT模式&#xff08;VS-NAT&#xff09; 直接路由模式&#xff08;VS-DR&#xff09; IP隧道模式&#xff08;VS-TUN&#xff09; DR模式 LVS负载均衡群集的分析及特点 数据包流向分析 DR 模式的特点 LVS-DR部署实例 LVS-DR模式部署流…

主从reactor多线程实现

现场模型图片&#xff0c;从网上找的 出于学习的目的实现的&#xff0c;如有不对的地方欢迎留言知道&#xff0c;简单实现了http的请求&#xff0c;可通过postman进行访问 启动项目&#xff1a; 返回数据示例 postman请求 附上源码&#xff0c;有问题直接看源码吧

TensorFlow 2 和 Keras 之间的区别总结

1、什么是TensorFlow 2 TensorFlow 2是谷歌开源的一款深度学习框架&#xff0c;于2019年发布&#xff0c;并且在同年10月1日发布了TensorFlow 2.0.0正式稳定版。这款框架被很多企业与创业公司广泛用于自动化工作任务和开发新系统。 TensorFlow 2在分布式训练支持、可扩展的生…

Linux-----21、挂载

# 挂载命令 将硬件资源&#xff0c;或文件资源&#x1f4bf;&#xff0c;和&#x1f4c2;空目录&#x1f517;连接起来的过程 # mount linux 所有存储设备都必须挂载使用&#xff0c;包括硬盘 ​ 命令名称&#xff1a;mount ​ 命令所在路径&#xff1a;/bin/mount ​ 执行…

PIC单片机项目(4)——基于PIC16F877A的温度光照检测装置

1.功能设计 基于PIC16F877A单片机&#xff0c;使用DS18B20进行温度测量&#xff0c;使用光敏电阻进行光照测量&#xff0c;将测量值实时显示在LCD1602屏幕上&#xff0c;同时可以设定光照阈值和温度阈值。当温度大于阈值&#xff0c;则蜂鸣器报警&#xff0c;当光照小于阈值&am…

【分布式算法】Gossip协议详解

一、为什么需要 Gossip 协议&#xff1f; 为了实现 BASE 理论中的“最终一致性原则”。两阶段提交协议和 Raft 算法需要满足“大多数服务节点正常运行”原则&#xff0c;如果希望系统在少数服务节点正常运行的情况下&#xff0c;仍能对外提供稳定服务&#xff0c;这时就需要实…

RabbitMQ入门指南(二):架构和管理控制台的使用

专栏导航 RabbitMQ入门指南 从零开始了解大数据 目录 专栏导航 前言 一、RabbitMQ架构 二、RabbitMQ管理控制台的使用 1.Exchange交换机 2.Queue队列 3.绑定Exchange交换机和Queue队列 4.发送消息 5.数据隔离 总结 前言 RabbitMQ是一个高效、可靠的开源消息队列系统…

HTML_CSS的基本选择器的使用及其作用范围和优先级

目录 ✨CSS的使用&#xff1a;行内样式内部样式外部样式 ✨CSS基本选择器&#xff1a;id选择器class选择器标签选择器 ✨优先级&#xff1a;选择器的优先级样式表的优先级 ✨CSS的使用&#xff1a; 根据定义CSS的位置不同&#xff0c;分为行内样式、内部样式和外部样式 行内样…

鸿蒙OS:打破界限的操作系统新星

导言 鸿蒙OS&#xff08;HarmonyOS&#xff09;是华为公司为应对技术封锁而推出的分布式操作系统&#xff0c;其背后蕴含着华为构建全球数字生活愿景的雄心。本文将深入剖析鸿蒙OS的起源、核心特性&#xff0c;并展望其未来在数字生态中的角色。 1. 背景与起源 华为的…

[自动化运维工具]ansible简单介绍和常用模块

ansible 源操作主机功能 自动化运维&#xff08;playbook剧本yaml&#xff09; 是基于python开发的一个配置管理和应用部署工具&#xff0c;在自动化运维中&#xff0c;现在还是异军突起 ansible能批量配置&#xff0c;部署&#xff0c;管理上千台主机&#xff0c;类似于xshell…

其他配置相关安装

consul安装和配置 docker run -d -p 8500:8500 -p 8300:8300 -p 8301:8301 -p 8302:8302 -p 8600:8600/udp consul consul agent -dev -client0.0.0.0访问&#xff1a;http://192.168.0.102:8500/ DNS查询 dig 192.168.0.102 -p 8600 consul.service.consul SRVnacos安装 ht…

音视频技术开发周刊 | 324

每周一期&#xff0c;纵览音视频技术领域的干货。 新闻投稿&#xff1a;contributelivevideostack.com。 467亿参数MoE追平GPT-3.5&#xff01;爆火开源Mixtral模型细节首公开&#xff0c;中杯逼近GPT-4 今天&#xff0c;Mistral AI公布了Mixtral 8x7B的技术细节&#xff0c;不…

力扣题:数字与字符串间转换-12.25

力扣题-12.25 [力扣刷题攻略] Re&#xff1a;从零开始的力扣刷题生活 力扣题1&#xff1a;481. 神奇字符串 解题思想&#xff1a;首先将字符串构建出来&#xff0c;然后进行遍历即可 class Solution(object):def magicalString(self, n):""":type n: int:rty…

【SpringCloudAlibaba】Sentinel熔断限流工具的使用

一、前言 随着微服务的流行&#xff0c;服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件&#xff0c;主要以流量为切入点&#xff0c;从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维…

【docker】修改docker的数据目录

背景 主节点是分配了较少内存和存储的低配机器&#xff0c;因为我们系统的rancher是用docker镜像启动的&#xff0c;而rancher和docker的默认目录都放在/var/lib下面&#xff0c;而这个/var目录目前只分配10G的存储&#xff0c;导致节点存储报警。因此想修改docker的数据目录&…

Ubuntu 18.04配置NFS服务器以及配置时遇到NFS问题

1.安装相关软件 sudo apt-get install nfs-kernel-server sudo apt-get install nfs-common 2.配置共享目录 2.1修改exports文件 sudo vi /etc/exports在最后添加如下并保存退出 /home/xiaowu/nfs 192.168.31*(rw,sync,no_root_squash,no_subtree_check) /home/xiaowu/nfs…

半夜三更的,Proxmox VE集群的ceph OSD磁盘挂了

这几天centreon监控频频报警&#xff0c;提示ceph pg 错误&#xff0c;用 ceph health detail 确定不一致的pgs&#xff0c;然后用指令 ceph pg repair pg_num 进行修复&#xff0c;通过查看系统日志&#xff0c;有IO错误&#xff0c;修复一次&#xff0c;能管半天&#xff0c;…