diff --git a/bitnami/openresty/1.21/debian-11/Dockerfile b/bitnami/openresty/1.21/debian-11/Dockerfile index 812ff1d1495a..75f1d6dde0a2 100644 --- a/bitnami/openresty/1.21/debian-11/Dockerfile +++ b/bitnami/openresty/1.21/debian-11/Dockerfile @@ -6,7 +6,7 @@ ENV HOME="/" \ LABEL org.opencontainers.image.authors="https://bitnami.com/contact" \ org.opencontainers.image.description="Application packaged by Bitnami" \ - org.opencontainers.image.ref.name="1.21.4-1-debian-11-r30" \ + org.opencontainers.image.ref.name="1.21.4-1-debian-11-r31" \ org.opencontainers.image.source="https://github.com/bitnami/containers/tree/main/bitnami/openresty" \ org.opencontainers.image.title="openresty" \ org.opencontainers.image.vendor="VMware, Inc." \ @@ -16,8 +16,20 @@ COPY prebuildfs / SHELL ["/bin/bash", "-o", "pipefail", "-c"] # Install required system packages and dependencies RUN install_packages acl ca-certificates curl gzip libbrotli1 libbsd0 libc6 libcrypt1 libdeflate0 libexpat1 libfontconfig1 libfreetype6 libgcc-s1 libgcrypt20 libgd3 libgeoip1 libgpg-error0 libicu67 libjbig0 libjpeg62-turbo liblzma5 libmd0 libpcre3 libpng16-16 libssl1.1 libstdc++6 libtiff5 libuuid1 libwebp6 libx11-6 libxau6 libxcb1 libxdmcp6 libxml2 libxpm4 libxslt1.1 libzstd1 perl procps tar zlib1g -RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "openresty" "1.21.4-1-153" --checksum fb5b90205cdd3cb1abaee568063c11fb062f439a641957b2d34e29f314116257 -RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "gosu" "1.14.0-154" --checksum e36c3d90f4fbfbe989f40947fa7c8ab817f12fcf97d3aef893c753a20ce976ab +RUN mkdir -p /tmp/bitnami/pkg/cache/ && cd /tmp/bitnami/pkg/cache/ && \ + if [ ! -f openresty-1.21.4-1-153-linux-amd64-debian-11.tar.gz ]; then \ + curl -SsLf https://downloads.bitnami.com/files/stacksmith/openresty-1.21.4-1-153-linux-amd64-debian-11.tar.gz -O ; \ + fi && \ + echo "fb5b90205cdd3cb1abaee568063c11fb062f439a641957b2d34e29f314116257 openresty-1.21.4-1-153-linux-amd64-debian-11.tar.gz" | sha256sum -c - && \ + tar -zxf openresty-1.21.4-1-153-linux-amd64-debian-11.tar.gz -C /opt/bitnami --strip-components=2 --no-same-owner --wildcards '*/files' && \ + rm -rf openresty-1.21.4-1-153-linux-amd64-debian-11.tar.gz +RUN mkdir -p /tmp/bitnami/pkg/cache/ && cd /tmp/bitnami/pkg/cache/ && \ + if [ ! -f gosu-1.14.0-154-linux-amd64-debian-11.tar.gz ]; then \ + curl -SsLf https://downloads.bitnami.com/files/stacksmith/gosu-1.14.0-154-linux-amd64-debian-11.tar.gz -O ; \ + fi && \ + echo "e36c3d90f4fbfbe989f40947fa7c8ab817f12fcf97d3aef893c753a20ce976ab gosu-1.14.0-154-linux-amd64-debian-11.tar.gz" | sha256sum -c - && \ + tar -zxf gosu-1.14.0-154-linux-amd64-debian-11.tar.gz -C /opt/bitnami --strip-components=2 --no-same-owner --wildcards '*/files' && \ + rm -rf gosu-1.14.0-154-linux-amd64-debian-11.tar.gz RUN apt-get update && apt-get upgrade -y && \ rm -r /var/lib/apt/lists /var/cache/apt/archives RUN chmod g+rwX /opt/bitnami diff --git a/bitnami/openresty/1.21/debian-11/prebuildfs/opt/bitnami/scripts/libcomponent.sh b/bitnami/openresty/1.21/debian-11/prebuildfs/opt/bitnami/scripts/libcomponent.sh deleted file mode 100644 index a7b60696daa6..000000000000 --- a/bitnami/openresty/1.21/debian-11/prebuildfs/opt/bitnami/scripts/libcomponent.sh +++ /dev/null @@ -1,65 +0,0 @@ -#!/bin/bash -# -# Library for managing Bitnami components - -# Constants -CACHE_ROOT="/tmp/bitnami/pkg/cache" -DOWNLOAD_URL="https://downloads.bitnami.com/files/stacksmith" - -# Functions - -######################## -# Download and unpack a Bitnami package -# Globals: -# OS_NAME -# OS_ARCH -# OS_FLAVOUR -# Arguments: -# $1 - component's name -# $2 - component's version -# Returns: -# None -######################### -component_unpack() { - local name="${1:?name is required}" - local version="${2:?version is required}" - local base_name="${name}-${version}-${OS_NAME}-${OS_ARCH}-${OS_FLAVOUR}" - local package_sha256="" - local directory="/opt/bitnami" - - # Validate arguments - shift 2 - while [ "$#" -gt 0 ]; do - case "$1" in - -c|--checksum) - shift - package_sha256="${1:?missing package checksum}" - ;; - *) - echo "Invalid command line flag $1" >&2 - return 1 - ;; - esac - shift - done - - echo "Downloading $base_name package" - if [ -f "${CACHE_ROOT}/${base_name}.tar.gz" ]; then - echo "${CACHE_ROOT}/${base_name}.tar.gz already exists, skipping download." - cp "${CACHE_ROOT}/${base_name}.tar.gz" . - rm "${CACHE_ROOT}/${base_name}.tar.gz" - if [ -f "${CACHE_ROOT}/${base_name}.tar.gz.sha256" ]; then - echo "Using the local sha256 from ${CACHE_ROOT}/${base_name}.tar.gz.sha256" - package_sha256="$(< "${CACHE_ROOT}/${base_name}.tar.gz.sha256")" - rm "${CACHE_ROOT}/${base_name}.tar.gz.sha256" - fi - else - curl --remote-name --silent --show-error --fail "${DOWNLOAD_URL}/${base_name}.tar.gz" - fi - if [ -n "$package_sha256" ]; then - echo "Verifying package integrity" - echo "$package_sha256 ${base_name}.tar.gz" | sha256sum --check - || return "$?" - fi - tar --directory "${directory}" --extract --gunzip --file "${base_name}.tar.gz" --no-same-owner --strip-components=2 || return "$?" - rm "${base_name}.tar.gz" -} diff --git a/bitnami/openresty/README.md b/bitnami/openresty/README.md index 18ae4aeb830b..fa8ab716ec0d 100644 --- a/bitnami/openresty/README.md +++ b/bitnami/openresty/README.md @@ -37,7 +37,7 @@ Non-root container images add an extra layer of security and are generally recom Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/). -* [`1.21`, `1.21-debian-11`, `1.21.4-1`, `1.21.4-1-debian-11-r30`, `latest` (1.21/debian-11/Dockerfile)](https://github.com/bitnami/containers/blob/main/bitnami/openresty/1.21/debian-11/Dockerfile) +* [`1.21`, `1.21-debian-11`, `1.21.4-1`, `1.21.4-1-debian-11-r31`, `latest` (1.21/debian-11/Dockerfile)](https://github.com/bitnami/containers/blob/main/bitnami/openresty/1.21/debian-11/Dockerfile) ## Get this image @@ -268,47 +268,10 @@ $ docker-compose logs openresty You can configure the containers [logging driver](https://docs.docker.com/engine/admin/logging/overview/) using the `--log-driver` option if you wish to consume the container logs differently. In the default configuration docker uses the `json-file` driver. -## Understand the structure of this image - -The Bitnami OpenResty Docker image is built using a Dockerfile with the structure below: - -```Dockerfile -FROM bitnami/minideb -... -# Install required system packages and dependencies -RUN install_packages xxx yyy zzz -RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "openresty" "a.b.c-0" -... -COPY rootfs / -RUN /opt/bitnami/scripts/openresty/postunpack.sh -... -ENV BITNAMI_APP_NAME="openresty" ... -EXPOSE 8080 8443 -WORKDIR /app -USER 1001 -... -ENTRYPOINT [ "/opt/bitnami/scripts/openresty/entrypoint.sh" ] -CMD [ "/opt/bitnami/scripts/openresty/run.sh" ] -``` - -The Dockerfile has several sections related to: - -- Components installation -- Components static configuration -- Environment variables -- Volumes -- Ports to be exposed -- Working directory and user - - Note that once the user is set to 1001, unprivileged commands cannot be executed any longer. -- Entrypoint and command - - Take into account that these actions are not executed until the container is started. - ## Customize this image The Bitnami OpenResty Docker image is designed to be extended so it can be used as the base image for your custom web applications. -> Note: Read the [previous section](#understand-the-structure-of-this-image) to understand the Dockerfile structure before extending this image. - ### Extend this image Before extending this image, please note there are certain configuration settings you can modify using the original image: