Skip to content

Commit 9eb8457

Browse files
committed
build Swoole 5.1.7 images
1 parent fd48261 commit 9eb8457

File tree

9 files changed

+325
-0
lines changed

9 files changed

+325
-0
lines changed

config/5.1.7.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# The YAML configuration file for generating Dockerfile of image phpswoole/swoole:5.1.7.
2+
# For technical details of the configuration file, please check comments and sample configurations in file /config.yml.
3+
#
4+
status: "under development"
5+
php:
6+
- "8.0.30"
7+
- "8.1.31"
8+
- "8.2.27"
9+
- "8.3.17"
10+
image:
11+
composer:
12+
version: "2.8.5"
13+
php_extensions:
14+
redis:
15+
version: "6.1.0"
16+
configureoptions: "enable-redis-igbinary=\"no\" enable-redis-lzf=\"no\" enable-redis-zstd=\"no\""
17+
enabled: true
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
FROM php:8.0.30-cli-alpine3.16
2+
3+
COPY --from=composer:2.8.5 /usr/bin/composer /usr/bin/
4+
5+
RUN \
6+
set -ex && \
7+
apk update && \
8+
apk add --no-cache libstdc++ libpq && \
9+
apk add --no-cache --virtual .build-deps $PHPIZE_DEPS curl-dev brotli-dev postgresql-dev openssl-dev pcre-dev pcre2-dev sqlite-dev zlib-dev && \
10+
# PHP extension pdo_mysql is included since 4.8.12+ and 5.0.1+.
11+
docker-php-ext-install pdo_mysql && \
12+
pecl channel-update pecl.php.net && \
13+
pecl install --configureoptions 'enable-redis-igbinary="no" enable-redis-lzf="no" enable-redis-zstd="no"' redis-6.1.0 && \
14+
# PHP extension Redis is included since 4.8.12+ and 5.0.1+.
15+
docker-php-ext-enable redis && \
16+
docker-php-ext-install sockets && \
17+
docker-php-source extract && \
18+
mkdir /usr/src/php/ext/swoole && \
19+
curl -sfL https://github.com/swoole/swoole-src/archive/v5.1.7.tar.gz -o swoole.tar.gz && \
20+
tar xfz swoole.tar.gz --strip-components=1 -C /usr/src/php/ext/swoole && \
21+
docker-php-ext-configure swoole \
22+
--enable-mysqlnd \
23+
--enable-swoole-pgsql \
24+
--enable-swoole-sqlite \
25+
--enable-brotli \
26+
--enable-openssl \
27+
--enable-sockets --enable-swoole-curl && \
28+
docker-php-ext-install -j$(nproc) swoole && \
29+
rm -f swoole.tar.gz && \
30+
docker-php-source delete && \
31+
apk del .build-deps
32+
33+
WORKDIR "/var/www/"
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
FROM php:8.0.30-cli
2+
3+
ENV DEBIAN_FRONTEND=noninteractive
4+
ENV TERM=xterm-color
5+
6+
ARG DEV_MODE
7+
ENV DEV_MODE=$DEV_MODE
8+
9+
COPY --from=composer:2.8.5 /usr/bin/composer /usr/bin/
10+
COPY ./rootfilesystem/ /
11+
12+
RUN \
13+
set -ex && \
14+
apt-get update && \
15+
apt-get install -y \
16+
libcurl4-openssl-dev \
17+
libbrotli-dev \
18+
libpq-dev \
19+
libsqlite3-dev \
20+
libssl-dev \
21+
supervisor \
22+
unzip \
23+
zlib1g-dev \
24+
--no-install-recommends && \
25+
# PHP extension pdo_mysql is included since 4.8.12+ and 5.0.1+.
26+
docker-php-ext-install pdo_mysql && \
27+
pecl channel-update pecl.php.net && \
28+
pecl install --configureoptions 'enable-redis-igbinary="no" enable-redis-lzf="no" enable-redis-zstd="no"' redis-6.1.0 && \
29+
# PHP extension Redis is included since 4.8.12+ and 5.0.1+.
30+
docker-php-ext-enable redis && \
31+
install-swoole.sh 5.1.7 \
32+
--enable-mysqlnd \
33+
--enable-swoole-pgsql \
34+
--enable-swoole-sqlite \
35+
--enable-brotli \
36+
--enable-openssl \
37+
--enable-sockets --enable-swoole-curl && \
38+
mkdir -p /var/log/supervisor && \
39+
rm -rf /var/lib/apt/lists/* /usr/bin/qemu-*-static
40+
41+
ENTRYPOINT ["/entrypoint.sh"]
42+
CMD []
43+
44+
WORKDIR "/var/www/"
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
FROM php:8.1.31-cli-alpine3.20
2+
3+
COPY --from=composer:2.8.5 /usr/bin/composer /usr/bin/
4+
5+
RUN \
6+
set -ex && \
7+
apk update && \
8+
apk add --no-cache libstdc++ libpq && \
9+
apk add --no-cache --virtual .build-deps $PHPIZE_DEPS curl-dev brotli-dev postgresql-dev openssl-dev pcre-dev pcre2-dev sqlite-dev zlib-dev && \
10+
# PHP extension pdo_mysql is included since 4.8.12+ and 5.0.1+.
11+
docker-php-ext-install pdo_mysql && \
12+
pecl channel-update pecl.php.net && \
13+
pecl install --configureoptions 'enable-redis-igbinary="no" enable-redis-lzf="no" enable-redis-zstd="no"' redis-6.1.0 && \
14+
# PHP extension Redis is included since 4.8.12+ and 5.0.1+.
15+
docker-php-ext-enable redis && \
16+
docker-php-ext-install sockets && \
17+
docker-php-source extract && \
18+
mkdir /usr/src/php/ext/swoole && \
19+
curl -sfL https://github.com/swoole/swoole-src/archive/v5.1.7.tar.gz -o swoole.tar.gz && \
20+
tar xfz swoole.tar.gz --strip-components=1 -C /usr/src/php/ext/swoole && \
21+
docker-php-ext-configure swoole \
22+
--enable-mysqlnd \
23+
--enable-swoole-pgsql \
24+
--enable-swoole-sqlite \
25+
--enable-brotli \
26+
--enable-openssl \
27+
--enable-sockets --enable-swoole-curl && \
28+
docker-php-ext-install -j$(nproc) swoole && \
29+
rm -f swoole.tar.gz && \
30+
docker-php-source delete && \
31+
apk del .build-deps
32+
33+
WORKDIR "/var/www/"
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
FROM php:8.1.31-cli
2+
3+
ENV DEBIAN_FRONTEND=noninteractive
4+
ENV TERM=xterm-color
5+
6+
ARG DEV_MODE
7+
ENV DEV_MODE=$DEV_MODE
8+
9+
COPY --from=composer:2.8.5 /usr/bin/composer /usr/bin/
10+
COPY ./rootfilesystem/ /
11+
12+
RUN \
13+
set -ex && \
14+
apt-get update && \
15+
apt-get install -y \
16+
libcurl4-openssl-dev \
17+
libbrotli-dev \
18+
libpq-dev \
19+
libsqlite3-dev \
20+
libssl-dev \
21+
supervisor \
22+
unzip \
23+
zlib1g-dev \
24+
--no-install-recommends && \
25+
# PHP extension pdo_mysql is included since 4.8.12+ and 5.0.1+.
26+
docker-php-ext-install pdo_mysql && \
27+
pecl channel-update pecl.php.net && \
28+
pecl install --configureoptions 'enable-redis-igbinary="no" enable-redis-lzf="no" enable-redis-zstd="no"' redis-6.1.0 && \
29+
# PHP extension Redis is included since 4.8.12+ and 5.0.1+.
30+
docker-php-ext-enable redis && \
31+
install-swoole.sh 5.1.7 \
32+
--enable-mysqlnd \
33+
--enable-swoole-pgsql \
34+
--enable-swoole-sqlite \
35+
--enable-brotli \
36+
--enable-openssl \
37+
--enable-sockets --enable-swoole-curl && \
38+
mkdir -p /var/log/supervisor && \
39+
rm -rf /var/lib/apt/lists/* /usr/bin/qemu-*-static
40+
41+
ENTRYPOINT ["/entrypoint.sh"]
42+
CMD []
43+
44+
WORKDIR "/var/www/"
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
FROM php:8.2.27-cli-alpine3.20
2+
3+
COPY --from=composer:2.8.5 /usr/bin/composer /usr/bin/
4+
5+
RUN \
6+
set -ex && \
7+
apk update && \
8+
apk add --no-cache libstdc++ libpq && \
9+
apk add --no-cache --virtual .build-deps $PHPIZE_DEPS curl-dev linux-headers brotli-dev postgresql-dev openssl-dev pcre-dev pcre2-dev sqlite-dev zlib-dev && \
10+
# PHP extension pdo_mysql is included since 4.8.12+ and 5.0.1+.
11+
docker-php-ext-install pdo_mysql && \
12+
pecl channel-update pecl.php.net && \
13+
pecl install --configureoptions 'enable-redis-igbinary="no" enable-redis-lzf="no" enable-redis-zstd="no"' redis-6.1.0 && \
14+
# PHP extension Redis is included since 4.8.12+ and 5.0.1+.
15+
docker-php-ext-enable redis && \
16+
docker-php-ext-install sockets && \
17+
docker-php-source extract && \
18+
mkdir /usr/src/php/ext/swoole && \
19+
curl -sfL https://github.com/swoole/swoole-src/archive/v5.1.7.tar.gz -o swoole.tar.gz && \
20+
tar xfz swoole.tar.gz --strip-components=1 -C /usr/src/php/ext/swoole && \
21+
docker-php-ext-configure swoole \
22+
--enable-mysqlnd \
23+
--enable-swoole-pgsql \
24+
--enable-swoole-sqlite \
25+
--enable-brotli \
26+
--enable-openssl \
27+
--enable-sockets --enable-swoole-curl && \
28+
docker-php-ext-install -j$(nproc) swoole && \
29+
rm -f swoole.tar.gz && \
30+
docker-php-source delete && \
31+
apk del .build-deps
32+
33+
WORKDIR "/var/www/"
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
FROM php:8.2.27-cli
2+
3+
ENV DEBIAN_FRONTEND=noninteractive
4+
ENV TERM=xterm-color
5+
6+
ARG DEV_MODE
7+
ENV DEV_MODE=$DEV_MODE
8+
9+
COPY --from=composer:2.8.5 /usr/bin/composer /usr/bin/
10+
COPY ./rootfilesystem/ /
11+
12+
RUN \
13+
set -ex && \
14+
apt-get update && \
15+
apt-get install -y \
16+
libcurl4-openssl-dev \
17+
libbrotli-dev \
18+
libpq-dev \
19+
libsqlite3-dev \
20+
libssl-dev \
21+
supervisor \
22+
unzip \
23+
zlib1g-dev \
24+
--no-install-recommends && \
25+
# PHP extension pdo_mysql is included since 4.8.12+ and 5.0.1+.
26+
docker-php-ext-install pdo_mysql && \
27+
pecl channel-update pecl.php.net && \
28+
pecl install --configureoptions 'enable-redis-igbinary="no" enable-redis-lzf="no" enable-redis-zstd="no"' redis-6.1.0 && \
29+
# PHP extension Redis is included since 4.8.12+ and 5.0.1+.
30+
docker-php-ext-enable redis && \
31+
install-swoole.sh 5.1.7 \
32+
--enable-mysqlnd \
33+
--enable-swoole-pgsql \
34+
--enable-swoole-sqlite \
35+
--enable-brotli \
36+
--enable-openssl \
37+
--enable-sockets --enable-swoole-curl && \
38+
mkdir -p /var/log/supervisor && \
39+
rm -rf /var/lib/apt/lists/* /usr/bin/qemu-*-static
40+
41+
ENTRYPOINT ["/entrypoint.sh"]
42+
CMD []
43+
44+
WORKDIR "/var/www/"
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
FROM php:8.3.17-cli-alpine3.20
2+
3+
COPY --from=composer:2.8.5 /usr/bin/composer /usr/bin/
4+
5+
RUN \
6+
set -ex && \
7+
apk update && \
8+
apk add --no-cache libstdc++ libpq && \
9+
apk add --no-cache --virtual .build-deps $PHPIZE_DEPS curl-dev linux-headers brotli-dev postgresql-dev openssl-dev pcre-dev pcre2-dev sqlite-dev zlib-dev && \
10+
# PHP extension pdo_mysql is included since 4.8.12+ and 5.0.1+.
11+
docker-php-ext-install pdo_mysql && \
12+
pecl channel-update pecl.php.net && \
13+
pecl install --configureoptions 'enable-redis-igbinary="no" enable-redis-lzf="no" enable-redis-zstd="no"' redis-6.1.0 && \
14+
# PHP extension Redis is included since 4.8.12+ and 5.0.1+.
15+
docker-php-ext-enable redis && \
16+
docker-php-ext-install sockets && \
17+
docker-php-source extract && \
18+
mkdir /usr/src/php/ext/swoole && \
19+
curl -sfL https://github.com/swoole/swoole-src/archive/v5.1.7.tar.gz -o swoole.tar.gz && \
20+
tar xfz swoole.tar.gz --strip-components=1 -C /usr/src/php/ext/swoole && \
21+
docker-php-ext-configure swoole \
22+
--enable-mysqlnd \
23+
--enable-swoole-pgsql \
24+
--enable-swoole-sqlite \
25+
--enable-brotli \
26+
--enable-openssl \
27+
--enable-sockets --enable-swoole-curl && \
28+
docker-php-ext-install -j$(nproc) swoole && \
29+
rm -f swoole.tar.gz && \
30+
docker-php-source delete && \
31+
apk del .build-deps
32+
33+
WORKDIR "/var/www/"
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
FROM php:8.3.17-cli
2+
3+
ENV DEBIAN_FRONTEND=noninteractive
4+
ENV TERM=xterm-color
5+
6+
ARG DEV_MODE
7+
ENV DEV_MODE=$DEV_MODE
8+
9+
COPY --from=composer:2.8.5 /usr/bin/composer /usr/bin/
10+
COPY ./rootfilesystem/ /
11+
12+
RUN \
13+
set -ex && \
14+
apt-get update && \
15+
apt-get install -y \
16+
libcurl4-openssl-dev \
17+
libbrotli-dev \
18+
libpq-dev \
19+
libsqlite3-dev \
20+
libssl-dev \
21+
supervisor \
22+
unzip \
23+
zlib1g-dev \
24+
--no-install-recommends && \
25+
# PHP extension pdo_mysql is included since 4.8.12+ and 5.0.1+.
26+
docker-php-ext-install pdo_mysql && \
27+
pecl channel-update pecl.php.net && \
28+
pecl install --configureoptions 'enable-redis-igbinary="no" enable-redis-lzf="no" enable-redis-zstd="no"' redis-6.1.0 && \
29+
# PHP extension Redis is included since 4.8.12+ and 5.0.1+.
30+
docker-php-ext-enable redis && \
31+
install-swoole.sh 5.1.7 \
32+
--enable-mysqlnd \
33+
--enable-swoole-pgsql \
34+
--enable-swoole-sqlite \
35+
--enable-brotli \
36+
--enable-openssl \
37+
--enable-sockets --enable-swoole-curl && \
38+
mkdir -p /var/log/supervisor && \
39+
rm -rf /var/lib/apt/lists/* /usr/bin/qemu-*-static
40+
41+
ENTRYPOINT ["/entrypoint.sh"]
42+
CMD []
43+
44+
WORKDIR "/var/www/"

0 commit comments

Comments
 (0)