From fa0a16e5a98d3fca9214e64e715bfdaab95bd241 Mon Sep 17 00:00:00 2001 From: Jake Torrance Date: Mon, 1 Sep 2025 16:34:28 +0000 Subject: [PATCH 1/3] Add OL10 developer images --- .../workflows/build-and-push-dev-images.yml | 4 ++-- .../oraclelinux10/golang/1.24/Dockerfile | 9 ++++++++ .../oraclelinux10/golang/latest/Dockerfile | 9 ++++++++ .../oraclelinux10/haproxy/3.0/Dockerfile | 14 +++++++++++++ .../oraclelinux10/httpd/2.4/Dockerfile | 21 +++++++++++++++++++ .../oraclelinux10/nginx/1.26-core/Dockerfile | 18 ++++++++++++++++ .../oraclelinux10/nginx/1.26-full/Dockerfile | 18 ++++++++++++++++ .../oraclelinux10/nginx/1.26/Dockerfile | 18 ++++++++++++++++ .../oraclelinux10/nodejs/22/Dockerfile | 9 ++++++++ .../python/3.12-oracledb/Dockerfile | 13 ++++++++++++ .../oraclelinux10/python/3.12/Dockerfile | 9 ++++++++ .../oraclelinux10/ruby/3.3/Dockerfile | 11 ++++++++++ .../oraclelinux10/valkey/7/Dockerfile | 18 ++++++++++++++++ 13 files changed, 169 insertions(+), 2 deletions(-) create mode 100644 OracleLinuxDevelopers/oraclelinux10/golang/1.24/Dockerfile create mode 100644 OracleLinuxDevelopers/oraclelinux10/golang/latest/Dockerfile create mode 100644 OracleLinuxDevelopers/oraclelinux10/haproxy/3.0/Dockerfile create mode 100644 OracleLinuxDevelopers/oraclelinux10/httpd/2.4/Dockerfile create mode 100644 OracleLinuxDevelopers/oraclelinux10/nginx/1.26-core/Dockerfile create mode 100644 OracleLinuxDevelopers/oraclelinux10/nginx/1.26-full/Dockerfile create mode 100644 OracleLinuxDevelopers/oraclelinux10/nginx/1.26/Dockerfile create mode 100644 OracleLinuxDevelopers/oraclelinux10/nodejs/22/Dockerfile create mode 100644 OracleLinuxDevelopers/oraclelinux10/python/3.12-oracledb/Dockerfile create mode 100644 OracleLinuxDevelopers/oraclelinux10/python/3.12/Dockerfile create mode 100644 OracleLinuxDevelopers/oraclelinux10/ruby/3.3/Dockerfile create mode 100644 OracleLinuxDevelopers/oraclelinux10/valkey/7/Dockerfile diff --git a/.github/workflows/build-and-push-dev-images.yml b/.github/workflows/build-and-push-dev-images.yml index 4b3de90ae..a37b51402 100644 --- a/.github/workflows/build-and-push-dev-images.yml +++ b/.github/workflows/build-and-push-dev-images.yml @@ -24,7 +24,7 @@ on: inputs: ol: description: List of ol versions to build - default: 'oraclelinux7, oraclelinux8, oraclelinux9' + default: 'oraclelinux7, oraclelinux8, oraclelinux9, oraclelinux10' required: false lang: description: List of languages to build @@ -33,7 +33,7 @@ on: # Default values for the builds triggered by the push event env: - ol: 'oraclelinux7, oraclelinux8, oraclelinux9' + ol: 'oraclelinux7, oraclelinux8, oraclelinux9, oraclelinux10' lang: 'gcc-toolset, golang, nodejs, nginx, php, python, redis, ruby, haproxy, kubectl, helm, ocne-tools, httpd' jobs: diff --git a/OracleLinuxDevelopers/oraclelinux10/golang/1.24/Dockerfile b/OracleLinuxDevelopers/oraclelinux10/golang/1.24/Dockerfile new file mode 100644 index 000000000..995ee5296 --- /dev/null +++ b/OracleLinuxDevelopers/oraclelinux10/golang/1.24/Dockerfile @@ -0,0 +1,9 @@ +# Copyright (c) 2025 Oracle and/or its affiliates. +# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. + +FROM ghcr.io/oracle/oraclelinux:10 + +RUN dnf -y install go-toolset-1.24.6 && \ + rm -rf /var/cache/dnf + +CMD ["/bin/go", "version"] diff --git a/OracleLinuxDevelopers/oraclelinux10/golang/latest/Dockerfile b/OracleLinuxDevelopers/oraclelinux10/golang/latest/Dockerfile new file mode 100644 index 000000000..a29bbc207 --- /dev/null +++ b/OracleLinuxDevelopers/oraclelinux10/golang/latest/Dockerfile @@ -0,0 +1,9 @@ +# Copyright (c) 2025 Oracle and/or its affiliates. +# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. + +FROM ghcr.io/oracle/oraclelinux:10 + +RUN dnf -y install go-toolset && \ + rm -rf /var/cache/dnf + +CMD ["/bin/go", "version"] diff --git a/OracleLinuxDevelopers/oraclelinux10/haproxy/3.0/Dockerfile b/OracleLinuxDevelopers/oraclelinux10/haproxy/3.0/Dockerfile new file mode 100644 index 000000000..664878cb2 --- /dev/null +++ b/OracleLinuxDevelopers/oraclelinux10/haproxy/3.0/Dockerfile @@ -0,0 +1,14 @@ +# Copyright (c) 2025 Oracle and/or its affiliates. +# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. + +FROM ghcr.io/oracle/oraclelinux:10 + +RUN \ + dnf -y install haproxy && \ + rm -rf /var/cache/dnf + +EXPOSE 5000 + +CMD ["/usr/sbin/haproxy", "-p", "/run/haproxy.pid", "-f", "/etc/haproxy/haproxy.cfg", "-W", "-db"] + + diff --git a/OracleLinuxDevelopers/oraclelinux10/httpd/2.4/Dockerfile b/OracleLinuxDevelopers/oraclelinux10/httpd/2.4/Dockerfile new file mode 100644 index 000000000..86d003598 --- /dev/null +++ b/OracleLinuxDevelopers/oraclelinux10/httpd/2.4/Dockerfile @@ -0,0 +1,21 @@ +# Copyright (c) 2025 Oracle and/or its affiliates. +# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. + +FROM ghcr.io/oracle/oraclelinux:10 + +RUN dnf install -y httpd mod_ssl && \ + rm -rf /var/cache/dnf + +RUN sed -i \ + -e 's/^SSLCertificateFile .*/SSLCertificateFile \/certs\/fullchain.pem/g' \ + -e 's/^SSLCertificateKeyFile .*/SSLCertificateKeyFile \/certs\/privkey.pem/g' \ + /etc/httpd/conf.d/ssl.conf + +RUN mkdir -p /certs + +ENV CERTIFICATE_DIR /certs +ENV KEY_DIR /certs + +COPY ./entrypoint.sh /opt/entrypoint.sh + +CMD ["/opt/entrypoint.sh"] \ No newline at end of file diff --git a/OracleLinuxDevelopers/oraclelinux10/nginx/1.26-core/Dockerfile b/OracleLinuxDevelopers/oraclelinux10/nginx/1.26-core/Dockerfile new file mode 100644 index 000000000..4f5a3902b --- /dev/null +++ b/OracleLinuxDevelopers/oraclelinux10/nginx/1.26-core/Dockerfile @@ -0,0 +1,18 @@ +# Copyright (c) 2025 Oracle and/or its affiliates. +# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. + +FROM ghcr.io/oracle/oraclelinux:10 + +RUN dnf -y install nginx-core && \ + rm -rf /var/cache/dnf \ + && \ + # forward request and error logs to container engine log collector + ln -sf /dev/stdout /var/log/nginx/access.log && \ + ln -sf /dev/stderr /var/log/nginx/error.log + +EXPOSE 80/tcp +EXPOSE 443/tcp + +STOPSIGNAL SIGQUIT + +CMD ["nginx", "-g", "daemon off;"] diff --git a/OracleLinuxDevelopers/oraclelinux10/nginx/1.26-full/Dockerfile b/OracleLinuxDevelopers/oraclelinux10/nginx/1.26-full/Dockerfile new file mode 100644 index 000000000..65b4dbd43 --- /dev/null +++ b/OracleLinuxDevelopers/oraclelinux10/nginx/1.26-full/Dockerfile @@ -0,0 +1,18 @@ +# Copyright (c) 2025 Oracle and/or its affiliates. +# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. + +FROM ghcr.io/oracle/oraclelinux:10 + +RUN dnf -y install nginx-all-modules && \ + rm -rf /var/cache/dnf \ + && \ + # forward request and error logs to container engine log collector + ln -sf /dev/stdout /var/log/nginx/access.log && \ + ln -sf /dev/stderr /var/log/nginx/error.log + +EXPOSE 80/tcp +EXPOSE 443/tcp + +STOPSIGNAL SIGQUIT + +CMD ["nginx", "-g", "daemon off;"] diff --git a/OracleLinuxDevelopers/oraclelinux10/nginx/1.26/Dockerfile b/OracleLinuxDevelopers/oraclelinux10/nginx/1.26/Dockerfile new file mode 100644 index 000000000..a66641ec7 --- /dev/null +++ b/OracleLinuxDevelopers/oraclelinux10/nginx/1.26/Dockerfile @@ -0,0 +1,18 @@ +# Copyright (c) 2025 Oracle and/or its affiliates. +# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. + +FROM ghcr.io/oracle/oraclelinux:10 + +RUN dnf -y install nginx && \ + rm -rf /var/cache/dnf \ + && \ + # forward request and error logs to container engine log collector + ln -sf /dev/stdout /var/log/nginx/access.log && \ + ln -sf /dev/stderr /var/log/nginx/error.log + +EXPOSE 80/tcp +EXPOSE 443/tcp + +STOPSIGNAL SIGQUIT + +CMD ["nginx", "-g", "daemon off;"] diff --git a/OracleLinuxDevelopers/oraclelinux10/nodejs/22/Dockerfile b/OracleLinuxDevelopers/oraclelinux10/nodejs/22/Dockerfile new file mode 100644 index 000000000..cae3d16b5 --- /dev/null +++ b/OracleLinuxDevelopers/oraclelinux10/nodejs/22/Dockerfile @@ -0,0 +1,9 @@ +# Copyright (c) 2025 Oracle and/or its affiliates. +# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. + +FROM ghcr.io/oracle/oraclelinux:10 + +RUN dnf -y install nodejs nodejs-nodemon npm && \ + rm -rf /var/cache/dnf + +CMD ["/bin/node", "-v"] diff --git a/OracleLinuxDevelopers/oraclelinux10/python/3.12-oracledb/Dockerfile b/OracleLinuxDevelopers/oraclelinux10/python/3.12-oracledb/Dockerfile new file mode 100644 index 000000000..5bc8f4e05 --- /dev/null +++ b/OracleLinuxDevelopers/oraclelinux10/python/3.12-oracledb/Dockerfile @@ -0,0 +1,13 @@ +# Copyright (c) 2025 Oracle and/or its affiliates. +# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. + +FROM ghcr.io/oracle/oraclelinux10-python:3.12 + +RUN dnf -y install oraclelinux-developer-release-el10 && \ + dnf -y install python3.12-oracledb && \ + # Optionally install Oracle Instant Client to use python-oracledb Thick mode + # dnf -y install oracle-instantclient-release-23ai-el10 && \ + # dnf -y install oracle-instantclient-basic && \ + rm -rf /var/cache/dnf + +CMD ["/bin/python3", "--version"] diff --git a/OracleLinuxDevelopers/oraclelinux10/python/3.12/Dockerfile b/OracleLinuxDevelopers/oraclelinux10/python/3.12/Dockerfile new file mode 100644 index 000000000..4fb2755f2 --- /dev/null +++ b/OracleLinuxDevelopers/oraclelinux10/python/3.12/Dockerfile @@ -0,0 +1,9 @@ +# Copyright (c) 2025 Oracle and/or its affiliates. +# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. + +FROM ghcr.io/oracle/oraclelinux:10 + +RUN dnf -y install python3 python3-libs python3-pip python3-setuptools && \ + rm -rf /var/cache/dnf + +CMD ["/usr/bin/python3.12", "-V"] diff --git a/OracleLinuxDevelopers/oraclelinux10/ruby/3.3/Dockerfile b/OracleLinuxDevelopers/oraclelinux10/ruby/3.3/Dockerfile new file mode 100644 index 000000000..8ae4e2710 --- /dev/null +++ b/OracleLinuxDevelopers/oraclelinux10/ruby/3.3/Dockerfile @@ -0,0 +1,11 @@ +# Copyright (c) 2025 Oracle and/or its affiliates. +# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. + +FROM ghcr.io/oracle/oraclelinux:10 + +RUN dnf -y install ruby ruby-libs ruby-devel ruby-irb \ + rubygems rubygem-rake rubygem-bundler \ + gcc make && \ + rm -rf /var/cache/dnf + +CMD ["irb"] diff --git a/OracleLinuxDevelopers/oraclelinux10/valkey/7/Dockerfile b/OracleLinuxDevelopers/oraclelinux10/valkey/7/Dockerfile new file mode 100644 index 000000000..acfd4e512 --- /dev/null +++ b/OracleLinuxDevelopers/oraclelinux10/valkey/7/Dockerfile @@ -0,0 +1,18 @@ +# Copyright (c) 2025 Oracle and/or its affiliates. +# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl. + +FROM ghcr.io/oracle/oraclelinux:10 + +RUN dnf install -y valkey && \ + rm -rf /var/cache/dnf + +RUN sed -i.bak \ + -e 's/protected-mode yes/protected-mode no/g' \ + -e 's/^bind/# bind/g' \ + -e 's/^unixsocket/# unixsocket/g' \ + -e 's/^logfile .*/logfile \"\"/g' \ + /etc/valkey/valkey.conf + +EXPOSE 6379 + +CMD ["valkey-server", "/etc/valkey/valkey.conf"] From 5dfc9acfb1dc1542f7be43aff1a45cc8c8192b1f Mon Sep 17 00:00:00 2001 From: Jake Torrance Date: Tue, 2 Sep 2025 08:55:17 +0000 Subject: [PATCH 2/3] Update readme --- OracleLinuxDevelopers/README.md | 34 +++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/OracleLinuxDevelopers/README.md b/OracleLinuxDevelopers/README.md index b1f9e9347..5098b8333 100644 --- a/OracleLinuxDevelopers/README.md +++ b/OracleLinuxDevelopers/README.md @@ -159,6 +159,40 @@ You should then be able to create a new Ruby on Rails application. * [`oraclelinux9-python:3.12`](oraclelinux9/python/3.12/Dockerfile) * [`oraclelinux9-python:3.12-oracledb`](oraclelinux9/python/3.12-oracledb/Dockerfile) +## Oracle Linux 10 based images + +### Go Toolset + +* [`oraclelinux10-golang:latest`](oraclelinux10/golang/latest/Dockerfile) +* [`oraclelinux10-golang:1.24`](oraclelinux10/golang/1.24/Dockerfile) + +### Nginx + +* [`oraclelinux10-nginx:1.26`](oraclelinux10/nginx/1.26/Dockerfile) +* [`oraclelinux10-nginx:1.26-core`](oraclelinux10/nginx/1.26-core/Dockerfile) +* [`oraclelinux10-nginx:1.26-full`](oraclelinux10/nginx/1.26-full/Dockerfile) + +### httpd + +* [`oraclelinux10-httpd:2.4`](oraclelinux10/httpd/2.4/Dockerfile) + +### Node.js + +* [`oraclelinux10-nodejs:22`](oraclelinux10/nodejs/22/Dockerfile) + +### Python + +* [`oraclelinux10-python:3.12`](oraclelinux10/python/3.12/Dockerfile) +* [`oraclelinux10-python:3.12-oracledb`](oraclelinux10/python/3.12-oracledb/Dockerfile) + +### Ruby + +* [`oraclelinux10-ruby:3.3`](oraclelinux10/ruby/3.3/Dockerfile) + +### Valkey + +* [`oraclelinux10-valkey:7`](oraclelinux10/valkey/7/Dockerfile) + [1]: https://github.com/orgs/oracle/packages?repo_name=docker-images [2]: https://yum.oracle.com From 361933bf1b29512fb79d0d63d0dc6ea35166ba69 Mon Sep 17 00:00:00 2001 From: Jake Torrance Date: Tue, 2 Sep 2025 08:56:02 +0000 Subject: [PATCH 3/3] No instantclient --- .../oraclelinux10/python/3.12-oracledb/Dockerfile | 3 --- 1 file changed, 3 deletions(-) diff --git a/OracleLinuxDevelopers/oraclelinux10/python/3.12-oracledb/Dockerfile b/OracleLinuxDevelopers/oraclelinux10/python/3.12-oracledb/Dockerfile index 5bc8f4e05..7d7e254fa 100644 --- a/OracleLinuxDevelopers/oraclelinux10/python/3.12-oracledb/Dockerfile +++ b/OracleLinuxDevelopers/oraclelinux10/python/3.12-oracledb/Dockerfile @@ -5,9 +5,6 @@ FROM ghcr.io/oracle/oraclelinux10-python:3.12 RUN dnf -y install oraclelinux-developer-release-el10 && \ dnf -y install python3.12-oracledb && \ - # Optionally install Oracle Instant Client to use python-oracledb Thick mode - # dnf -y install oracle-instantclient-release-23ai-el10 && \ - # dnf -y install oracle-instantclient-basic && \ rm -rf /var/cache/dnf CMD ["/bin/python3", "--version"]