|
| 1 | +--- |
| 2 | +--- |
| 3 | + |
| 4 | +```dockerfile |
| 5 | +# syntax=docker/dockerfile:1 |
| 6 | + |
| 7 | +# Supported UBI_VERSION's are 7/8/9 |
| 8 | +ARG UBI_VERSION=8 |
| 9 | + |
| 10 | +# Base Image |
| 11 | +FROM registry.access.redhat.com/ubi${UBI_VERSION}/ubi |
| 12 | + |
| 13 | +# Define the ARG again after FROM to use it in this stage |
| 14 | +ARG UBI_VERSION |
| 15 | + |
| 16 | +# Install NGINX OSS and F5 WAF for NGINX v5 module |
| 17 | +RUN --mount=type=secret,id=nginx-crt,dst=/etc/ssl/nginx/nginx-repo.crt,mode=0644 \ |
| 18 | + --mount=type=secret,id=nginx-key,dst=/etc/ssl/nginx/nginx-repo.key,mode=0644 \ |
| 19 | + PKG_MANAGER=dnf; \ |
| 20 | + if [ "${UBI_VERSION}" = "7" ]; then \ |
| 21 | + PKG_MANAGER=yum; \ |
| 22 | + fi \ |
| 23 | + && $PKG_MANAGER -y install wget ca-certificates yum-utils \ |
| 24 | + && wget -P /etc/yum.repos.d https://cs.nginx.com/static/files/dependencies.repo \ |
| 25 | + && echo "[nginx-mainline]" > /etc/yum.repos.d/nginx.repo \ |
| 26 | + && echo "name=nginx mainline repo" >> /etc/yum.repos.d/nginx.repo \ |
| 27 | + && echo "baseurl=http://nginx.org/packages/mainline/centos/\$releasever/\$basearch/" >> /etc/yum.repos.d/nginx.repo \ |
| 28 | + && echo "gpgcheck=1" >> /etc/yum.repos.d/nginx.repo \ |
| 29 | + && echo "enabled=1" >> /etc/yum.repos.d/nginx.repo \ |
| 30 | + && echo "gpgkey=https://nginx.org/keys/nginx_signing.key" >> /etc/yum.repos.d/nginx.repo \ |
| 31 | + && echo "module_hotfixes=true" >> /etc/yum.repos.d/nginx.repo \ |
| 32 | + && echo "[app-protect-x-oss]" > /etc/yum.repos.d/app-protect-${UBI_VERSION}-x-oss.repo \ |
| 33 | + && echo "name=nginx-app-protect repo" >> /etc/yum.repos.d/app-protect-${UBI_VERSION}-x-oss.repo \ |
| 34 | + && echo "baseurl=https://pkgs.nginx.com/app-protect-x-oss/centos/${UBI_VERSION}/\$basearch/" >> /etc/yum.repos.d/app-protect-${UBI_VERSION}-x-oss.repo \ |
| 35 | + && echo "sslclientcert=/etc/ssl/nginx/nginx-repo.crt" >> /etc/yum.repos.d/app-protect-${UBI_VERSION}-x-oss.repo \ |
| 36 | + && echo "sslclientkey=/etc/ssl/nginx/nginx-repo.key" >> /etc/yum.repos.d/app-protect-${UBI_VERSION}-x-oss.repo \ |
| 37 | + && echo "gpgcheck=0" >> /etc/yum.repos.d/app-protect-${UBI_VERSION}-x-oss.repo \ |
| 38 | + && echo "enabled=1" >> /etc/yum.repos.d/app-protect-${UBI_VERSION}-x-oss.repo \ |
| 39 | + && $PKG_MANAGER clean all \ |
| 40 | + && $PKG_MANAGER install -y app-protect-module-oss \ |
| 41 | + && $PKG_MANAGER clean all \ |
| 42 | + && rm -rf /var/cache/$PKG_MANAGER \ |
| 43 | + && ln -sf /dev/stdout /var/log/nginx/access.log \ |
| 44 | + && ln -sf /dev/stderr /var/log/nginx/error.log |
| 45 | + |
| 46 | +# Expose port |
| 47 | +EXPOSE 80 |
| 48 | + |
| 49 | +# Define stop signal |
| 50 | +STOPSIGNAL SIGQUIT |
| 51 | + |
| 52 | +# Set default command |
| 53 | +CMD ["nginx", "-g", "daemon off;"] |
| 54 | +``` |
0 commit comments