1、安装docker
一、脚本安装
本机环境CentOS7,用户为roothtml
下载脚本到工做目录
curl -fsSL https://get.docker.com -o get-docker.sh
执行脚本
sudo sh get-docker.sh
执行完会自动退出shell,须要从新登陆。git
2、安装docker-compose(可选)
一、脚本安装
安装docker-compose的可执行命令到/usr/local/bin
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
增长可执行权限
sudo chmod +x /usr/local/bin/docker-compose
不出意外,本地网络是下载不动的...github
能够尝试 Github手动下载,或者开加速器。下载完成后copy到/usr/local/bin,而后增长可执行权限docker
3、启动docker
service docker start
或
systemctl start docker
4、拉取镜像
一、查找镜像
docker search nexus
通常安装star数最多的版本,目前最新是sonatype/nexus3shell
二、拉取镜像
docker pull sonatype/nexus3
5、利用docker启动容器(五或六任选其一)
一、最简单的方式:
docker run -p 8081:8081 --name nexus sonatype/nexus3
二、指定数据卷,防止每次启动容器,容器里的数据丢失,实现容器和虚拟机数据共享。
若是有容器和下面要建立的容器同名的话,先删除
docker rm <container_name>
指定虚拟机与容器共享的文件夹
mkdir /usr/local/docker/nexus/nexus-data
启动容器
docker run -p 8081:8081 --name nexus -v /usr/local/docker/nexus/nexus-data:/nexus-data snoatype/nexus3
指定数据卷后启动,可能会报一些权限错误,致使启动不起来。可能会须要修改文件夹权限
chmod 777 /usr/local/docker/nexus/nexus-data
6、利用docker-compose启动nexus容器(五或六任选其一)
一、建立docker-compose.yml
mkdir /usr/local/docker
cd /usr/local/docker
vi docker-compose.yml
docker-compose.yml内容以下:
version: "3.7"
services:
nexus:
restart: "no"
image: sonatype/nexus3
container_name: nexus
ports:
- 8081:8081
volumes:
- /usr/local/docker/nexus/nexus-data:/nexus-data
version : 指定docker-compose语法版本,版本不一样,支持的docker也不一样浏览器
restart网络
services : 多种服务的根节点less
nexus : 服务名随意起,表明要建立的服务curl
restart : 容器的重启策略,有no、always、on-failure、
unless-stopped四种可选值。maven
image : 容器依据的镜像
container_name : 容器名
ports : 端口
volumes : 数据卷
注意:yml文件缩进必须用空格
7、访问nexus
一、打开浏览器,访问 http://<host address>:8081/
二、管理员登陆密码在 /usr/local/docker/nexus/nexus-data 中admin开头的文件中,将其拷贝输入便可。
三、登陆以后会要求修改密码,按要求修改便可。
8、项目发布到nexus的仓库
一、首先修改maven的setting.xml文件,添加用户信息,以便jar包上传私服时进行身份认证,修改内容以下:
<servers>
<server>
<id>maven-releases</id>
<username>admin</username>
<password>112233</password>
</server>
<server>
<id>maven-snapshots</id>
<username>admin</username>
<password>112233</password>
</server>
</servers>
id : 为nexus的仓库名称,
username : nexus用户名
password : nexus密码
二、建立maven项目,修改pom.xml
增长发布管理节点
<distributionManagement>
<snapshotRepository>
<id>maven-snapshots</id>
<name>maven-snapshots-repository</name>
<url>http://192.168.172.141:8081/repository/maven-snapshots/</url>
</snapshotRepository>
<repository>
<id>maven-releases</id>
<name>maven-releases-repository</name>
<url>http://192.168.172.141:8081/repository/maven-releases/</url>
</repository>
</distributionManagement>
snapshotRepository : 快照仓库
repository : 发行仓库
id : 与上面的server的id一致
name : 随便
url : 仓库地址,从nexus中能够找到
三、项目打包发布
maven会根据<version/>中是否含有SANPSHOT来选择是发布到快照仓库,仍是发行版仓库
项目打包
mvn clean package -Dmaven.test.skip=true
项目发布
mvn deploy
运行完即可在nexus中看到本身的项目了。
9、jar包安装到nexus私服
有时项目开发时,一些maven依赖下载不下来,一直报错。这时,能够手动下载jar包,将其安装到nexus私服,再从nexus解决依赖问题。下面以安装kaptcha为例:
mvn deploy:deploy-file -DgroupId=com.google.code.kaptcha -DartifactId=kaptcha -Dversion=2.3 -Dpackaging=jar -Dfile=D:\kaptcha-2.3.2.jar -Durl=http://192.168.172.141:8081/repository/third/ -DrepositoryId=third
DgroupId : jar包的groupId
Dversion : jar包的版本
Dfile : jar包所在位置
Durl : 仓库地址
DrepositoryId : 仓库名
这里新建了名为third的第三方仓库,注意要在setting.xml增长一个server节点,配置用户名和密码。同时要将third仓库加到maven-public组中,由于第十步要依赖的是maven-public组。将 third加入maven-pulic组后,只要依赖maven-public,即可取到third中的jar包。
10、从nexus下载依赖
在pom.xml中增长以下仓库配置:
<repositories>
<repository>
<id>nexus</id>
<name>Nexus Repository</name>
<url>http://192.168.172.141:8081/repository/maven-public/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<name>Nexus Plugin Repository</name>
<url>http://192.168.172.141:8081/repository/maven-public/</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</pluginRepository>
</pluginRepositories>
能够看到 上面的url节点填写的都是maven-public组的url,而maven-releases,maven-snapshots,third都包含在maven-public中,因此能取到三个仓库的内容。
- 文章链接: https://blog.zhangcun.store/2022/03/01/docker-huan-jing-xia-da-jian-nexus-si-fu/
- 版权声明: 本网站所有文章除特别声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明出处!
你的赏识是我前进的动力
支付宝
微信
