1、查找nexus 镜像
docker search nexus
2、拉取starts 数最高的镜像
docker pull sonatype/nexus3
3、启动nexus镜像容器
docker run -d -p 8081:8081 -p 8082:8082 -p 8083:8083 --name nexus3 -v /home/nexus/nexus-data:/nexus-data --restart=always sonatype/nexus3
通过docker logs 容器id或容器名查看日志,发现服务启动报错
Caused by: java.io.FileNotFoundException: /nexus-data/log/karaf.log (No such file or directory) at java.io.FileOutputStream.open0(Native Method) at java.io.FileOutputStream.open(FileOutputStream.java:270) at java.io.FileOutputStream.<init>(FileOutputStream.java:213) at org.apache.karaf.main.util.BootstrapLogManager$SimpleFileHandler.open(BootstrapLogManager.java:193) at org.apache.karaf.main.util.BootstrapLogManager$SimpleFileHandler.<init>(BootstrapLogManager.java:182) at org.apache.karaf.main.util.BootstrapLogManager.getDefaultHandlerInternal(BootstrapLogManager.java:100) ... 12 more
nexus 容器启动报错,解决文件目录权限问题,执行如下命令即可:
chmod 777 /home/nexus/nexus-data/
4、Nexus 私服访问地址
http://ip:8081/
新版界面有点科幻视觉效果,界面如下:
上面命令是指使用nexus3镜像创建并启动一个容器,然后指定暴露8081端口到对应主机的8081端口
将容器内部/var/nexus-data挂载到主机/root/nexus-data目录。
## 启动nexus docker run -d -p 8081:8081 -p 8082:8082 -p 8083:8083 --name nexus3 -v /home/nexus/nexus-data:/nexus-data --restart=always sonatype/nexus3
## -v /home/nexus/nexus-data:/nexus-data 将数据挂载到宿主机
## 8081:nexus3网页端
## 8082:docker(hosted)私有仓库,可以pull和push(后面实现docker的时候会详细说明)
## 8083:docker(proxy)代理远程仓库,只能pull(后面实现docker的时候会详细说明)
5、右上角登录admin账户 发现之前说的默认密码admin/admin123登录不上了!!!!!!!!!
各种查询资料才知道3.17版本密码改成随即的了,而且登录时候提示密码在/nexus-data/admin.password里
用户名或密码错误,或者没有使用该应用程序的权限。
6、然后搜索服务器上 admin.password 文件位置,因为是docker 安装的所以要从docker 进入容器里边。
#查询容器的id
docker ps
#进入容器里面
docker exec -it 1adc7ec48ee8 /bin/bash
/home/nexus
7、查看密码
vi admin.password
注意:登录密码就是这么一大长传的字符串!!!,这不是加密的,当初以为这是加密的,还各种找资料要解密
首次登录成功会提示你设置 密码
配置nexus和熟悉它
sonatype-work
exus3 数据文档
blobs/ 创建blob的默认路径,如果你指定了绝对路径,那就不在这里了
cache/ 当前缓存的karaf包的信息
db/ OrientDB数据库的数据,用于存储nexus的元数据的数据库
elasticsearch / 当前配置的Elasticsearch状态
etc/ 大概是运行时配置状态和关于资源库的自定义的相关的东西
health-check/ 看目录,健康检查的相关报告的存储目录吧
keystores/ 自动生成的关于资源库的ID主键
log/ 运行实例生成的日志文件,也有日志文件的压缩包,貌似是每天都会生成日志文件,你可以定期删除老的日志文件
tmp/ 用于存储临时文件的目录
具体每个目录下的各个配置文件的作用,请参考官方文档说明: https://help.sonatype.com/repomanager3