本篇博客详细介绍了使用 docker 容器部署 nexus 的方法。
1、拉取Nexus镜像
1
2
3
|
docker pull sonatype/nexus:2.14.5
或
docker pull sonatype/nexus:oss
|
2、启动Nexus
1
|
docker run -d -p 8081:8081 --name nexus sonatype/nexus:2.14.5
|
3、持久化数据时容器启动方式
创建数据目录并更改该目录的所有者,原因见其Dockerfile
1
|
mkdir -p /home/xdhuxc/nexus/data && chown -R 200 /home/xdhuxc/nexus/data
|
启动容器
1
2
3
4
5
6
|
docker run -d \
--privileged=true \
-p 8081:8081 \
-v /home/xdhuxc/nexus/data:/sonatype-work \
--name nexus \
sonatype/nexus:2.14.5
|
配置文件目录:/sonatype-work/conf/nexus.xml
测试Nexus是否可访问
1
|
curl -u admin:admin123 http://localhost:8081/service/metrics/ping
|
4、目前,还没有找到方法将配置好的nexus.xml固化到nexus镜像中,采取的方式是:先挂载数据目录启动nexus容器,然后替换本地/home/xdhuxc/nexus/data/conf/nexus.xml文件,重启nexus容器。
1
2
3
4
5
6
|
docker run -d \
--privileged=true \
-p 8081:8081 \
-v /data/nexus/data:/sonatype-work \
--name nexus \
sonatype/nexus:2.14.5
|
1、启动nexus容器时,报错如下:
1
2
|
2018-01-04 06:07:57,156+0000 WARN [jetty-main-1] org.sonatype.nexus.util.LockFile - Failed to write lock file
java.io.FileNotFoundException: /sonatype-work/nexus.lock (Permission denied)
|
解决:根据 dockerhub 的步骤,更改数据目录的所有者,原因见Dockerfile。
1
|
mkdir /data/nexus/data && chown -R 200 /data/nexus/data
|
重新启动容器即可。