diff --git a/docker/release/config/opensearch/opensearch-docker-entrypoint.sh b/docker/release/config/opensearch/opensearch-docker-entrypoint.sh index 4ed61fabfd..271351c781 100755 --- a/docker/release/config/opensearch/opensearch-docker-entrypoint.sh +++ b/docker/release/config/opensearch/opensearch-docker-entrypoint.sh @@ -98,8 +98,7 @@ function runOpensearch { setupPerformanceAnalyzerPlugin # Start opensearch - "$@" "${opensearch_opts[@]}" - + exec "$@" "${opensearch_opts[@]}" } # Prepend "opensearch" command if no argument was provided or if the first diff --git a/docker/release/dockerfiles/opensearch-dashboards.al2.dockerfile b/docker/release/dockerfiles/opensearch-dashboards.al2.dockerfile index eee620d996..5dca3ac73c 100644 --- a/docker/release/dockerfiles/opensearch-dashboards.al2.dockerfile +++ b/docker/release/dockerfiles/opensearch-dashboards.al2.dockerfile @@ -48,15 +48,21 @@ RUN tar -xzpf $TEMP_DIR/opensearch-dashboards-`uname -p`.tgz -C $OPENSEARCH_DASH # Copy working directory to the actual release docker images FROM amazonlinux:2 +ARG TARGETARCH ARG UID=1000 ARG GID=1000 ARG OPENSEARCH_DASHBOARDS_HOME=/usr/share/opensearch-dashboards +ENV TINI_VERSION=v0.19.0 # Update packages # Install the tools we need: tar and gzip to unpack the OpenSearch tarball, and shadow-utils to give us `groupadd` and `useradd`. # Install which to allow running of securityadmin.sh RUN yum update -y && yum install -y tar gzip shadow-utils which && yum clean all +# Add tini to use as init (PID1) process. +ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini-${TARGETARCH} /bin/tini +RUN chmod 755 /bin/tini + # Install Reporting dependencies RUN yum install -y libnss3.so xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi xorg-x11-utils xorg-x11-fonts-cyrillic xorg-x11-fonts-Type1 xorg-x11-fonts-misc fontconfig freetype && yum clean all @@ -95,5 +101,5 @@ LABEL org.label-schema.schema-version="1.0" \ "DOCKERFILE"="https://github.com/opensearch-project/opensearch-build/blob/main/docker/release/dockerfiles/opensearch-dashboards.al2.dockerfile" # CMD to run -ENTRYPOINT ["./opensearch-dashboards-docker-entrypoint.sh"] +ENTRYPOINT ["/bin/tini", "--", "./opensearch-dashboards-docker-entrypoint.sh"] CMD ["opensearch-dashboards"] diff --git a/docker/release/dockerfiles/opensearch.al2.dockerfile b/docker/release/dockerfiles/opensearch.al2.dockerfile index 96a065364c..2cc899c024 100644 --- a/docker/release/dockerfiles/opensearch.al2.dockerfile +++ b/docker/release/dockerfiles/opensearch.al2.dockerfile @@ -52,15 +52,21 @@ RUN ls -l $TEMP_DIR && \ # Copy working directory to the actual release docker images FROM amazonlinux:2 +ARG TARGETARCH ARG UID=1000 ARG GID=1000 ARG OPENSEARCH_HOME=/usr/share/opensearch +ENV TINI_VERSION=v0.19.0 # Update packages # Install the tools we need: tar and gzip to unpack the OpenSearch tarball, and shadow-utils to give us `groupadd` and `useradd`. # Install which to allow running of securityadmin.sh RUN yum update -y && yum install -y tar gzip shadow-utils which && yum clean all +# Add tini to use as init (PID1) process. +ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini-${TARGETARCH} /bin/tini +RUN chmod 755 /bin/tini + # Create an opensearch user, group RUN groupadd -g $GID opensearch && \ adduser -u $UID -g $GID -d $OPENSEARCH_HOME opensearch @@ -109,5 +115,5 @@ LABEL org.label-schema.schema-version="1.0" \ "DOCKERFILE"="https://github.com/opensearch-project/opensearch-build/blob/main/docker/release/dockerfiles/opensearch.al2.dockerfile" # CMD to run -ENTRYPOINT ["./opensearch-docker-entrypoint.sh"] +ENTRYPOINT ["/bin/tini", "--", "./opensearch-docker-entrypoint.sh"] CMD ["opensearch"]