56 lines
1.8 KiB
Docker
56 lines
1.8 KiB
Docker
FROM registry.fedoraproject.org/f27/s2i-base:latest
|
|
|
|
ENV NAME=mongodb \
|
|
VERSION=0 \
|
|
ARCH=x86_64
|
|
|
|
ENV SUMMARY="MongoDB NoSQL database server" \
|
|
DESCRIPTION="MongoDB (from humongous) is a free and open-source \
|
|
cross-platform document-oriented database program. Classified as a NoSQL \
|
|
database program, MongoDB uses JSON-like documents with schemas. This \
|
|
container image contains programs to run mongod server."
|
|
|
|
LABEL summary="$SUMMARY" \
|
|
description="$DESCRIPTION" \
|
|
io.k8s.description="$DESCRIPTION" \
|
|
io.k8s.display-name="MongoDB 3.4" \
|
|
io.openshift.expose-services="27017:mongodb" \
|
|
io.openshift.tags="database,mongodb" \
|
|
com.redhat.component="$NAME" \
|
|
name="$FGC/$NAME" \
|
|
usage="docker run -d -e MONGODB_ADMIN_PASSWORD=my_pass $FGC/$NAME" \
|
|
version="$VERSION" \
|
|
maintainer="SoftwareCollections.org <sclorg@redhat.com>"
|
|
|
|
ENV MONGODB_VERSION=3.4 \
|
|
# Set paths to avoid hard-coding them in scripts.
|
|
APP_DATA=/opt/app-root/src \
|
|
HOME=/var/lib/mongodb \
|
|
CONTAINER_SCRIPTS_PATH=/usr/share/container-scripts/mongodb
|
|
|
|
EXPOSE 27017
|
|
|
|
ENTRYPOINT ["container-entrypoint"]
|
|
CMD ["run-mongod"]
|
|
|
|
RUN INSTALL_PKGS="bind-utils gettext iproute rsync tar hostname findutils shadow-utils mongodb mongodb-server mongo-tools groff-base" && \
|
|
dnf install -y --setopt=tsflags=nodocs $INSTALL_PKGS && \
|
|
rpm -V $INSTALL_PKGS && \
|
|
dnf clean all
|
|
|
|
COPY s2i/bin/ $STI_SCRIPTS_PATH
|
|
|
|
COPY root /
|
|
|
|
|
|
# Container setup
|
|
RUN : > /etc/mongod.conf && \
|
|
mkdir -p ${HOME}/data && \
|
|
# Set owner 'mongodb:0' and 'g+rw(x)' permission - to avoid problems running container with arbitrary UID
|
|
/usr/libexec/fix-permissions /etc/mongod.conf ${CONTAINER_SCRIPTS_PATH}/mongod.conf.template \
|
|
${HOME} ${APP_DATA}/.. && \
|
|
usermod -a -G root mongodb
|
|
|
|
VOLUME ["/var/lib/mongodb/data"]
|
|
|
|
USER 184
|