DO288-apps/nexus-image/Dockerfile
2019-05-23 13:13:16 -04:00

70 lines
2 KiB
Docker

FROM rhel7:7.6
MAINTAINER Red Hat Training
ARG NEXUS_VERSION=2.14.3-02
ARG NEXUS_DOWNLOAD_URL=http://content.example.com/ocp3.6/x86_64/installers/nexus-${NEXUS_VERSION}-bundle.tar.gz
ENV SONATYPE_WORK=/sonatype-work \
USER_NAME=nexus \
USER_UID=200
ADD usr/local/bin/fix-permissions.sh /usr/local/bin/fix-permissions.sh
ADD probes/liveness.sh /usr/local/bin/liveness.sh
ADD probes/readiness.sh /usr/local/bin/readiness.sh
ADD uid_entrypoint /
#install tools and Java
RUN rpm --rebuilddb && \
yum install -y \
curl tar createrepo java-1.8.0-openjdk-devel \
&& yum clean all \
#install nexus
&& mkdir -p /opt/sonatype/nexus \
&& mkdir ${SONATYPE_WORK} \
&& curl --fail --silent --location --retry 3 \
${NEXUS_DOWNLOAD_URL} \
| gunzip \
| tar x -C /tmp nexus-${NEXUS_VERSION} \
&& mv /tmp/nexus-${NEXUS_VERSION}/* /opt/sonatype/nexus/ \
&& rm -rf /tmp/nexus-${NEXUS_VERSION} \
#create a user for nexus
&& useradd -r -u 200 -m -c "nexus role account" -s /bin/false nexus \
#fix permissions
&& chmod 755 /usr/local/bin/fix-permissions.sh \
&& chmod 755 /usr/local/bin/liveness.sh \
&& chmod 755 /usr/local/bin/readiness.sh \
&& chmod ug+x /uid_entrypoint \
&& chmod g+rw /etc/passwd \
&& /usr/local/bin/fix-permissions.sh /opt/sonatype \
&& /usr/local/bin/fix-permissions.sh ${SONATYPE_WORK}
# arbitrary uid recognition at runtime - for OpenShift deployments
RUN sed "s@${USER_NAME}:x:${USER_UID}:@${USER_NAME}:x:\${USER_ID}:@g" /etc/passwd > /etc/passwd.template
#Expose the nexus port
EXPOSE 8081
#Configure the workdir
WORKDIR /opt/sonatype/nexus
USER nexus
ENV CONTEXT_PATH /nexus \
MAX_HEAP 768m \
MIN_HEAP 256m \
JAVA_OPTS -server -Djava.net.preferIPv4Stack=true \
LAUNCHER_CONF ./conf/jetty.xml ./conf/jetty-requestlog.xml
ENTRYPOINT [ "/uid_entrypoint" ]
CMD java \
-Dnexus-work=${SONATYPE_WORK} -Dnexus-webapp-context-path=${CONTEXT_PATH} \
-Xms${MIN_HEAP} -Xmx${MAX_HEAP} \
-cp 'conf/:lib/*' \
${JAVA_OPTS} \
org.sonatype.nexus.bootstrap.Launcher ${LAUNCHER_CONF}