Skip to content

Commit efb3f67

Browse files
committed
Add php 8.2
1 parent fb3f5f1 commit efb3f67

File tree

8 files changed

+2460
-78
lines changed

8 files changed

+2460
-78
lines changed

docker-compose.sample.yml

+19-32
Original file line numberDiff line numberDiff line change
@@ -3,51 +3,38 @@ services:
33
nginx:
44
build:
55
context: ./services/nginx
6-
args:
7-
NGINX_VERSION: nginx:${NGINX_VERSION}
8-
CONTAINER_PACKAGE_URL: ${CONTAINER_PACKAGE_URL}
9-
NGINX_INSTALL_APPS: ${NGINX_INSTALL_APPS}
106
container_name: nginx
117
ports:
12-
- "${NGINX_HTTP_HOST_PORT}:80"
13-
- "${NGINX_HTTPS_HOST_PORT}:443"
8+
- "80:80"
9+
- "443:443"
1410
volumes:
15-
- ${SOURCE_DIR}:/www/:rw
16-
- ${NGINX_SSL_CERTIFICATE_DIR}:/ssl:rw
17-
- ${NGINX_CONFD_DIR}:/etc/nginx/conf.d/:rw
18-
- ${NGINX_CONF_FILE}:/etc/nginx/nginx.conf:ro
19-
- ${NGINX_FASTCGI_PHP_CONF}:/etc/nginx/fastcgi-php.conf:ro
20-
- ${NGINX_FASTCGI_PARAMS}:/etc/nginx/fastcgi_params:ro
21-
- ${NGINX_LOG_DIR}:/var/log/nginx/:rw
22-
environment:
23-
TZ: "$TZ"
11+
- ./www:/www
12+
- ./services/nginx/ssl:/ssl
13+
- ./services/nginx/conf.d:/etc/nginx/conf.d
14+
- ./services/nginx/nginx.conf:/etc/nginx/nginx.conf
15+
- ./services/nginx/fastcgi-php.conf:/etc/nginx/fastcgi-php.conf
16+
- ./services/nginx/fastcgi_params:/etc/nginx/fastcgi_params
17+
- ./logs/nginx:/var/log/nginx
2418
restart: always
2519
networks:
2620
- default
27-
# 可以把-default 改成下列配置,以固定容器IP
28-
#default:
29-
# ipv4_address: 10.0.0.10
3021

31-
php:
22+
php82:
3223
build:
33-
context: ./services/php
24+
context: ./services/php82
3425
args:
35-
PHP_VERSION: php:${PHP_VERSION}-fpm-alpine
3626
CONTAINER_PACKAGE_URL: ${CONTAINER_PACKAGE_URL}
37-
COMPOSER_URL: ${COMPOSER_URL}
38-
PHP_EXTENSIONS: ${PHP_EXTENSIONS}
39-
TZ: "$TZ"
40-
container_name: php
27+
PHP_EXTENSIONS: pdo_mysql mysqli gd curl opcache
28+
TZ: Asia/Dubai
29+
container_name: php82
4130
expose:
4231
- 9501
43-
extra_hosts:
44-
- "www.site1.com:172.17.0.1"
4532
volumes:
46-
- ${SOURCE_DIR}:/www/:rw
47-
- ${PHP_PHP_CONF_FILE}:/usr/local/etc/php/php.ini:ro
48-
- ${PHP_FPM_CONF_FILE}:/usr/local/etc/php-fpm.d/www.conf:rw
49-
- ${PHP_LOG_DIR}:/var/log/php
50-
- ${DATA_DIR}/composer:/tmp/composer
33+
- ./www:/www
34+
- ./services/php/php.ini:/usr/local/etc/php/php.ini
35+
- ./services/php/php-fpm.conf:/usr/local/etc/php-fpm.d/www.conf
36+
- ./logs/php82:/var/log/php
37+
- ./data/composer:/tmp/composer
5138
restart: always
5239
cap_add:
5340
- SYS_PTRACE

services/nginx/Dockerfile

