initial commit with apps from course repo
This commit is contained in:
70
nexus-image/Dockerfile
Normal file
70
nexus-image/Dockerfile
Normal file
@@ -0,0 +1,70 @@
|
||||
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}
|
||||
|
||||
Reference in New Issue
Block a user