-
Notifications
You must be signed in to change notification settings - Fork 157
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add Dockerfile.rhel10 for version 3.3 in order to support building an…
…d testing container in RHEL10 Signed-off-by: Petr "Stone" Hracek <[email protected]>
- Loading branch information
Showing
1 changed file
with
65 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
FROM registry.stage.redhat.io/ubi10/s2i-base | ||
|
||
# This image provides a Ruby environment you can use to run your Ruby | ||
# applications. | ||
|
||
EXPOSE 8080 | ||
|
||
ENV RUBY_MAJOR_VERSION=3 \ | ||
RUBY_MINOR_VERSION=3 | ||
|
||
ENV RUBY_VERSION="${RUBY_MAJOR_VERSION}.${RUBY_MINOR_VERSION}" \ | ||
RUBY_SCL_NAME_VERSION="${RUBY_MAJOR_VERSION}${RUBY_MINOR_VERSION}" | ||
|
||
ENV RUBY_SCL="ruby-${RUBY_SCL_NAME_VERSION}" \ | ||
IMAGE_NAME="ubi10/ruby-${RUBY_SCL_NAME_VERSION}" \ | ||
SUMMARY="Platform for building and running Ruby $RUBY_VERSION applications" \ | ||
DESCRIPTION="Ruby $RUBY_VERSION available as container is a base platform for \ | ||
building and running various Ruby $RUBY_VERSION applications and frameworks. \ | ||
Ruby is the interpreted scripting language for quick and easy object-oriented programming. \ | ||
It has many features to process text files and to do system management tasks (as in Perl). \ | ||
It is simple, straight-forward, and extensible." | ||
|
||
LABEL summary="$SUMMARY" \ | ||
description="$DESCRIPTION" \ | ||
io.k8s.description="$DESCRIPTION" \ | ||
io.k8s.display-name="Ruby ${RUBY_VERSION}" \ | ||
io.openshift.expose-services="8080:http" \ | ||
io.openshift.tags="builder,ruby,ruby${RUBY_SCL_NAME_VERSION},${RUBY_SCL}" \ | ||
com.redhat.component="${RUBY_SCL}-container" \ | ||
name="${IMAGE_NAME}" \ | ||
version="1" \ | ||
com.redhat.license_terms="https://www.redhat.com/en/about/red-hat-end-user-license-agreements#UBI" \ | ||
usage="s2i build https://github.com/sclorg/s2i-ruby-container.git \ | ||
--context-dir=${RUBY_VERSION}/test/puma-test-app/ ${IMAGE_NAME} ruby-sample-app" \ | ||
maintainer="SoftwareCollections.org <[email protected]>" | ||
|
||
RUN INSTALL_PKGS=" \ | ||
libffi-devel \ | ||
ruby \ | ||
ruby-devel \ | ||
rubygem-rake \ | ||
rubygem-bundler \ | ||
ruby-bundled-gems \ | ||
redhat-rpm-config \ | ||
" && \ | ||
dnf install -y --setopt=tsflags=nodocs ${INSTALL_PKGS} && \ | ||
dnf reinstall -y --setopt=tsflags=nodocs tzdata && \ | ||
dnf -y clean all --enablerepo='*' && \ | ||
ruby -v | grep -qe "^ruby $RUBY_VERSION\." && echo "Found VERSION $RUBY_VERSION" && \ | ||
rpm -V ${INSTALL_PKGS} | ||
|
||
# Copy the S2I scripts from the specific language image to $STI_SCRIPTS_PATH | ||
COPY ./s2i/bin/ $STI_SCRIPTS_PATH | ||
|
||
# Copy extra files to the image. | ||
COPY ./root/ / | ||
|
||
# Drop the root user and make the content of /opt/app-root owned by user 1001 | ||
RUN chown -R 1001:0 ${APP_ROOT} && chmod -R ug+rwx ${APP_ROOT} && \ | ||
rpm-file-permissions | ||
|
||
USER 1001 | ||
|
||
# Set the default CMD to print the usage of the language image | ||
CMD $STI_SCRIPTS_PATH/usage |