+1-16
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,3 @@
1-
ARG NGINX_VERSION
2-
FROM ${NGINX_VERSION}
3-
4-
ARG TZ
5-
ARG NGINX_VERSION
6-
ARG CONTAINER_PACKAGE_URL
7-
ARG NGINX_INSTALL_APPS
8-
9-
ENV INSTALL_APPS=",${NGINX_INSTALL_APPS},"
10-
11-
RUN if [ "${CONTAINER_PACKAGE_URL}" != "" ] ; then sed -i "s/dl-cdn.alpinelinux.org/${CONTAINER_PACKAGE_URL}/g" /etc/apk/repositories ; fi
12-
13-
RUN if [ -z "${INSTALL_APPS##*,certbot,*}" ]; then \
14-
echo "---------- Install certbot ----------"; \
15-
apk add --no-cache certbot; \
16-
fi
1+
FROM nginx:1.26-alpine
172

183
WORKDIR /www

services/nginx/conf.d/localhost.conf

+4-2
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,10 @@ server {
4141
}
4242

4343
server {
44-
listen 443 default ssl http2;
4544
server_name localhost;
45+
listen 443 default ssl;
46+
http2 on;
47+
4648
root /www/localhost;
4749
index index.php index.html index.htm;
4850
#charset koi8-r;
@@ -72,7 +74,7 @@ server {
7274
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
7375
#
7476
location ~ [^/]\.php(/|$) {
75-
fastcgi_pass php:9000;
77+
fastcgi_pass php82:9000;
7678
include fastcgi-php.conf;
7779
include fastcgi_params;
7880
}
+19-13
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,21 @@
11
-----BEGIN CERTIFICATE-----
2-
MIICVTCCAb4CCQDAjEyILRN30zANBgkqhkiG9w0BAQsFADBvMQswCQYDVQQGEwJV
3-
UzENMAsGA1UECAwETWFyczETMBEGA1UEBwwKaVRyYW5zd2FycDETMBEGA1UECgwK
4-
aVRyYW5zd2FycDETMBEGA1UECwwKaVRyYW5zd2FycDESMBAGA1UEAwwJbG9jYWxo
5-
b3N0MB4XDTE4MDkyNTAyMzAyNVoXDTI4MDkyMjAyMzAyNVowbzELMAkGA1UEBhMC
6-
VVMxDTALBgNVBAgMBE1hcnMxEzARBgNVBAcMCmlUcmFuc3dhcnAxEzARBgNVBAoM
7-
CmlUcmFuc3dhcnAxEzARBgNVBAsMCmlUcmFuc3dhcnAxEjAQBgNVBAMMCWxvY2Fs
8-
aG9zdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvF1hXtpa26dj8qKq4rQ8
9-
DYHC36UcghZp7JF8Q9M1ga4+R+M37Tt7rbkVSCbPfBYN0lGJ12CqQUye8wfJ/skr
10-
ol7KJcyfj5Z/z3IZSLegCOkJfxF5vNKzArbb+R2+ek2WdKuTGfOdbj07y1Q52HsS
11-
iOcrl7kUzmkYvxMEA2bqkPsCAwEAATANBgkqhkiG9w0BAQsFAAOBgQAeuljNAc0b
12-
wNQCRRzJmfmW2I9kKGQVdHeJwzNE5D3jXlUbUXxBVpw5db548v6TSszicQV1nNav
13-
HiRQsQIbciSdRL7JFSFBbXURVD9LYu7SjtVb5sviZht1t47OpdT/GDYDkx40I3SK
14-
qtCcfeZ0GVupkCCZZM4C26hMZz+LVUaCmw==
2+
MIIDYTCCAkmgAwIBAgIUKZTVNpsZ7b3MupQoDcDM76YkaSUwDQYJKoZIhvcNAQEL
3+
BQAwWTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
4+
GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDESMBAGA1UEAwwJbG9jYWxob3N0MB4X
5+
DTI0MTAwMjA0MDIyMFoXDTI1MTAwMjA0MDIyMFowWTELMAkGA1UEBhMCQVUxEzAR
6+
BgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5
7+
IEx0ZDESMBAGA1UEAwwJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
8+
MIIBCgKCAQEAoheNl+kZcyqorYFvC/h7VAGpJ/lTszFI8aNSW2EFSNhxb6XZS4Rq
9+
7QxuTt6KQY1LmPAaq0tNWKq9eqn9FdcFE/LSfS832uGNiIkMYQzJeEhuhk2adeso
10+
IlDaSZCQXKV55wKdfwrUOhBSUByskGSBrbVrkMpKtJA+eedi1WcqisZUggxopjG5
11+
OZFccryC0QAEkEifNR5BGTFwUSLpm/0v2K77d+Roblt5lV+q5kpqgse8U8u0dswg
12+
jSX1BMsvwo8GRln7eGqyclFBF4pTDcvrlO36Sb4/cZ4LSP7+HegKPA42I1hXTRpf
13+
n7tmnZIGgRJkr5DDnUjwkSBfjByvZTkYLwIDAQABoyEwHzAdBgNVHQ4EFgQUVnN1
14+
3U5kv5TyQPtJnVHdRECkzyowDQYJKoZIhvcNAQELBQADggEBABYSf/XnFrOwK4xM
15+
956hKizLQfrzXbk90e0IideS6L/r62kxI1/ZDrMYveszE/1/7mVqaqxyIbs+w5Xr
16+
DX2/57K67OTLf7wmcHB93LXinA9zESMXp+2Q1n4yy9eULYgBDkcnxm+GsF33xRZ4
17+
X0rPhnKCgkoa2Z0sPIPhfoP7PDrSwaPBgJ+IpIn0PuwgFHDl8J71qCSWPK4VrONI
18+
Ms6UMF49UWMR4K/Jjemou3hM7TDp8NrxxrA7NIpXCRdP3sQInL+juPqqIjniJil2
19+
yu8fY0jzMfQzZO4qEDJwJEKolNOtHOkNh704WY/wgh0yaseOOriIeMjCE5wgt1to
20+
ljJgv2E=
1521
-----END CERTIFICATE-----
+28-15
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,28 @@
1-
-----BEGIN RSA PRIVATE KEY-----
2-
MIICXwIBAAKBgQC8XWFe2lrbp2PyoqritDwNgcLfpRyCFmnskXxD0zWBrj5H4zft
3-
O3utuRVIJs98Fg3SUYnXYKpBTJ7zB8n+ySuiXsolzJ+Pln/PchlIt6AI6Ql/EXm8
4-
0rMCttv5Hb56TZZ0q5MZ851uPTvLVDnYexKI5yuXuRTOaRi/EwQDZuqQ+wIDAQAB
5-
AoGBALIcFiMLk1gZen+GYtFEnXgkF7FDPaagLP59PqQfhXue19M/vbU7RqIo3T/B
6-
OvXZIK6bXRxjkfl2yuGAnvalH/Shz/YdDtwtItgyYr4rteU5wJnPijPa2ebYXxNV
7-
wxq+9iyZs2vhhbbRGhFxREVE8iu2RnLY12CRxykGmxlWcNDZAkEA9CjA14Ym9gN/
8-
XwZ8PNe+a/2fe8U0O86VnanOK1G5k5dsZkOW0O/5u622rMlGJw/S+YCBJ+8sOhFL
9-
QTxlVGPCtQJBAMV/79lWoGBGnpoB+o9lc1nBUCCxGmVzywSOrTjIquwegTvjMUUM
10-
yoqEDWC4fNdoFtaFZ12tPk42NYC4BdbU4u8CQQCqOAdJurNK7GFOZH0VBewx6Z3Y
11-
ckHaOEpCovGjbdSNOxJNsW1huQxIdfFXQPNxpCyX2akxqCMTUJ9AmdSjIvHJAkEA
12-
qKajjpimwxALB8CA0krzwcWOQxx5SgEjcHTV/xN8wb0a5qUPwcM2gipZsipYkSlV
13-
t0KcDiaOegNYlN6QPe/1CQJBALtRggJf4bMgjG9vsz/zhe9egCtuUifKfo5LLvI+
14-
Xua1SY6XGL0Bf8TOGaNXc6Ye9H5abp7q/bZlZ+dGgJ3SJCY=
15-
-----END RSA PRIVATE KEY-----
1+
-----BEGIN PRIVATE KEY-----
2+
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCiF42X6RlzKqit
3+
gW8L+HtUAakn+VOzMUjxo1JbYQVI2HFvpdlLhGrtDG5O3opBjUuY8BqrS01Yqr16
4+
qf0V1wUT8tJ9Lzfa4Y2IiQxhDMl4SG6GTZp16ygiUNpJkJBcpXnnAp1/CtQ6EFJQ
5+
HKyQZIGttWuQykq0kD5552LVZyqKxlSCDGimMbk5kVxyvILRAASQSJ81HkEZMXBR
6+
Iumb/S/Yrvt35GhuW3mVX6rmSmqCx7xTy7R2zCCNJfUEyy/CjwZGWft4arJyUUEX
7+
ilMNy+uU7fpJvj9xngtI/v4d6Ao8DjYjWFdNGl+fu2adkgaBEmSvkMOdSPCRIF+M
8+
HK9lORgvAgMBAAECggEAR/Xa55EVulo67mRjD1ZuMhpWpad78Da2IoiWXHkTJobo
9+
vV9Mu8j6y2hUZHFJwdZftHML8/YHTZDnc9iZwiNmXrfTmL3otyShd/cX5tINc3f8
10+
kWVMaINQmwN4FWa3oFnaZ6Nyll8RXwG1+Vjxh10HcT30liAo0EalZetCpmkZquey
11+
tB3y+siaazkFWtVFayV9OCb9NUs6bzUAE1VnMEn854+G7b7pBtc6P2NtXoB+smTv
12+
nEIsCMtn9rkHeBd1GTUo1g9f+r/WoTRQi6lASbOJXJ+TktlsKy52RsVRbk/yudru
13+
AVi/nWJuilM3LQ7iIW2ptoo86l3uX68Od5ETbdGESQKBgQDVj+2w8bP73laOwnlq
14+
HCFQCgC/Go5rVp+o0wlvsvvlyRciGVtpHqjtkEev79SpO8up5b8Ar9gVyGCQ9uNO
15+
h6sikpAXB716FqW5JvIkWy6men+tbCs3JPLSFVmUgkNL079WrY7JcfOviHmHH7Vk
16+
sIMSIPbrsZGvVqGsWzt/Sq8Y6wKBgQDCTUu7MROW8UephKHf46UdMqEMNZ99ijEj
17+
1Si4SY1j6mfh+xoMApd2rW844VgZ9gNLtUcLVX1HS1AgxyWTNuAtDj8ydSpllVZu
18+
fDcLZcI5ZAP06Mr1Ct/8T/APOLc4iTfvjPTlrOMGqfzVYSRkpJgg+WaYbq/QNjcG
19+
H2IHOb1szQKBgQDD2fi7mw3aYC61QXgjbaTHSEUi/PG7UnedVdyDiXslYmNKrEJ+
20+
htWY+AYmPSWkBehi6QVfVeQvJdIZX7FZ5WV2kT5/QGPtwTM+N4889Do2BoVsv5Rq
21+
QAJH07iRT1zz/z6r+QLHjy9RvTDmUJgDvTSWvZB02iWmzSX7cLeBpzYo/QKBgFz3
22+
WN3W7HWTOmOMl1slc7IVsGLEIWySu1JWwiXy41jEJjJEz8ChWNEqyIWhpGK/h/Io
23+
aTauD8QV79/PCVZ3sik8oNZGoyN5oaI5gqjMZnLJPO9olvtJ2cPCh6zwyRGe7gmL
24+
Gv3ti657lQKPeTdCXZuhWQpkI3DvD8K5L1EfuledAoGAKfEz4IJpVN2BNSJKVSxG
25+
DYETKbjNutmUu15eK2Z6CxLXebbOtW8CmEdRn4qxlAuDN5mLSqAdv5UPXYM8pBSR
26+
UmBr8i4JSA02lhAxgDiTYa8bG3Yz1ahWF7ZtToD7TK5UaJK9AZN+UWx2HsdlPh5G
27+
WsIy/Tc+AIcJWzNvVZkaLHY=
28+
-----END PRIVATE KEY-----

services/php82/Dockerfile

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
ARG PHP_VERSION
2+
FROM php:8.2-fpm
3+
4+
ARG TZ
5+
ARG PHP_EXTENSIONS
6+
ARG CONTAINER_PACKAGE_URL
7+
8+
9+
RUN if [ "${CONTAINER_PACKAGE_URL}" != "" ] ; then \
10+
sed -i "s|deb.debian.org|${CONTAINER_PACKAGE_URL}|g" /etc/apt/sources.list ; \
11+
fi
12+
13+
14+
RUN apt-get update \
15+
&& apt-get install -y tzdata \
16+
&& ln -fs /usr/share/zoneinfo/${TZ} /etc/localtime \
17+
&& dpkg-reconfigure -f noninteractive tzdata
18+
19+
20+
# Clean up the package list to reduce image size
21+
RUN apt-get clean && rm -rf /var/lib/apt/lists/*
22+
23+
24+
ADD --chmod=0755 https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
25+
RUN install-php-extensions $PHP_EXTENSIONS
26+
27+
28+
# Install composer and change it's cache home
29+
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
30+
ENV COMPOSER_HOME=/tmp/composer
31+
32+
33+
WORKDIR /www

0 commit comments

Comments
 (0)