当前位置: 首页 > news >正文

【Docker Nexus3】maven 私库

1.部署环境

  • window 11 x64
  • Docker Desktop 4.34.1 (166053)
    • Docker Engine v27.2.0

1.1.Docker 镜像源

1.1.1.Docker Engine 配置

{"builder": {"features": {"buildkit": true},"gc": {"defaultKeepStorage": "32GB","enabled": true}},"experimental": true, "hosts": ["tcp://0.0.0.0:2375"],"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn","https://registry.docker-cn.com","http://hub-mirror.c.163.com","https://mirror.ccs.tencentyun.com"]
}

2.拉取Nexus3镜像

# 拉取镜像
docker pull sonatype/nexus3
# 保存镜像源(选)
docker save -o sonatype_nexus3_latest sonatype/nexus3:latest

3.创建并运行Nexus3

# 创建运行镜像,设置最大内存
docker run -itd -p 18081:8081 -p 18082:8082 -p 18083:8083 --privileged=true --name nexus3 -v D:\docker\maven\nexus\data:/var/nexus-data -v D:\docker\maven\nexus\nexus-data:/nexus-data -e INSTALL4J_ADD_VM_PARAMS="-Xms512m -Xmx2048m -XX:MaxDirectMemorySize=2048m -Djava.util.prefs.userRoot=/nexus-data/javaprefs" --restart=always docker.io/sonatype/nexus3

说明

  • 内存限制 -e INSTALL4J_ADD_VM_PARAMS="-Xms512m -Xmx2048m -XX:MaxDirectMemorySize=2048m -Djava.util.prefs.userRoot=/nexus-data/javaprefs"
  • --privileged=true 允许容器使用管理员权限
  • --restart=always 自动重启

3.1.访问及查看密码

查看初始登录密码

docker exec -it nexus3 /bin/bash
cat /opt/sonatype/sonatype-work/nexus3/admin.password

修改登录默认密码

访问 http://127.0.0.1:18081/

3.2.创建存储

在这里插入图片描述
在这里插入图片描述

3.3.创建代理库

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

参考私库镜像

  • aliyun:https://maven.aliyun.com/repository/public
  • nexus-aliyun:http://maven.aliyun.com/nexus/content/groups/public
  • jeecg:https://maven.jeecg.org/nexus/content/repositories/jeecg
  • jeecg-snapshots:https://oss.sonatype.org/content/repositories/snapshots

3.4.创建本地库

在这里插入图片描述
在这里插入图片描述

3.5.将创建的私库,添加到公共库中

在这里插入图片描述
在这里插入图片描述

4.配置 maven

可以访问公共库

settings.xml

<?xml version="1.0" encoding="UTF-8"?><settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd"><localRepository>D:\workspace\env\repository</localRepository><pluginGroups></pluginGroups><proxies></proxies><servers><server><id>xxx-center</id><username>admin</username><password>xxxxxx</password></server><server><id>xxx-center-snapshot</id><username>admin</username><password>xxxxxx</password></server></servers><mirrors><mirror><id>maven-public</id><mirrorOf>maven-public</mirrorOf><name>maven-public</name><url>http://xxx.xxx.xxx.xxx:18081/repository/maven-public/</url></mirror></mirrors><profiles></profiles>
</settings>

5.配置pom.xml

发布配置

 <distributionManagement><repository><id>xxx-center</id><name>xxx-center</name><url>http://xxx.xxx.xxx.xxx:18081/repository/djb-center/</url></repository><snapshotRepository><id>djb-center-snapshot</id><name>djb-center-snapshot</name><url>http://xxx.xxx.xxx.xxx:18081/repository/djb-center-snapshot/</url></snapshotRepository></distributionManagement>

拉取镜像配置

<repositories><repository><id>maven-public</id><name>maven-public</name><url>http://xxx.xxx.xxx.xxx:18081/repository/xxx-center/</url></repository></repositories>

也可以指定源配置(不推荐)

<repositories><repository><id>aliyun</id><name>aliyun Repository</name><url>https://maven.aliyun.com/repository/public</url><snapshots><enabled>false</enabled></snapshots></repository><repository><id>jeecg</id><name>jeecg Repository</name><url>https://maven.jeecg.org/nexus/content/repositories/jeecg</url><snapshots><enabled>false</enabled></snapshots></repository><repository><id>jeecg-snapshots</id><name>jeecg-snapshots Repository</name><url>https://oss.sonatype.org/content/repositories/snapshots</url><releases><enabled>false</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository>
</repositories>

6.打包与发布

# 打包
mvn -Dfile.encoding=UTF-8 -DskipTests=true clean package -P prod
# 发布
mvn -Dfile.encoding=UTF-8 -DskipTests=true clean deploy -P prod
http://www.lryc.cn/news/442330.html

相关文章:

  • Docker本地部署Chatbot Ollama搭建AI聊天机器人并实现远程交互
  • MySQL:用户管理
  • 论文《Mixture of Weak Strong Experts on Graphs》笔记
  • 【诉讼流程-健身房-违约-私教课-诉讼书提交流程-民事诉讼-自我学习-铺平通往法律的阶梯-讲解(3)】
  • 数据结构(Day14)
  • Paragon NTFS for Mac和Tuxera NTFS for Mac,那么两种工具有什么区别呢?
  • HashTable结构体数组实现
  • Python 管理 AWS ElastiCache 告警
  • 【无人机设计与控制】四旋翼无人机俯仰姿态保持模糊PID控制(带说明报告)
  • [数据集][目标检测]不同颜色的安全帽检测数据集VOC+YOLO格式7574张5类别
  • 确保 App 跟踪透明度权限:Flutter 中的实践
  • 李沐 过拟合和欠拟合【动手学深度学习v2】
  • Go Testify学习与使用
  • Word中引用参考文献和公式编号的方法
  • [数据集][目标检测]智慧养殖场肉鸡目标检测数据集VOC+YOLO格式3548张1类别
  • Vision Transform—用于大规模图像分类的Transformers架构
  • 内核驱动开发之系统移植
  • 前端在网络安全攻击问题上能做什么?
  • IntelliJ IDEA 创建 HTML 项目教程
  • YOLOv9改进系列,YOLOv9主干网络替换为RepViT (CVPR 2024,清华提出,独家首发),助力涨点
  • VBS学习1 - 语法、内置函数、内置对象
  • 11 vue3之插槽全家桶
  • Excel 基础知识-操作手册1
  • Python 类的继承
  • gRPC介绍
  • Git之误执行git rm -r解决方案(六十七)
  • html文件指什么
  • AAAI2024--频谱在多模态表示和融合中的作用更为有效:A Multimodal Spectrum Rumor Detector
  • 【Python报错已解决】SyntaxError invalid syntax
  • CI/CD持续集成和持续部署以及相关软件的使用