Docker中Maven私服的搭建

为何用到Maven私服?

在实际开发中,项目中可能会用到第三方的jar、内部通讯的服务接口都会打入到公司的私服中。

我们从项目实际开发来看:

  1. 一些无法从外部仓库下载的构件,例如内部的项目还能部署到私服上,以便供其他依赖项目使用。

  2. 为了节省带宽和时间,在局域网内架设一个私有的仓库服务器,用其代理所有外部的远程仓库。当本地Maven项目需要下载构件时,先去私服请求,如果私服没有,则再去远程仓库请求,从远程仓库下载构件后,把构件缓存在私服上。这样,及时暂时没有Internet链接,由于私服已经缓存了大量构件,整个项目还是可以正常使用的。同时,也降低了中央仓库的符合。

如上摘抄自私服服务器架设,如下为详细步骤:

1、下载一个nexus3的镜像

docker pull sonatype/nexus3

2、将容器内部/var/nexus-data挂载到主机/root/nexus-data目录

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

通过 docker ps -a 查看容器启动情况

验证,通过id查看容器的详细信息,输出如下ip地址。

docker inspect 容器id

紧接着访问以下这个地址试一下:curl 127.17.0.2:8081

如果启动失败,可关闭防火墙再试一下:

systemctl stop firewalld.service

ok,启动后浏览器访问一下 http://ip:8081

至此,私服搭建成功。

默认登陆账号 admin admin123

注意,这个时候你可能会遇到如下这个错误:

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

maven私服登录的时候默认是不能使用明文密码,要使用密文密码,一般在你创建容器的目录下,比如 root/nexus-data/admin.password ,注意,需要进入容器中找,见下方指令与图:

docker exec -it c2101070de57 bash
bash-4.2$ cd /nexus-data/
bash-4.2$ cat admin.password 
d62fa667-a22b-41db-a14a-6aa6f793f4fbbash-4.2

去掉后面的 bash-4.2$d62fa667-a22b-41db-a14a-6aa6f793f4fb 即为密码。

重新登陆后,会提示你重设密码:

3、创建maven仓库

上传maven私服之前我们先,创建个仓库

选择maven2(hosted)

填写仓库信息:

创建用户:

填写基本信息

创建好账户后就可以在右上角切换账户了。

接着就是配置本地 maven > conf 了,找到自己本机的 maven conf 下的 setting.xml 文件,添加如下信息:

注意是 services 节点下:

<services><server><id>ttyy</id><username>ttyy</username><password>ttyy</password></server></services>

4、如何将架包上传到maven私服

创建一个普通的 maven 项目,配置 pom.xml 如下:

<!--注意限定版本一定为RELEASE,因为上传的对应仓库的存储类型为RELEASE -->
<!--指定仓库地址 -->
<distributionManagement><repository><!--此名称要和.m2/settings.xml中设置的ID一致 --><id>ttyy</id><url>http://192.168.10.130:8081/repository/ttyy-release/</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>

项目命令行中执行如下指令:

mvn deploy

发布成功后,如何搜索呢?如下图:

发布后如何使用呢,相信很多小伙伴肯定用过阿里云的私服,一样的道理啦:

<dependencies><dependency><groupId>club.sscai</groupId><artifactId>ttyy-springboot</artifactId><version>1.0-RELEASE</version></dependency>
</dependencies><repositories><repository><id>ttyy</id><url>http://192.168.10.130:8081/repository/ttyy-release/</url></repository>
</repositories>

我创建了一个java相关的公众号,用来记录自己的学习之路,感兴趣的小伙伴可以关注一下微信公众号哈:niceyoo

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

博客作业03--栈和队列

1.学习总结 2.PTA实验作业 题目1&#xff1a;jmu-字符串是否对称 1设计思路 for i 1 to 字符串str结束if 栈顶元素 ! str[i] 字符串不对称输出noendfor字符串对称输出yes 2代码截图 3PTA提交列表说明 前面几处错误都是因为输入用的是getchar(),后来改用gets就对了好像是因为这…

apollo报:系统出错,请重试或联系系统负责人

说明&#xff1a;基于 docker 搭建的 apollo&#xff0c;创建项目后一直报系统出错&#xff0c;请重试或联系系统负责人错误。 项目人员列表一直空白&#xff1a; 经排查是数据库配置参数不匹配&#xff0c;由于自己的虚拟机 ip 为 192.168.10.130 注意&#xff1a;修改完需要重…

