docker search sonatype
下载镜像docker pull sonatype/nexus3 这里我们演示的版本为 sonatype/nexus3
创建文件(可忽略不创建直接启动)在home下创建文件夹mkdir /home/nexus-data 和 mkdir /home/sonatype-work
设置权限
直接启动 docker run -d -p 8081:8081 --name nexus sonatype/nexus3
挂载文件 docker run -d -p 8081:8081 --name nexus -u root -v /home/nexus-data:/nexus-data -v /home/sonatype-work:/sonatype-work sonatype/nexus3 -u root 是为了让容器有读写文件的权限 如果因为挂载文件导致的镜像启动失败 则需要单独对文件进行权限赋予
通过命令 docker logs --follow nexus3 查看是否启动成功
访问系统访问 ip:9081/nexus 第一次访问因为初始化系统的缘故会比较缓慢,需耐心等待。
登录访问成功后,点击页面右上角Sign in。账号默认为admin,密码 在 /home/nexus-data/admin.password 该文件中,使用vi admin.password 进行查看密码并登录。第一次登录成功后会提示重新设置密码。设置密码后 admin.password文件会消失
若文件挂载失败,没有找到admin.password文件,通过命令 docker exec -it nexu3 /bin/bash 进入容器内部,在根目录找到admin.password文件进行查看密码。
仓库类型介绍点击Repository ->Repositories 系统已经给我建立了默认的仓库。新建新的仓库对比着默认的创建就可以了
| 项目 | 具体说明 |
|---|---|
| hosted | 本地存储。像官方仓库一样提供本地私库功能 |
| proxy | 提供代理其它仓库的类型 |
| group | 组类型,能够组合多个仓库为一个地址提供服务 |
值得注意的是 创建仓库时 有个 What type of artifacts does this repository store?
对应三个值分别是 Release(稳定) Snapshot(快照) Mixed(混合:包含两者)
这里是需要我们上传的 jar包版本后缀对应的 如果你的jar包名为 xxx.1.1.SNAPSHOT.jar 则不能上传到Release类型下的仓库
在项目使用的 maven settings.xml 中 写入
对应仓库的name 例如 maven-release 用户名 密码
在pmx中写入
同settings.xml中的servers->server->id对应的值 如:maven-release http://100.196.149.18:8081/repository/maven-release/
然后通过maven 命令 deploy 即可进行部署到对应的仓库中
引用jar包先找到类型为group的仓库 ,进入编辑页面。在最下面 Group->Member repositories: 将左边需要引用的仓库选择到右边 ,这样我们在引用jar包的时候就可以只引用一个仓库,这个仓库会包含所引用其他仓库的所以jar包。
maven-release http://139.196.149.18:8081/repository/acc-public/ true always
然后在引入改仓库中的jar包即可。
如何将jar包下所需的其他jar包同步到仓库中这里我们要找到仓库类型为 proxy的仓库,将仓库下的镜像源改成国内的其他镜像,默认为 :https://repo1.maven.org/maven2/
我们改成阿里云的 https://maven.aliyun.com/repository/public
然后在项目的maven -> settings.xml 中写入:
XXXX-public * XXXX-public http://100.196.149.18:8081/repository/XXXX-public/
当我们通过该地址进行jar下载的时候 ,当前项目的所需的jar包就会同步到我们的仓库中



