欢迎来到窥视未来的博客

Fork me on GitHub

使用docker 搭建nexus3.29

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\nexus3    数据文档
blobs/                         创建blob的默认路径,如果你指定了绝对路径,那就不在这里了
cache/                        当前缓存的karaf包的信息
db/                        OrientDB数据库的数据,用于存储nexus的元数据的数据库
elasticsearch /                当前配置的Elasticsearch状态
etc/                 大概是运行时配置状态和关于资源库的自定义的相关的东西
health-check/            看目录,健康检查的相关报告的存储目录吧
keystores/            自动生成的关于资源库的ID主键
log/            运行实例生成的日志文件,也有日志文件的压缩包,貌似是每天都会生成日志文件,你可以定期删除老的日志文件
tmp/             用于存储临时文件的目录

具体每个目录下的各个配置文件的作用,请参考官方文档说明: https://help.sonatype.com/repomanager3

 

posted on 2021-03-04 11:09  窥视未来  阅读(427)  评论(0编辑  收藏  举报

导航