关于Trie的一些算法

最近学习了一下关于Trie的一些姿势&#xff0c;感觉很实用。 终于不用每次看到字符串判重等操作就只想到hash了 关于Trie的定义&#xff0c;来自百度百科 在计算机科学中&#xff0c;Trie&#xff0c;又称前缀树或字典树&#xff0c;是一种有序树状的数据结构&#xff0c;用于保…

使用nginx搭建https服务器

最近在研究nginx&#xff0c;整好遇到一个需求就是希望服务器与客户端之间传输内容是加密的&#xff0c;防止中间监听泄露信息&#xff0c;但是去证书服务商那边申请证书又不合算&#xff0c;因为访问服务器的都是内部人士&#xff0c;所以自己给自己颁发证书&#xff0c;忽略掉…

分布式配置中心阿波罗的搭建与客户端的应用

为了统一管理微服务配置文件&#xff0c;实现动态化刷新配置文件&#xff0c;常见的两种方式为阿波罗、SpringCloudConfig&#xff0c;关于两者主要区别是&#xff1a; 阿波罗配置文件存放在数据库中&#xff0c;SpringCloudConfig存放在Git里面 一、搭建过程 本篇主要演示阿波…

PHP攻击防御

原文地址 有个朋友网站被攻击&#xff0c;刚好我们的网站有比较全面的攻击防御&#xff0c;了解了一下自己网站的防御&#xff0c;再上网搜了一些文章来看&#xff0c;觉得上面的文章写得很全面&#xff0c;特此备份。留着以后自己忘记的时候看看。

毕业一年的大专生程序员工作总结(java后台)

文章导读 一、回眸过去 – 闲扯的话 – 零碎的技术二、经验总结 – 沟通交流 – 贵在坚持 – 合理规划三、展望未来 – 积累行业背景 – 学习清单四、最后补充 一、 回牟过去 1、闲扯的话 大专生毕业一年工作总结&#xff0c;谈不上予人借鉴&#xff0c;算是对自己过去一年…

mysql自带加密解密字符集问题

由于公司业务需要&#xff0c;需要对已有的数据进行加密&#xff0c; 由于数据加密之后需要可逆的解密&#xff0c;最先考虑使用encode&#xff0c;decode函数&#xff1b;在实际使用的过程遇到加密数据解密之后得不到原本的值&#xff0c;后发现是由于字符集不正确&#xff0c…

重温类加载机制

前言 我们在学习 java 基础的时候&#xff0c;从宏观上了解一个类到运行大致是&#xff1a;.java 文件通过 javac 编译器编译得到 .class 文件&#xff0c;在用到该类时&#xff0c;jvm 会加载该 class 文件&#xff0c;并创建对应的 class 对象&#xff0c;将 class 文件加载…

微信团队分享:微信移动端的全文检索多音字问题解决方案

本文来自微信开发团队WeMobileDev公众号的技术分享。 1、前言 微信的移动客户端全文搜索中的多音字问题一直是搜索体验的痛点之一。微信客户端全文搜索在上线以后&#xff0c;也经常收到用户关于多音字问题的反馈。所以&#xff0c;微信全文搜索中的多音字搜索成了一个迫切需要…

PHP编译不成功

早上开机的时候运行本地网站&#xff0c;蹦出一个error: ERROR:syntax error, unexpected 92 (T_CONSTANT_ENCAPSED_STRING), expectin懵&#xff0c;昨天下班前不是还好好的吗&#xff08;其实我不知道下班前是不是好好的&#xff0c;因为下班前没跑程序好尴尬&#xff09;&am…

201571030128/201571030118《小学四则运算练习软件软件需求说明》结对项目报告

一、以实验二个人项目、实验三结对项目所开发的小学生四则运算练习软件作为原型&#xff0c;实施小学生四则运算练习软件用户调研活动具体过程。 1、真实的调研对象 对象性别年龄身份刘老师女23小学数学实习老师杨同学男12小学五年级学生杨家长女35杨同学的家长何老师男24小学数…

QQ互联登陆(Java)

一、准备部分 1、账户注册 腾讯开放平台网址: https://connect.qq.com/index.html 首先需要到开放平台注册QQ互联开发者身份。注册之后创建一个网站应用&#xff0c;注意&#xff0c;需要备案成功的域名才可申请。 2、应用审核 审核通过后如下图所示&#xff0c;审核通过后可以…