Skip to content

Commit

Permalink
Add developer images for the new modules in Oracle Linux 8 Update 9
Browse files Browse the repository at this point in the history
Signed-off-by: Avi Miller <avi.miller@oracle.com>
  • Loading branch information
Djelibeybi committed Dec 5, 2023
1 parent ad7ea97 commit 9715632
Show file tree
Hide file tree
Showing 8 changed files with 138 additions and 10 deletions.
17 changes: 8 additions & 9 deletions OracleLinuxDevelopers/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,10 +73,8 @@ You should then be able to create a new Ruby on Rails application.

### NGINX module

* [`oraclelinux8-nginx:1.14`](oraclelinux8/nginx/1.14/Dockerfile)
* [`oraclelinux8-nginx:1.16`](oraclelinux8/nginx/1.16/Dockerfile)
* [`oraclelinux8-nginx:1.18`](oraclelinux8/nginx/1.18/Dockerfile)
* [`oraclelinux8-nginx:1.20`](oraclelinux8/nginx/1.20/Dockerfile)
* [`oraclelinux8-nginx:1.22`](oraclelinux8/nginx/1.22/Dockerfile)

### Node.js module

Expand All @@ -85,22 +83,22 @@ You should then be able to create a new Ruby on Rails application.
* [`oraclelinux8-nodejs:14-oracledb`](oraclelinux8/nodejs/14-oracledb/Dockerfile)
* [`oraclelinux8-nodejs:16`](oraclelinux8/nodejs/16/Dockerfile)
* [`oraclelinux8-nodejs:18`](oraclelinux8/nodejs/18/Dockerfile)
* [`oraclelinux8-nodejs:20`](oraclelinux8/nodejs/20/Dockerfile)

**Tip:** support for `yarn` is included with `oraclelinux8-nodejs:18` but is
opt-in. To activate `yarn`, run `corepack enable` when building your downstream
image.
**Tip:** support for `yarn` is included with `oraclelinux8-nodejs:18` and `oraclelinux8-nodejs:20` but is
opt-in. To activate `yarn`, run `corepack enable` when building your downstream image.

### PHP module

* [`oraclelinux8-php:7.3-apache`](oraclelinux8/php/7.3-apache/Dockerfile)
* [`oraclelinux8-php:7.3-cli`](oraclelinux8/php/7.3-cli/Dockerfile)
* [`oraclelinux8-php:7.3-fpm`](oraclelinux8/php/7.3-fpm/Dockerfile)
* [`oraclelinux8-php:7.4-apache`](oraclelinux8/php/7.4-apache/Dockerfile)
* [`oraclelinux8-php:7.4-apache-oracledb`](oraclelinux8/php/7.4-apache-oracledb/Dockerfile)
* [`oraclelinux8-php:7.4-cli`](oraclelinux8/php/7.4-cli/Dockerfile)
* [`oraclelinux8-php:7.4-cli-oracledb`](oraclelinux8/php/7.4-cli-oracledb/Dockerfile)
* [`oraclelinux8-php:7.4-fpm`](oraclelinux8/php/7.4-fpm/Dockerfile)
* [`oraclelinux8-php:7.4-fpm-oracledb`](oraclelinux8/php/7.4-fpm-oracledb/Dockerfile)
* [`oraclelinux8-php:8.0-apache`](oraclelinux8/php/8.0-apache/Dockerfile)
* [`oraclelinux8-php:8.0-cli`](oraclelinux8/php/8.0-cli/Dockerfile)
* [`oraclelinux8-php:8.0-fpm`](oraclelinux8/php/8.0-fpm/Dockerfile)

### Python modules

Expand Down Expand Up @@ -130,6 +128,7 @@ You should then be able to create a new Ruby on Rails application.
* [`oraclelinux8-ruby:2.7`](oraclelinux8/ruby/2.7/Dockerfile)
* [`oraclelinux8-ruby:2.7-nodejs`](oraclelinux8/ruby/2.7-nodejs/Dockerfile)
* [`oraclelinux8-ruby:3.0`](oraclelinux8/ruby/3.0/Dockerfile)
* [`oraclelinux8-ruby:3.1`](oraclelinux8/ruby/3.1/Dockerfile)

[1]: https://github.com/orgs/oracle/packages?repo_name=docker-images
[2]: https://yum.oracle.com
23 changes: 23 additions & 0 deletions OracleLinuxDevelopers/oraclelinux8/nginx/1.22/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Copyright (c) 2023 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:8

RUN \
# Explicitly disable PHP to suppress conflicting requests error
dnf -y module disable php \
&& \
dnf -y module enable nginx:1.22 && \
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;"]
2 changes: 1 addition & 1 deletion OracleLinuxDevelopers/oraclelinux8/nginx/latest
10 changes: 10 additions & 0 deletions OracleLinuxDevelopers/oraclelinux8/nodejs/20/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Copyright (c) 2023, 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:8

