Skip to content

Commit e66bbba

Browse files
committed
upd dockerfile
1 parent e889eab commit e66bbba

File tree

5 files changed

+135
-1
lines changed

5 files changed

+135
-1
lines changed

README.md

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,26 @@
1-
# ngx_http_php_module
1+
# ngx_http_php_module
2+
3+
ngx_php7 - Embedded php7 scripting language for nginx module. Mainline development version of the ngx_php.
4+
5+
- Official: https://github.com/rryqszq4/ngx_php7
6+
- Build: https://github.com/nginx-with-docker/ngx_http_php_module-src
7+
## Nginx Images
8+
9+
<table>
10+
<thead>
11+
<tr>
12+
<th>Nginx Version</th>
13+
<th>Module Version</th>
14+
<th>Docker Images</th>
15+
</tr>
16+
</thead>
17+
<tbody>
18+
<tr>
19+
<td>1.21.1</td>
20+
<td>8cbb7fb / master</td>
21+
<td><ul>
22+
<li>docker pull soulteary/prebuilt-nginx-modules:ngx-1.21.1-php-master-alpine</li>
23+
</ul></td>
24+
</tr>
25+
</tbody>
26+
</table>

docker/master/.env

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
NGINX_VERSION=1.21.1
2+
MODULE_CHECKSUM=91089bcd39769e1363940a5d797a821af115364d
3+
MODULE_VERSION=master
4+
MODULE_NAME=ngx_http_php_module-src
5+
MODULE_SOURCE=https://github.com/nginx-with-docker/ngx_http_php_module-src
6+
DEVEL_KIT_MODULE_CHECKSUM=e15316e13a7b19a3d2502becbb26043a464a135a
7+
DEVEL_KIT_VERSION=0.3.1
8+
DEVEL_KIT_NAME=ngx_devel_kit

docker/master/Dockerfile.alpine

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
ARG NGINX_VERSION=1.21.1
2+
FROM soulteary/prebuilt-nginx-modules:base-${NGINX_VERSION}-alpine AS Builder
3+
4+
ARG MODULE_CHECKSUM=91089bcd39769e1363940a5d797a821af115364d
5+
ARG MODULE_VERSION=master
6+
ARG MODULE_NAME=ngx_http_php_module-src
7+
ARG MODULE_SOURCE=https://github.com/nginx-with-docker/ngx_http_php_module-src
8+
9+
ARG DEVEL_KIT_MODULE_CHECKSUM=e15316e13a7b19a3d2502becbb26043a464a135a
10+
ARG DEVEL_KIT_VERSION=0.3.1
11+
ARG DEVEL_KIT_NAME=ngx_devel_kit
12+
13+
# RUN cat /etc/apk/repositories | sed -e "s/dl-cdn.alpinelinux.org/mirrors.aliyun.com/" | tee /etc/apk/repositories
14+
RUN apk --no-cache add curl gcc g++ make musl-dev linux-headers gd-dev geoip-dev libxml2-dev libxslt-dev openssl-dev paxmark pcre-dev perl-dev pkgconf zlib-dev libedit-dev ncurses-dev php7-dev php7-embed
15+
ENV PHP_LIB=/usr/lib
16+
17+
RUN apk add git unzip
18+
RUN apk add argon2-dev
19+
RUN cd /usr/src && \
20+
curl -L "${MODULE_SOURCE}/archive/refs/heads/${MODULE_VERSION}.zip" -o "v${MODULE_VERSION}.zip" && \
21+
echo "${MODULE_CHECKSUM} v${MODULE_VERSION}.zip" | shasum -c && \
22+
unzip "v${MODULE_VERSION}.zip" && \
23+
mv "$MODULE_NAME-$MODULE_VERSION" "$MODULE_NAME" && \
24+
curl -L "https://github.com/vision5/ngx_devel_kit/archive/v${DEVEL_KIT_VERSION}.tar.gz" -o "v${DEVEL_KIT_VERSION}.tar.gz" && \
25+
echo "${DEVEL_KIT_MODULE_CHECKSUM} v${DEVEL_KIT_VERSION}.tar.gz" | shasum -c && \
26+
tar -zxC /usr/src -f v${DEVEL_KIT_VERSION}.tar.gz && \
27+
mv ${DEVEL_KIT_NAME}-${DEVEL_KIT_VERSION}/ ${DEVEL_KIT_NAME} && \
28+
cd /usr/src/nginx && \
29+
CONFARGS=$(nginx -V 2>&1 | sed -n -e 's/^.*arguments: //p') \
30+
CONFARGS=${CONFARGS/-Os -fomit-frame-pointer -g/-Os} && \
31+
echo $CONFARGS && \
32+
./configure --with-compat $CONFARGS --with-ld-opt="-Wl,-rpath,${PHP_LIB}" --add-dynamic-module=../${DEVEL_KIT_NAME} --add-dynamic-module=../${MODULE_NAME} && \
33+
make modules
34+
35+
36+
FROM scratch
37+
38+
COPY --from=Builder /usr/src/nginx/objs/ndk_http_module.so /
39+
COPY --from=Builder /usr/src/nginx/objs/ngx_http_php_module.so /

