1. 找镜像:

docker search nexus

docker 拉取镜像后 不支持arm docker拉取镜像超时_docker 拉取镜像后 不支持arm

2. 拉取镜像:(我已经拉取过,不选择版本时,默认用最新的版本)

docker pull docker.io/sonatype/nexus3

 

docker 拉取镜像后 不支持arm docker拉取镜像超时_docker 拉取镜像后 不支持arm_02

3. 查看镜像:

docker images

docker 拉取镜像后 不支持arm docker拉取镜像超时_Nexus3_03

4.启动容器:

docker run -tid -p 8081:8081 --privileged=true --name nexus3 -v $PWD/nexus-data:/var/nexus-data --restart=always docker.io/sonatype/nexus3

说明:

-tid  :创建守护式容器 。

-p 8081:8081 :宿主机端口(对外访问端口):容器映射端口。
               这2个端口可不一样。浏览器访问URL用前面个端口 。

--privileged=true :容器访问宿主机的多级目录时可能会权限不足,故给 root 权限 。

--name nexus3 :给容器取名,可任意设定。

-v $PWD/nexus-data:/var/nexus-data :
    把容器中的 nexus-data 目录挂载到宿主机当前路径下的 nexus-data 下。
    方便以后查看相关数据。
    $PWD :取当前路径。此处可以写死为某个完整的确定的目录。 
    挂载格式为: -v  宿主机目录 :容器目录 。  
       
--restart=always :服务挂后,自动重启 。

docker.io/sonatype/nexus3 :镜像名 。

查看容器:

docker ps -a

说明

-a : 查看所有容器,包括非运行中状态的容器。 

docker 拉取镜像后 不支持arm docker拉取镜像超时_docker 拉取镜像后 不支持arm_04

SATUS 一栏提示了启动后运行时长,证明容器运行成功。

也可从日志中查看容器:

docker logs -f nexus3

 说明

-f  :实时更新日志。

nexus3 :  容器名。

docker 拉取镜像后 不支持arm docker拉取镜像超时_安装_05

 启动成功的日志:

docker 拉取镜像后 不支持arm docker拉取镜像超时_安装_06

 

5. 浏览器访问:

访问格式为 IP:端口(我的服务器 ip 已经绑定域名,可以直接用域名访问。)

首页加载不算快:

docker 拉取镜像后 不支持arm docker拉取镜像超时_安装_07

docker 拉取镜像后 不支持arm docker拉取镜像超时_重置_08

6. 右上角可以登陆。

至此 安装、运行已经 OK 了。

7. jar 包上传到私服。

配置maven 的 setting.xml 文件:

docker 拉取镜像后 不支持arm docker拉取镜像超时_Docker _09

配置 项目中 pom.xml 文件:

docker 拉取镜像后 不支持arm docker拉取镜像超时_Nexus3_10

执行命令:mvn  clean  deploy -Dmaven.test.skip=true  推送 jar 到私服:

docker 拉取镜像后 不支持arm docker拉取镜像超时_Docker _11

 

推送成功后就可以在私服中查看对应 jar 了:

docker 拉取镜像后 不支持arm docker拉取镜像超时_docker 拉取镜像后 不支持arm_12

 

PS:

遇到问题1:

在启动容器时我原本想换个端口,但发现不用 8081 时,tcp 的端口映射也是自动设置为 8081 的。并且换了端口后,虽然能启动容器成功,显示为运行状态,但是浏览器始终访问不到服务,报错:拒绝连接。最后还是使用了 8081 端口。

 

遇到问题2:

登陆时始终报错,账号或密码不对,默认密码并不是 admin123。

 

遇到问题3:

容器内部的时间比服务器时间晚 8 小时。

解决方法:启动容器时 加入参数:  -v /etc/localtime:/etc/localtime:ro 。ro:只读。

完整启动命令为:

docker run -tid -p 8081:8081 --privileged=true --name nexus3 -v $PWD/nexus-data:/var/nexus-data  -v /etc/localtime:/etc/localtime:ro --restart=always docker.io/sonatype/nexus3

 

遇到问题4:

执行 mvn  deploy 命令报错:

docker 拉取镜像后 不支持arm docker拉取镜像超时_Docker _13