RUN dnf -y module enable nodejs:20 && \
dnf -y install nodejs npm && \
rm -rf /var/cache/dnf

CMD ["/bin/node", "-v"]
37 changes: 37 additions & 0 deletions OracleLinuxDevelopers/oraclelinux8/php/8.0-apache/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Copyright (c) 2023 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:8

# hadolint shell=/usr/bin/bash
RUN dnf -y module enable php:8.0 httpd:2.4 && \
dnf -y install httpd httpd-filesystem httpd-tools \
mod_http2 mod_ssl openssl \
php php-cli php-common php-json php-mbstring php-mysqlnd php-pdo php-xml && \
rm -rf /var/cache/dnf \
&& \
# Disable event module and enable prefork so that mod_php is enabled
sed -i 's/#LoadModule mpm_prefork_module modules\/mod_mpm_prefork.so/LoadModule mpm_prefork_module modules\/mod_mpm_prefork.so/' /etc/httpd/conf.modules.d/00-mpm.conf && \
sed -i 's/LoadModule mpm_event_module modules\/mod_mpm_event.so/#LoadModule mpm_event_module modules\/mod_mpm_event.so/' /etc/httpd/conf.modules.d/00-mpm.conf && \
# Disable HTTP2 as it is not supported with the prefork module
sed -i 's/LoadModule http2_module modules\/mod_http2.so/#LoadModule http2_module modules\/mod_http2.so/' /etc/httpd/conf.modules.d/10-h2.conf && \
sed -i 's/LoadModule proxy_http2_module modules\/mod_proxy_http2.so/#LoadModule proxy_http2_module modules\/mod_proxy_http2.so/' /etc/httpd/conf.modules.d/10-proxy_h2.conf \
&& \
# Create self-signed certificate for mod_ssl
openssl req -x509 -nodes -newkey rsa:4096 \
-keyout /etc/pki/tls/private/localhost.key \
-out /etc/pki/tls/certs/localhost.crt \
-days 3650 -subj '/CN=localhost' \
&& \
# Redirect logging to stdout/stderr for container logging to work
sed -i 's/;error_log = syslog/error_log = \/dev\/stderr/' /etc/php.ini && \
ln -sf /dev/stdout /var/log/httpd/access_log && \
ln -sf /dev/stderr /var/log/httpd/error_log && \
ln -sf /dev/stdout /var/log/httpd/ssl_access_log && \
ln -sf /dev/stderr /var/log/httpd/ssl_error_log && \
# Disable userdirs and the auto-generated welcome message
rm -f /etc/httpd/conf.d/{userdir.conf,welcome.conf}

EXPOSE 80 443

CMD ["/sbin/httpd", "-DFOREGROUND"]
16 changes: 16 additions & 0 deletions OracleLinuxDevelopers/oraclelinux8/php/8.0-cli/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Copyright (c) 2023 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:8

RUN dnf -y module enable php:8.0 && \
dnf -y install php-cli \
php-common \
php-json \
php-mbstring \
php-mysqlnd \
php-pdo \
php-xml && \
rm -rf /var/cache/dnf

CMD ["/bin/php", "-v"]
30 changes: 30 additions & 0 deletions OracleLinuxDevelopers/oraclelinux8/php/8.0-fpm/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Copyright (c) 2023 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:8

RUN dnf -y module enable php:8.0 && \
dnf -y install php-cli \
php-common \
php-fpm \
php-json \
php-mbstring \
php-mysqlnd \
php-pdo \
php-soap \
php-xml && \
rm -rf /var/cache/dnf \
&& \
# Enable external access to PHP-FPM
mkdir -p /run/php-fpm && \
sed -i '/^listen = /clisten = 0.0.0.0:9000' /etc/php-fpm.d/www.conf && \
sed -i '/^listen.allowed_clients/c;listen.allowed_clients =' /etc/php-fpm.d/www.conf \
&& \
# Redirect worker output to stdout for container logging
sed -i '/^;catch_workers_output/ccatch_workers_output = yes' /etc/php-fpm.d/www.conf

EXPOSE 9000

WORKDIR /var/www

CMD ["/sbin/php-fpm", "-F", "-O"]
13 changes: 13 additions & 0 deletions OracleLinuxDevelopers/oraclelinux8/ruby/3.1/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Copyright (c) 2023 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:8


RUN dnf -y module enable ruby:3.1 && \
dnf -y install ruby ruby-libs ruby-devel ruby-irb \
rubygems rubygem-rake rubygem-bundler \
gcc make && \
rm -rf /var/cache/dnf

CMD ["irb"]

0 comments on commit 9715632

Please sign in to comment.