- maven 3.8.1 版本之后,在 settings.xml 中通过配置 mirror 禁用了不安全的 http 链接,默认情况下必须使用 https 的仓库地址。
10.200.17.45 测试机
1
| docker run -d -p 8093:8081 -u root --name=nexus-lcf --privileged=true -v /data/nexus:/nexus-data -e INSTALL4J_ADD_VM_PARAMS="-Xms256m -Xmx512m -XX:MaxDirectMemorySize=1024m" sonatype/nexus3:latest
|
1
| docker run -d -p 8094:8443 -p 8093:8081 -u root --name=nexus-https --privileged=true -v /data/nexus:/nexus-data -e INSTALL4J_ADD_VM_PARAMS="-Xms256m -Xmx512m -XX:MaxDirectMemorySize=1024m" nexus-https-2022:latest
|
- -d
- -u root –privileged=true
- -p 8093:8081
- –name=nexus-lcf
- -v /data/nexus-https-lcf:/nexus-data
- -e INSTALL4J_ADD_VM_PARAMS=”-Xms256m -Xmx512m -XX:MaxDirectMemorySize=1024m”
10.163.204.79
Nexus部署
1 2
| docker pull docker.io/sonatype/nexus3 // 拉取最新nexus镜像 docker stop 7d6824229a9a && docker rm 7d6824229a9a // 停掉旧容器
|
1 2 3 4 5 6 7 8 9 10 11 12 13
| docker run -d -p 80:8081 --name=nexus --restart=always --ulimit nofile=655360 --ulimit memlock=-1 --memory=16G --memory-swap=-1 --cpuset-cpus='0-7' -eINSTALL4J_ADD_VM_PARAMS="-Xms4g -Xmx4g -XX:MaxDirectMemorySize=6717M -Duser.timezone=Asia/Shanghai" -v /etc/localtime:/etc/localtime -v /data/nexus:/nexus-data sonatype/nexus3:latest
|
升级https
1 2 3 4
| mv _.haier.net.* ~/
// 这里需要输入密码 用password,如果不用这个,需要修改镜像里的${jetty.etc}/jetty-https.xml,具体操作参考百度。 openssl pkcs12 -export -out keystore.pkcs12 -inkey _.haier.net.key -in _.haier.net.crt
|
1 2 3 4 5 6
| FROM sonatype/nexus3:[tag] USER root COPY keystore.pkcs12 /keystore.pkcs12 RUN keytool -v -importkeystore -srckeystore keystore.pkcs12 -srcstoretype PKCS12 -destkeystore keystore.jks -deststoretype JKS -storepass password -srcstorepass password &&\ cp keystore.jks /opt/sonatype/nexus/etc/ssl/ USER nexus
|
基于此nexus版本OSS 3.38.1-01
在最新的nexus镜像的基础上构建,找不到keystore.pkcs12
8da03e408fae
原因是最新版本的镜像指定WORKDIR /opt/sonatype
,COPY keystore.pkcs12 /keystore.pkcs12
导致RUN keytool
时在工作目录下找不到文件。
将keystore.pkcs12
拷贝到工作目录下即可。
1 2 3
| docker build . -t nexus-https -f jdk_dockerfile docker build . -t nexus-https-2022-3.57 -f jdk_dockerfile docker build . -t nexus-https-2022-3.59.0 -f jdk_dockerfile
|
1
| docker run -d -p 80:8081 --name=nexus --restart=always --ulimit nofile=655360 --ulimit memlock=-1 --memory=16G --memory-swap=-1 --cpuset-cpus='0-7' -eINSTALL4J_ADD_VM_PARAMS="-Xms4g -Xmx4g -XX:MaxDirectMemorySize=6717M -Duser.timezone=Asia/Shanghai" -v /etc/localtime:/etc/localtime -v /data/nexus:/nexus-data sonatype/nexus3:latest
|
1 2 3 4 5 6 7
| docker run -d -p 80:8081 -p 443:8443 --name=nexus --restart=always --ulimit nofile=655360 --ulimit memlock=-1 --memory=16G --memory-swap=-1 --cpuset-cpus='0-7' -eINSTALL4J_ADD_VM_PARAMS="-Xms4g -Xmx4g -XX:MaxDirectMemorySize=6717M -Duser.timezone=Asia/Shanghai" -v /etc/localtime:/etc/localtime -v /data/nexus:/nexus-data nexus-https:latest
docker run -d -p 80:8081 -p 443:8443 --name=nexus --restart=always --ulimit nofile=655360 --ulimit memlock=-1 --memory=16G --memory-swap=-1 --cpuset-cpus='0-7' -eINSTALL4J_ADD_VM_PARAMS="-Xms4g -Xmx4g -XX:MaxDirectMemorySize=6717M -Duser.timezone=Asia/Shanghai -Djava.util.prefs.userRoot=/opt/sonatype/sonatype-work/nexus3/javaprefs" -v /etc/localtime:/etc/localtime -v /data/nexus:/nexus-data nexus-https-2022-3.57:latest
docker run -d -p 80:8081 -p 443:8443 --name=nexus --restart=always --ulimit nofile=655360 --ulimit memlock=-1 --memory=16G --memory-swap=-1 --cpuset-cpus='0-7' -eINSTALL4J_ADD_VM_PARAMS="-Xms4g -Xmx4g -XX:MaxDirectMemorySize=6717M -Duser.timezone=Asia/Shanghai -Djava.util.prefs.userRoot=/opt/sonatype/sonatype-work/nexus3/javaprefs" -v /etc/localtime:/etc/localtime -v /data/nexus:/nexus-data nexus-https-2022-3.59.0:latest
|
1 2 3 4 5 6 7 8 9 10 11 12
| # Jetty section application-port-ssl=8443 application-port=8081 application-host=0.0.0.0 nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml,${jetty.etc}/jetty-https.xml nexus-context-path=/${NEXUS_CONTEXT}
#Nexus section nexus-edition=nexus-pro-edition nexus-features=\ nexus-pro-feature nexus.clustered=false
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| docker run -d -p 80:8081 -p 443:8443 --name=nexus --restart=always --ulimit nofile=655360 --ulimit memlock=-1 --memory=16G --memory-swap=-1 --cpuset-cpus='0-7' -e INSTALL4J_ADD_VM_PARAMS="-Xms4g -Xmx4g -XX:MaxDirectMemorySize=6717M -Duser.timezone=Asia/Shanghai" -v /etc/localtime:/etc/localtime -v /data/nexus:/nexus-data nexus-https:latest
docker参数 –name 指定docker容器的名称 –net=host 使用host网络模式(和宿主机一个网络) –restart always docker 异常退出后自动重启 –volume / -v 挂载本地目录,格式 /src:/dst -e 指定docker启动后环境变量(env) –privileged 让docker可以拥有root权限 –ulimit nofile 系统文件句柄打开数量限制 –ulimit memlock 最大锁定内存地址空间,-1表示不限制 –memory 限制docker内存 –memory-swap 限制docker虚拟内存,-1 为不限制,共用宿主机swap –cpuset-cpus 指定docker绑定的CPU TERM=dumb 让docker里面可以执行top命令
|
磁盘扩容
nexus挂载目录/data