Skip to content

Commit ada2662

Browse files
committed
feat: Dockerfile include work finish
1 parent abf3599 commit ada2662

File tree

17 files changed

+886
-666
lines changed

17 files changed

+886
-666
lines changed
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
---
3+
4+
```dockerfile
5+
# syntax=docker/dockerfile:1
6+
7+
# Base image
8+
FROM amazonlinux:2023
9+
10+
# Install NGINX OSS and F5 WAF for NGINX WAF v5 module
11+
RUN --mount=type=secret,id=nginx-crt,dst=/etc/ssl/nginx/nginx-repo.crt,mode=0644 \
12+
--mount=type=secret,id=nginx-key,dst=/etc/ssl/nginx/nginx-repo.key,mode=0644 \
13+
yum -y install wget ca-certificates shadow-utils yum-utils \
14+
&& echo "[nginx-mainline]" > /etc/yum.repos.d/nginx.repo \
15+
&& echo "name=nginx mainline repo" >> /etc/yum.repos.d/nginx.repo \
16+
&& echo "baseurl=http://nginx.org/packages/mainline/amzn/2023/\$basearch/" >> /etc/yum.repos.d/nginx.repo \
17+
&& echo "gpgcheck=1" >> /etc/yum.repos.d/nginx.repo \
18+
&& echo "enabled=1" >> /etc/yum.repos.d/nginx.repo \
19+
&& echo "gpgkey=https://nginx.org/keys/nginx_signing.key" >> /etc/yum.repos.d/nginx.repo \
20+
&& echo "module_hotfixes=true" >> /etc/yum.repos.d/nginx.repo \
21+
&& echo "priority=9" >> /etc/yum.repos.d/nginx.repo \
22+
&& echo "[app-protect-x-oss]" > /etc/yum.repos.d/app-protect-oss.repo \
23+
&& echo "name=nginx-app-protect repo" >> /etc/yum.repos.d/app-protect-oss.repo \
24+
&& echo "baseurl=https://pkgs.nginx.com/app-protect-x-oss/amzn/2023/\$basearch/" >> /etc/yum.repos.d/app-protect-oss.repo \
25+
&& echo "sslclientcert=/etc/ssl/nginx/nginx-repo.crt" >> /etc/yum.repos.d/app-protect-oss.repo \
26+
&& echo "sslclientkey=/etc/ssl/nginx/nginx-repo.key" >> /etc/yum.repos.d/app-protect-oss.repo \
27+
&& echo "gpgcheck=0" >> /etc/yum.repos.d/app-protect-oss.repo \
28+
&& echo "enabled=1" >> /etc/yum.repos.d/app-protect-oss.repo \
29+
&& yum -y install app-protect-module-oss \
30+
&& yum clean all \
31+
&& rm -rf /var/cache/yum \
32+
&& ln -sf /dev/stdout /var/log/nginx/access.log \
33+
&& ln -sf /dev/stderr /var/log/nginx/error.log
34+
35+
# Expose port
36+
EXPOSE 80
37+
38+
# Define stop signal
39+
STOPSIGNAL SIGQUIT
40+
41+
# Set default command
42+
CMD ["nginx", "-g", "daemon off;"]
43+
```
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
---
2+
---
3+
4+
```dockerfile
5+
# syntax=docker/dockerfile:1
6+
7+
# Base image
8+
FROM amazonlinux:2023
9+
10+
# Install NGINX Plus and F5 WAF for NGINX v5 module
11+
RUN --mount=type=secret,id=nginx-crt,dst=/etc/ssl/nginx/nginx-repo.cert,mode=0644 \
12+
--mount=type=secret,id=nginx-key,dst=/etc/ssl/nginx/nginx-repo.key,mode=0644 \
13+
yum -y install wget ca-certificates shadow-utils \
14+
&& wget -P /etc/yum.repos.d https://cs.nginx.com/static/files/plus-amazonlinux2023.repo \
15+
&& echo "[app-protect-x-plus]" > /etc/yum.repos.d/app-protect-plus.repo \
16+
&& echo "name=nginx-app-protect repo" >> /etc/yum.repos.d/app-protect-plus.repo \
17+
&& echo "baseurl=https://pkgs.nginx.com/app-protect-x-plus/amzn/2023/\$basearch/" >> /etc/yum.repos.d/app-protect-plus.repo \
18+
&& echo "sslclientcert=/etc/ssl/nginx/nginx-repo.cert" >> /etc/yum.repos.d/app-protect-plus.repo \
19+
&& echo "sslclientkey=/etc/ssl/nginx/nginx-repo.key" >> /etc/yum.repos.d/app-protect-plus.repo \
20+
&& echo "gpgcheck=0" >> /etc/yum.repos.d/app-protect-plus.repo \
21+
&& echo "enabled=1" >> /etc/yum.repos.d/app-protect-plus.repo \
22+
&& yum -y install app-protect-module-plus \
23+
&& yum clean all \
24+
&& rm -rf /var/cache/yum \
25+
&& ln -sf /dev/stdout /var/log/nginx/access.log \
26+
&& ln -sf /dev/stderr /var/log/nginx/error.log
27+
28+
# Expose port
29+
EXPOSE 80
30+
31+
# Define stop signal
32+
STOPSIGNAL SIGQUIT
33+
34+
# Set default command
35+
CMD ["nginx", "-g", "daemon off;"]
36+
```
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
---
2+
---
3+
4+
```dockerfile
5+
# syntax=docker/dockerfile:1
6+
7+
# Supported OS_CODENAME's are: bullseye/bookworm
8+
ARG OS_CODENAME=bookworm
9+
10+
# Base image
11+
FROM debian:${OS_CODENAME}
12+
13+
# Install NGINX OSS and F5 WAF for NGINX v5 module
14+
RUN --mount=type=secret,id=nginx-crt,dst=/etc/ssl/nginx/nginx-repo.crt,mode=0644 \
15+
--mount=type=secret,id=nginx-key,dst=/etc/ssl/nginx/nginx-repo.key,mode=0644 \
16+
apt-get update \
17+
&& apt-get install -y \
18+
apt-transport-https \
19+
lsb-release \
20+
ca-certificates \
21+
wget \
22+
gnupg2 \
23+
debian-archive-keyring \
24+
&& wget -qO - https://nginx.org/keys/nginx_signing.key | gpg --dearmor | \
25+
tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null \
26+
&& gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg \
27+
&& printf "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
28+
http://nginx.org/packages/mainline/debian `lsb_release -cs` nginx\n" | \
29+
tee /etc/apt/sources.list.d/nginx.list \
30+
&& wget -qO - https://cs.nginx.com/static/keys/nginx_signing.key | gpg --dearmor | \
31+
tee /usr/share/keyrings/nginx-static-archive-keyring.gpg >/dev/null \
32+
&& gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-static-archive-keyring.gpg \
33+
&& printf "deb [signed-by=/usr/share/keyrings/nginx-static-archive-keyring.gpg] \
34+
https://pkgs.nginx.com/app-protect-x-oss/debian `lsb_release -cs` nginx-plus\n" | \
35+
tee /etc/apt/sources.list.d/nginx-app-protect.list \
36+
&& wget -P /etc/apt/apt.conf.d https://cs.nginx.com/static/files/90pkgs-nginx \
37+
&& apt-get update \
38+
&& DEBIAN_FRONTEND="noninteractive" apt-get install -y nginx=1.25.5-1~`lsb_release -cs` app-protect-module-oss \
39+
&& ln -sf /dev/stdout /var/log/nginx/access.log \
40+
&& ln -sf /dev/stderr /var/log/nginx/error.log \
41+
&& apt-get clean \
42+
&& rm -rf /var/lib/apt/lists/*
43+
44+
# Expose port
45+
EXPOSE 80
46+
47+
# Define stop signal
48+
STOPSIGNAL SIGQUIT
49+
50+
# Set default command
51+
CMD ["nginx", "-g", "daemon off;"]
52+
```
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
---
2+
---
3+
4+
```dockerfile
5+
# syntax=docker/dockerfile:1
6+
7+
# Supported OS_CODENAME's are: bullseye/bookworm
8+
ARG OS_CODENAME=bookworm
9+
10+
# Base image
11+
FROM debian:${OS_CODENAME}
12+
13+
# Install NGINX Plus and F5 WAF for NGINX v5 module
14+
RUN --mount=type=secret,id=nginx-crt,dst=/etc/ssl/nginx/nginx-repo.cert,mode=0644 \
15+
--mount=type=secret,id=nginx-key,dst=/etc/ssl/nginx/nginx-repo.key,mode=0644 \
16+
apt-get update \
17+
&& apt-get install -y \
18+
apt-transport-https \
19+
lsb-release \
20+
ca-certificates \
21+
wget \
22+
gnupg2 \
23+
debian-archive-keyring \
24+
&& wget -qO - https://cs.nginx.com/static/keys/nginx_signing.key | \
25+
gpg --dearmor | tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null \
26+
&& gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg \
27+
&& printf "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
28+
https://pkgs.nginx.com/plus/debian `lsb_release -cs` nginx-plus\n" | \
29+
tee /etc/apt/sources.list.d/nginx-plus.list \
30+
&& printf "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
31+
https://pkgs.nginx.com/app-protect-x-plus/debian `lsb_release -cs` nginx-plus\n" | \
32+
tee /etc/apt/sources.list.d/nginx-app-protect.list \
33+
&& wget -P /etc/apt/apt.conf.d https://cs.nginx.com/static/files/90pkgs-nginx \
34+
&& apt-get update \
35+
&& DEBIAN_FRONTEND="noninteractive" apt-get install -y app-protect-module-plus \
36+
&& ln -sf /dev/stdout /var/log/nginx/access.log \
37+
&& ln -sf /dev/stderr /var/log/nginx/error.log \
38+
&& apt-get clean \
39+
&& rm -rf /var/lib/apt/lists/*
40+
41+
# Expose port
42+
EXPOSE 80
43+
44+
# Define stop signal
45+
STOPSIGNAL SIGQUIT
46+
47+
# Set default command
48+
CMD ["nginx", "-g", "daemon off;"]
49+
```
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
---
3+
4+
```dockerfile
5+
# syntax=docker/dockerfile:1
6+
7+
# Base image
8+
FROM oraclelinux:8
9+
10+
# Install NGINX OSS and F5 WAF for NGINX v5 module
11+
RUN --mount=type=secret,id=nginx-crt,dst=/etc/ssl/nginx/nginx-repo.crt,mode=0644 \
12+
--mount=type=secret,id=nginx-key,dst=/etc/ssl/nginx/nginx-repo.key,mode=0644 \
13+
dnf -y install wget ca-certificates yum-utils \
14+
&& echo "[nginx-mainline]" > /etc/yum.repos.d/nginx.repo \
15+
&& echo "name=nginx mainline repo" >> /etc/yum.repos.d/nginx.repo \
16+
&& echo "baseurl=http://nginx.org/packages/mainline/centos/\$releasever/\$basearch/" >> /etc/yum.repos.d/nginx.repo \
17+
&& echo "gpgcheck=1" >> /etc/yum.repos.d/nginx.repo \
18+
&& echo "enabled=1" >> /etc/yum.repos.d/nginx.repo \
19+
&& echo "gpgkey=https://nginx.org/keys/nginx_signing.key" >> /etc/yum.repos.d/nginx.repo \
20+
&& echo "module_hotfixes=true" >> /etc/yum.repos.d/nginx.repo \
21+
&& echo "[app-protect-x-oss]" > /etc/yum.repos.d/app-protect-8-x-oss.repo \
22+
&& echo "name=nginx-app-protect repo" >> /etc/yum.repos.d/app-protect-8-x-oss.repo \
23+
&& echo "baseurl=https://pkgs.nginx.com/app-protect-x-oss/centos/8/\$basearch/" >> /etc/yum.repos.d/app-protect-8-x-oss.repo \
24+
&& echo "sslclientcert=/etc/ssl/nginx/nginx-repo.crt" >> /etc/yum.repos.d/app-protect-8-x-oss.repo \
25+
&& echo "sslclientkey=/etc/ssl/nginx/nginx-repo.key" >> /etc/yum.repos.d/app-protect-8-x-oss.repo \
26+
&& echo "gpgcheck=0" >> /etc/yum.repos.d/app-protect-8-x-oss.repo \
27+
&& echo "enabled=1" >> /etc/yum.repos.d/app-protect-8-x-oss.repo \
28+
&& dnf clean all \
29+
&& dnf -y install app-protect-module-oss \
30+
&& dnf clean all \
31+
&& rm -rf /var/cache/dnf \
32+
&& ln -sf /dev/stdout /var/log/nginx/access.log \
33+
&& ln -sf /dev/stderr /var/log/nginx/error.log
34+
35+
# Expose port
36+
EXPOSE 80
37+
38+
# Define stop signal
39+
STOPSIGNAL SIGQUIT
40+
41+
# Set default command
42+
CMD ["nginx", "-g", "daemon off;"]
43+
```
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
---
2+
---
3+
4+
```dockerfile
5+
# syntax=docker/dockerfile:1
6+
7+
# Base image
8+
FROM oraclelinux:8
9+
10+
# Install NGINX Plus and F5 WAF for NGINX v5 module
11+
RUN --mount=type=secret,id=nginx-crt,dst=/etc/ssl/nginx/nginx-repo.cert,mode=0644 \
12+
--mount=type=secret,id=nginx-key,dst=/etc/ssl/nginx/nginx-repo.key,mode=0644 \
13+
dnf -y install wget ca-certificates yum-utils \
14+
&& wget -P /etc/yum.repos.d https://cs.nginx.com/static/files/nginx-plus-8.repo \
15+
&& echo "[app-protect-x-plus]" > /etc/yum.repos.d/app-protect-8-x-plus.repo \
16+
&& echo "name=nginx-app-protect repo" >> /etc/yum.repos.d/app-protect-8-x-plus.repo \
17+
&& echo "baseurl=https://pkgs.nginx.com/app-protect-x-plus/centos/8/\$basearch/" >> /etc/yum.repos.d/app-protect-8-x-plus.repo \
18+
&& echo "sslclientcert=/etc/ssl/nginx/nginx-repo.cert" >> /etc/yum.repos.d/app-protect-8-x-plus.repo \
19+
&& echo "sslclientkey=/etc/ssl/nginx/nginx-repo.key" >> /etc/yum.repos.d/app-protect-8-x-plus.repo \
20+
&& echo "gpgcheck=0" >> /etc/yum.repos.d/app-protect-8-x-plus.repo \
21+
&& echo "enabled=1" >> /etc/yum.repos.d/app-protect-8-x-plus.repo \
22+
&& dnf clean all \
23+
&& dnf -y install app-protect-module-plus \
24+
&& dnf clean all \
25+
&& rm -rf /var/cache/dnf \
26+
&& ln -sf /dev/stdout /var/log/nginx/access.log \
27+
&& ln -sf /dev/stderr /var/log/nginx/error.log
28+
29+
# Expose port
30+
EXPOSE 80
31+
32+
# Define stop signal
33+
STOPSIGNAL SIGQUIT
34+
35+
# Set default command
36+
CMD ["nginx", "-g", "daemon off;"]
37+
```
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
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+
```
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
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 Plus and F5 WAF for NGINX v5 module
17+
RUN --mount=type=secret,id=nginx-crt,dst=/etc/ssl/nginx/nginx-repo.cert,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+
NGINX_PLUS_REPO="nginx-plus-7.4.repo"; \
23+
elif [ "${UBI_VERSION}" = "9" ]; then \
24+
NGINX_PLUS_REPO="plus-${UBI_VERSION}.repo"; \
25+
else \
26+
NGINX_PLUS_REPO="nginx-plus-${UBI_VERSION}.repo"; \
27+
fi \
28+
&& $PKG_MANAGER -y install wget ca-certificates \
29+
&& wget -P /etc/yum.repos.d https://cs.nginx.com/static/files/dependencies.repo \
30+
&& wget -P /etc/yum.repos.d https://cs.nginx.com/static/files/${NGINX_PLUS_REPO} \
31+
&& echo "[app-protect-x-plus]" > /etc/yum.repos.d/app-protect-${UBI_VERSION}-x-plus.repo \
32+
&& echo "name=nginx-app-protect repo" >> /etc/yum.repos.d/app-protect-${UBI_VERSION}-x-plus.repo \
33+
&& echo "baseurl=https://pkgs.nginx.com/app-protect-x-plus/centos/${UBI_VERSION}/\$basearch/" >> /etc/yum.repos.d/app-protect-${UBI_VERSION}-x-plus.repo \
34+
&& echo "sslclientcert=/etc/ssl/nginx/nginx-repo.cert" >> /etc/yum.repos.d/app-protect-${UBI_VERSION}-x-plus.repo \
35+
&& echo "sslclientkey=/etc/ssl/nginx/nginx-repo.key" >> /etc/yum.repos.d/app-protect-${UBI_VERSION}-x-plus.repo \
36+
&& echo "gpgcheck=0" >> /etc/yum.repos.d/app-protect-${UBI_VERSION}-x-plus.repo \
37+
&& echo "enabled=1" >> /etc/yum.repos.d/app-protect-${UBI_VERSION}-x-plus.repo \
38+
&& $PKG_MANAGER clean all \
39+
&& $PKG_MANAGER install -y app-protect-module-plus \
40+
&& $PKG_MANAGER clean all \
41+
&& rm -rf /var/cache/$PKG_MANAGER \
42+
&& ln -sf /dev/stdout /var/log/nginx/access.log \
43+
&& ln -sf /dev/stderr /var/log/nginx/error.log
44+
45+
# Expose port
46+
EXPOSE 80
47+
48+
# Define stop signal
49+
STOPSIGNAL SIGQUIT
50+
51+
# Set default command
52+
CMD ["nginx", "-g", "daemon off;"]
53+
```

0 commit comments

Comments
 (0)