文章目录

引言

在上一节​​《果然新鲜电商项目(10) -GitLab简介以及Docker部署》​​​主要讲解了GitLab,以及在Docker上部署GitLab。
本文继续讲解分布式基础设施环境的搭建,主要讲解Maven私服,以及在Docker上搭建Maven私服仓库。

1.Maven私服

Nexus就是Maven的私服!

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

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

《果然新鲜》电商项目(11)- Docker搭建Maven私服仓库_微服务

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

Maven私服应用场景

①缓存企业级jar
②微服务开发中,实现对微服务接口实现发布与调用。
③正常在微服务开发中,不会直接引入到其他接口源码项目。引入接口jar包进行调用。

为什么在微服务电商项目中?要使用Maven私服?Maven的作用?

管理微服务接口RPC通讯
原理:因为微服务架构采用的是分布式开发模式,生产者将自己服务接口发布到maven私服仓库中,消费者直接从maven私服仓库中下载对应的服务接口即可。实现微服务中的,消费者与生产者通讯。

2.Docker上搭建Maven私服

1.下载一个nexus3的镜像

docker pull sonatype/nexus3

《果然新鲜》电商项目(11)- Docker搭建Maven私服仓库_java_02

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

Maven私服启动容器稍微比较慢,等待1分钟即可。

3.测试

1.关闭防火墙,访问​​http://172.81.235.217:8081/​

systemctl stop firewalld.service

《果然新鲜》电商项目(11)- Docker搭建Maven私服仓库_docker_03
2.登录

首先查询初始密码:

find / -name 'admin.password'
cat 目录

下面就是密码了
《果然新鲜》电商项目(11)- Docker搭建Maven私服仓库_java_04
然后输入登录账号​​​admin​​​和查询出来的密码​​a7f2525b-0d73-4bbf-9b62-aa3c4ca23e29​​​《果然新鲜》电商项目(11)- Docker搭建Maven私服仓库_微服务_05
登录成功后再按步骤重新设置登录密码
《果然新鲜》电商项目(11)- Docker搭建Maven私服仓库_java_06
我把密码设置为​​admin123​​:
《果然新鲜》电商项目(11)- Docker搭建Maven私服仓库_java_07
重新使用新密码登录,登录成功!
《果然新鲜》电商项目(11)- Docker搭建Maven私服仓库_微服务_08

4.总结

《果然新鲜》电商项目(11)- Docker搭建Maven私服仓库_微服务_09