make-image.sh

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#!/bin/bash
2+
3+
PROJECT_NAME="php"
4+
RELEASE_DIR="./docker";
5+
REPO_NAME="soulteary/prebuilt-nginx-modules"
6+
7+
for subVer in $RELEASE_DIR/*; do
8+
9+
set -a
10+
. "$subVer/.env"
11+
set +a
12+
13+
REPO_TAG="ngx-$NGINX_VERSION-$PROJECT_NAME-$MODULE_VERSION";
14+
BUILD_ARGS=$(tr '\n' ';' < "$subVer/.env" | sed 's/;$/\n/' | sed 's/^/ --build-arg /' | sed 's/;/ --build-arg /g')
15+
16+
if [ -f "$subVer/Dockerfile.alpine" ]; then
17+
BUILD_NAME="$REPO_NAME:$REPO_TAG-alpine"
18+
if [[ "$(docker images -q $BUILD_NAME 2> /dev/null)" == "" ]]; then
19+
echo "Build: $BUILD_NAME";
20+
docker build $BUILD_ARGS --tag $BUILD_NAME -f $subVer/Dockerfile.alpine .
21+
fi
22+
fi
23+
24+
if [ -f "$subVer/Dockerfile.debian" ]; then
25+
BUILD_NAME="$REPO_NAME:$REPO_TAG"
26+
if [[ "$(docker images -q $BUILD_NAME 2> /dev/null)" == "" ]]; then
27+
echo "Build: $BUILD_NAME";
28+
docker build $BUILD_ARGS --tag $BUILD_NAME -f $subVer/Dockerfile.debian .
29+
fi
30+
fi
31+
32+
done

push-images.sh

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
#!/bin/bash
2+
3+
PROJECT_NAME="php"
4+
REPO_NAME="soulteary/prebuilt-nginx-modules"
5+
RELEASE_DIR="./docker";
6+
7+
for subVer in $RELEASE_DIR/*; do
8+
set -a
9+
. "$subVer/.env"
10+
set +a
11+
12+
REPO_TAG="ngx-$NGINX_VERSION-$PROJECT_NAME-$MODULE_VERSION";
13+
14+
if [ -f "$subVer/Dockerfile.alpine" ]; then
15+
BUILD_NAME="$REPO_NAME:$REPO_TAG-alpine"
16+
if [[ "$(docker images -q $BUILD_NAME 2> /dev/null)" != "" ]]; then
17+
echo "Push: $BUILD_NAME";
18+
docker push $BUILD_NAME;
19+
fi
20+
fi
21+
22+
if [ -f "$subVer/Dockerfile.debian" ]; then
23+
BUILD_NAME="$REPO_NAME:$REPO_TAG"
24+
if [[ "$(docker images -q $BUILD_NAME 2> /dev/null)" != "" ]]; then
25+
echo "Push: $BUILD_NAME";
26+
docker push $BUILD_NAME;
27+
fi
28+
fi
29+
30+
done

0 commit comments

Comments
 (0)