# cat Dockerfile
##################################################################################
FROM centos:centos7
ENV NEXUS_VERSION="3.16.0-01" \
? ? NEXUS_BASE="/opt/nexus"
RUN groupadd -g 2020? nexus && \
? ? useradd -r -u 2020 -g 2020 -m -c "Nexus Repository Manager" -d ${NEXUS_BASE} -s /bin/false nexus
ADD jre-8u212-linux-x64.tar.gz /usr/local
ADD nexus.tar.gz ${NEXUS_BASE}
COPY start-nexus-repository-manager.sh? /opt
RUN chown -R nexus:nexus ${NEXUS_BASE} /opt/start-nexus-repository-manager.sh
VOLUME ${NEXUS_BASE}
EXPOSE 8443
USER nexus
CMD ["sh", "-c", "/opt/start-nexus-repository-manager.sh"]
#####################################################################################
# cat start-nexus-repository-manager.sh
##############################################################
#!/bin/bash
umask 0027
JAVA_HOME="/usr/local/jre1.8.0_212"
PATH=$JAVA_HOME/bin:$PATH
cd /opt/nexus/nexus-?${NEXUS_BASE}
exec ./bin/nexus run
#################################################################
# mkdir? /opt/nexus
# tar? -zxf? ?nexus-3.16.0-01-unix.tar? ?-C????/opt/nexus
# vim /opt/nexus/sonatype-work/nexus3/etc/nexus.properties
#####################################################################
application-port-ssl=8443
application-host=0.0.0.0
nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-https.xml,${jetty.etc}/jetty-requestlog.xml
#####################################################################
# vim /opt/nexus/nexus-3.16.0-01/bin/nexus.rc
###########################
run_as_user="nexus"
###########################
# vim /opt/nexus/nexus-3.16.0-01/etc/jetty/jetty-https.xml
##################################################
<Set name="renegotiationAllowed">FALSE</Set>
? ? <Set name="ExcludeCipherSuites">
? ? ? <Array type="String">
? ? ? ? <Item>.*DHE.*</Item>
? ? ? </Array>
? ? </Set>
? ? <Set name="IncludeCipherSuites">
? ? ? <Array type="String">
? ? ? ? <Item>.*CBC.*</Item>
? ? ? </Array>
? ? </Set>
? ? <Set name="IncludeProtocols">
? ? ? <Array type="String">
? ? ? ? <Item>TLSv1.2</Item>
? ? ? </Array>
? ? </Set>
###################################################
# cat genCert.sh
###################################################
keytool \
-genkeypair \
-keystore keystore.jks \
-alias nexus \
-storepass 123456 \
-keypass 456789 \
-keyalg RSA \
-keysize 2048 \
-validity 3650 \
-dname "CN=NEXUS,OU=TEST,O=TEST,L=Shenzhen,ST=Guangdong,C=CN" \
-ext "SAN=IP:xx.xx.xx.xx"? \
-ext "BC=ca:true"
###################################################
#?docker build -f Dockerfile -t nexus:3.16.0-01sec .??
#? docker run -it -d -v /opt/nexus:/opt/nexus? -p 8443:8443? --name nexus nexus:3.16.0-01sec?
#? ?docker logs -f nexus