在Docker上部署Nexus
这篇文章主要介绍了:如何通过镜像部署Nexus。参考了https://hub.docker.com/r/sonatype/nexus3/和https://github.com/sonatype/docker-nexus并梳理了一些容易踩到的坑。
docker的安装和加速参见Linux安装Docker
本文基于Centos,其他环境大同小异
1.部署
1.1 下载镜像
1 | $ docker pull sonatype/nexus3 |
这里注意,nexus有两个镜像sonatype/docker-nexus3
和sonatype/nexus3
,请不要选择带docker的。
1.2 启动
1 | $ docker volume create vo-nexus-data #创建一个卷 |
参数说明:
- 修改文件描述符数量,
--ulimit nofile=65536:65536
默认是不需要的,只有当你使用的是sonatype/nexus3
才需 - 加载卷,
--mount type=volume,src=vo-nexus-data,target=/nexus-data
,这里使用的是mount
方式,也可以通过-v vo-nexus-data:/nexus-data
,这么写是方便大家理解持久化的数据被多容器访问 - 端口,
-p 18090:8081
,nexus内部使用的是8081端口,不用改变,我们将物理机的18090端口映射到容器内部;-p 18091:8082
是额外冗余的端口,用于类似docker之类的服务 - 容器名称,
--name nexus
,这里默认使用nexus
,可以随意更改,不和已有的容器重复即可 - 自动重启,
--restart=always
- volume create的相关参数可以参见官方文档(https://docs.podman.io/en/latest/markdown/podman-volume-create.1.html)。
1.3 查看Nexus
1 | $ docker ps -a #查看所有容器 |
示例如下:
1 | CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES |
进入容器并修改文件
1 | $ docker exec -i -t -u 0 b272ea267a8d bash #登录 |
访问这台主机的ip:18090,就可以看到启动页面了.
默认账号是:admin
默认密码是:admin123
2.使用和配置
可以参考nexus配置的一些实践