Docker安装Nexus3

编程

准备工作

Docker安装

安装

下载镜像

docker pull sonatype/nexus3

 运行镜像

docker run -d -p 8081:8081 -p 8082:8082 -p 8083:8083 --name nexus3 -v /home/root/data/nexus/data:/nexus-data --restart=always sonatype/nexus3

执行以上命令后镜像没有启动成功,使用如下命令看启动日志:

docker ps  //找到nexus3的container_id,记录下来

docker logs container_id   //可以看到启动错误信息

我在启动时遇到的问题:

java.io.FileNotFoundException: /nexus-data/log/karaf.log (No such file or directory)

处理方案:

chmod 777 -R /home/root

docker stop container_id

docker start container_id

以下是对启动命令的解释:

  1. 端口映射

  • 8082端口是用于host镜像仓库的服务端口
  • 8083端口用户group镜像仓库的服务端口
  • 8081 端口是nexus的服务端口

2. 进程名

  • --name nexus3

3. 持久化

/home/root/data/nexus/data:/nexus-data 将容器内nexus-data数据文件夹挂载到宿主机/home/root/data/nexus/data目录下
4. 指定要运行的镜像名

docker images可以查看所有镜像名

sonatype/nexus3是要运行的镜像名,如果后面不加版本号,则默认启动latest版本
5. 跟随docker启动 

--restart=always:
意思是不管退出状态码是什么始终重启容器。当指定always时,docker daemon将无限次数地重启容器。容器也会在daemon启动时尝试重启,不管容器当时的状态如何。

  • no :容器退出时不要自动重启。这个是默认值。
  • on-failure[:max-retries] : 只在容器以非0状态码退出时重启。可选的,可以退出docker daemon尝试重启容器的次数。
  • always :不管退出状态码是什么始终重启容器。当指定always时,docker daemon将无限次数地重启容器。容器也会在daemon启动时尝试重启,不管容器当时的状态如何。
  • unless-stopped :不管退出状态码是什么始终重启容器,不过当daemon启动时,如果容器之前已经为停止状态,不要尝试启动它

访问

http://192.168.10.122:8081

输入账号/密码,nexus3密码不是默认的admin/admin123,而是在/nexus-data/admin.password文件中,使用如下方法获取

docker exec -it container_id bash

cat /nexus-data/admin.password

进去之后默认会提示修改密码,然后会弹出一个安全配置,选择第一个选项,这样其他人可以不需要认证也可以搜索和访问maven仓库,比如拉取jar包

设置

设置代理到阿里云的仓库

地址:https://maven.aliyun.com/repository/public

创建用户

Setting.xml

<?xml version="1.0" encoding="UTF-8"?>

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

<localRepository>F:datamavenepository</localRepository>

<mirrors>

<mirror>

<id>nexus</id>

<mirrorOf>*</mirrorOf>

<name>nexus epzoon</name>

<url>http://39.181.173.180:8081/repository/maven-public/</url>

</mirror>

</mirrors>

<server>

<id>test</id>

<username>test</username>

<password>test!123</password>

</server>

<profiles>

<profile>

<id>nexus</id>

<repositories>

<!-- 私有库地址-->

<repository>

<id>nexus</id>

<url>http://39.181.173.180:8081/repository/maven-public/</url>

<releases>

<enabled>true</enabled>

</releases>

<snapshots>

<enabled>true</enabled>

</snapshots>

</repository>

</repositories>

<pluginRepositories>

<!--插件库地址-->

<pluginRepository>

<id>nexus</id>

<url>http://39.181.173.180:8081/repository/maven-public/</url>

<releases>

<enabled>true</enabled>

</releases>

<snapshots>

<enabled>true</enabled>

</snapshots>

</pluginRepository>

</pluginRepositories>

</profile>

</profiles>

<activeProfiles>

<activeProfile>nexus</activeProfile>

</activeProfiles>

</settings>

 

 

 

以上是 Docker安装Nexus3 的全部内容, 来源链接: utcz.com/z/517667.html

回到顶部