本想是用常规方法在Linux中安装nexus并运行的,但是在下载nexus的安装包时,倒腾了好久,无奈用起了docker。唯一就是担心,虽然通过挂载卷的方式指定了容器中目录,但是还是担心,万一……
实践出真知嘛。
开始安装:
下载镜像
docker search nexus
docker pull sonatype/nexus3
我选择的是nexus3仓库中镜像
运行镜像
docker run -d -p 18081:8081 --name nexus3.1 -v /usr/local/nexus/data/:/nexus-data sonatype/nexus3
这个地方需要注意的就是本地的挂载目录了:
mkdir /usr/local/nexus/data
chown 200 /usr/local/nexus/data
这里的200是nexus容器中用户的uid,这样是赋予容器中的用户操作本地目录额权限,避免权限问题。可以通过一下命令自行验证:
$docker exec -it 278a4a67ad9d /bin/bash
$whoami
$id nexus
docker容器启动后,就可以访问nexusl:http://ip:端口。
创建我们自己的repository
nexus里可以配置3种类型的仓库,分别是proxy、hosted、group 。
这里简单介绍下:
- proxy是远程仓库的代理。比如说在nexus中配置了一个central repository的proxy,当用户向这个proxy请求一个artifact,这个proxy就会先在本地查找,如果找不到的话,就会从远程仓库下载,然后返回给用户,相当于起到一个中转的作用。
- hosted是宿主仓库,用户可以把自己的artifact、proxy下载不到的artifact,deploy到hosted中。
- group是仓库组,目的是将上述多个仓库聚合,对用户暴露统一的地址,这样用户就不需要在pom中配置多个地址,只要统一配置group的地址就可以了 。
我们登陆到nexus中之后,可以看到已经默认创建了一个group和proxy类型的仓库了,我们只需要创建我们自己的host类型的仓库,然后将添加到group中即可。
这里附一个批量上传本地jar包到nexus中的博客:批量上传Maven仓库jar包到Nexus3.x私服