github.com/quay/claircore@v1.5.28/rhel/dockerfile/testdata/Dockerfile-rhscl-redis-5-rhel7-5-53.1634738116 (about)

     1  FROM sha256:80f381f67fab035e7df9e0714aca8a13b49af52f40482fadcfb893b50740272c
     2  
     3  # Redis image based on Software Collections packages
     4  #
     5  # Volumes:
     6  #  * /var/lib/redis/data - Datastore for Redis
     7  # Environment:
     8  #  * $REDIS_PASSWORD - Database password
     9  
    10  ENV REDIS_VERSION=5 \
    11      HOME=/var/lib/redis
    12  
    13  ENV SUMMARY="Redis in-memory data structure store, used as database, cache and message broker" \
    14      DESCRIPTION="Redis $REDIS_VERSION available as container, is an advanced key-value store. \
    15  It is often referred to as a data structure server since keys can contain strings, hashes, lists, \
    16  sets and sorted sets. You can run atomic operations on these types, like appending to a string; \
    17  incrementing the value in a hash; pushing to a list; computing set intersection, union and difference; \
    18  or getting the member with highest ranking in a sorted set. In order to achieve its outstanding \
    19  performance, Redis works with an in-memory dataset. Depending on your use case, you can persist \
    20  it either by dumping the dataset to disk every once in a while, or by appending each command to a log."
    21  
    22  LABEL summary="$SUMMARY" \
    23        description="$DESCRIPTION" \
    24        io.k8s.description="$DESCRIPTION" \
    25        io.k8s.display-name="Redis 5" \
    26        io.openshift.expose-services="6379:redis" \
    27        io.openshift.tags="database,redis,redis5,rh-redis5" \
    28        com.redhat.component="rh-redis5-container" \
    29        name="rhscl/redis-5-rhel7" \
    30        version="5" \
    31        com.redhat.license_terms="https://www.redhat.com/en/about/red-hat-end-user-license-agreements#rhel" \
    32        usage="podman run -d --name redis_database -p 6379:6379 rhscl/redis-5-rhel7" \
    33        maintainer="SoftwareCollections.org <sclorg@redhat.com>"
    34  
    35  EXPOSE 6379
    36  
    37  # Create user for redis that has known UID
    38  # We need to do this before installing the RPMs which would create user with random UID
    39  # The UID is the one used by the default user from the parent layer (1001),
    40  # and since the user exists already, do not create a new one, but only rename
    41  # the existing
    42  # This image must forever use UID 1001 for redis user so our volumes are
    43  # safe in the future. This should *never* change, the last test is there
    44  # to make sure of that.
    45  RUN getent group  redis &> /dev/null || groupadd -r redis &> /dev/null && \
    46      usermod -l redis -aG redis -c 'Redis Server' default &> /dev/null && \
    47  # Install gettext for envsubst command
    48      yum install -y yum-utils gettext && \
    49      prepare-yum-repositories rhel-server-rhscl-7-rpms && \
    50      INSTALL_PKGS="rh-redis5" && \
    51      yum install -y --setopt=tsflags=nodocs $INSTALL_PKGS && \
    52      rpm -V $INSTALL_PKGS && \
    53      yum -y clean all --enablerepo='*' && \
    54      mkdir -p /var/lib/redis/data && chown -R redis.0 /var/lib/redis && \
    55      [[ "$(id redis)" == "uid=1001(redis)"* ]]
    56  
    57  # Get prefix path and path to scripts rather than hard-code them in scripts
    58  ENV CONTAINER_SCRIPTS_PATH=/usr/share/container-scripts/redis \
    59      REDIS_PREFIX=/opt/rh/rh-redis5/root/usr \
    60      ENABLED_COLLECTIONS=rh-redis5
    61  
    62  # When bash is started non-interactively, to run a shell script, for example it
    63  # looks for this variable and source the content of this file. This will enable
    64  # the SCL for all scripts without need to do 'scl enable'.
    65  ENV BASH_ENV=${CONTAINER_SCRIPTS_PATH}/scl_enable \
    66      ENV=${CONTAINER_SCRIPTS_PATH}/scl_enable \
    67      PROMPT_COMMAND=". ${CONTAINER_SCRIPTS_PATH}/scl_enable"
    68  
    69  COPY root /
    70  
    71  # this is needed due to issues with squash
    72  # when this directory gets rm'd by the container-setup
    73  # script.
    74  RUN /usr/libexec/container-setup
    75  
    76  VOLUME ["/var/lib/redis/data"]
    77  
    78  # Using a numeric value because of a comment in [1]:
    79  # If your S2I image does not include a USER declaration with a numeric user,
    80  # your builds will fail by default.
    81  # [1] https://docs.openshift.com/container-platform/4.4/openshift_images/create-images.html#images-create-guide-openshift_create-images
    82  USER 1001
    83  
    84  ENTRYPOINT ["container-entrypoint"]
    85  CMD ["run-redis"]
    86  
    87  ADD help.1 /help.1
    88  ADD rh-redis5-container-5-53.1634738116.json /root/buildinfo/content_manifests/rh-redis5-container-5-53.1634738116.json
    89  LABEL "release"="53.1634738116" "distribution-scope"="public" "vendor"="Red Hat, Inc." "build-date"="2021-10-20T13:56:03.899740" "architecture"="x86_64" "vcs-type"="git" "vcs-ref"="1ca08b535089c4828147120ead2699d9f237260a" "com.redhat.build-host"="cpt-1007.osbs.prod.upshift.rdu2.redhat.com" "url"="https://access.redhat.com/containers/#/registry.access.redhat.com/rhscl/redis-5-rhel7/images/5-53.1634738116"