准备工作
#创建容器持久化目录
mkdir -p /data/nexus
#拉取容器镜像(也可以创建容器时候拉取)
docker pulkl sonatype/nexus3
部署服务
#创建容器
docker run -d --restart=always --name=nexus -p 8081:8081 --privileged=true -e INSTALL4J_ADD_VM_PARAMS="-Xms512M -Xmx512M -XX:MaxDirectMemorySize=512M" -e TZ=Asia/Shanghai -v /data/nexus:/nexus-data sonatype/nexus3
解释:
privileged:以高权限运行容器(好像不好使,进入容器依然是普通用户)
INSTALL4J_ADD_VM_PARAMS:配置服务最大内存资源限制
TZ:配置容器内时区,防止容器内与宿主机时间不一致
默认Nexus2的持久化目录为/var/nexus-data,Nexus3版本更改成了/nexus-data

初始化
容器部署完成后,需要登录web界面初始化admin账户,初始密码默认存储在/nexus-data下,cat一下持久化目录中的文件即可获得
cat /data/nexus/admin.password
初始化admin后Nexus3就基本部署完成了

小问题
我第一次部署时候忘记加TZ环境变量,导致容器内与宿主机时间不一致不是北京时间,因为已经运行了一段时间持久化目录还配置错了无法删除重建,后续进入服务器发现普通用户无法更改时区文件,最后搜肠刮肚的找了个办法,就是创建当前用户的环境变量文件,把TZ写入用户文件中然后source一下就好了
#创建文件
vi ~/.bashrc
#写入环境变量
export TZ=Asia/Shanghai
#保存退出后执行
source ~/.bashrc
#再执行date时候时间正常了
