docker swarm部署nexus3
数据卷挂载nexus数据目录
mkdir -p /usr/local/nexus3/
chown -R 200 /usr/local/nexus3/
创建overlay网络
docker network create -d overlay platform
添加nexus.host标签
添加nexus.host标签,值为ljh2,配置文件可以通过标签设置部署节点
docker node update ljh2 --label-add nexus.host=ljh2
创建docker-swarm配置文件
设置对接网络为platform,platform为外部网络
version: '3.6'
services:
nexus3:
image: sonatype/nexus3
ports:
- "8081:8081"
volumes:
- /usr/local/nexus3/:/nexus-data
networks:
- platform
deploy:
mode: replicated
replicas: 1
placement:
constraints: [node.labels.nexus.host == ljh2]
networks:
platform:
external: true
部署nexus
docker stack deploy -c docker-nexus3.yml nexus3
nexus仓库类型
类型 | 描述 |
---|---|
hosted | 类型的仓库,内部项目的发布仓库 |
releases | 内部的模块中release模块的发布仓库 |
snapshots | 发布内部的SNAPSHOT模块的仓库 |
proxy | 类型的仓库,从远程中央仓库中寻找数据的仓库 |
group | 类型的仓库,组仓库用来方便我们开发人员进行设置的仓库 |
nexus3默认仓库
仓库名称 | 仓库类型 |
---|---|
maven-public | group(将仓库包含在组中) |
maven-central | proxy(远程获取) |
maven-releases | hosted(宿主仓库,本地仓库) |
maven-snapshots | hosted(宿主仓库,本地仓库) |
maven-public为maven-central,maven-releases,maven-snapshots的组
可收到添加阿里云仓库与jboss仓库,再加入到maven-public组中
仓库名 | 仓库地址 |
---|---|
阿里云 | http://maven.aliyun.com/nexus/content/groups/public/ |
jboos | https://repository.jboss.org/nexus/content/groups/public-jboss/ |
让所有maven项目使用nexus私服
编辑settings.xml设置仓库地址
<!-- 本机所有的maven项目都使用私服的组件 -->
<profile>
<id>nexus</id>
<repositories>
<repository>
<!-- id 为cental 表示覆盖中央仓库位置,url已无效,可随意输入,开启快照版本支持 -->