Skip to content

Commit 83d7cbe

Browse files
committed
build Swoole 6.1.0 images
1 parent 5d2e8ff commit 83d7cbe

File tree

14 files changed

+559
-0
lines changed

14 files changed

+559
-0
lines changed

README.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ Table of Contents
2121
* [Image Variants](#image-variants)
2222
* [Supported Tags and Respective Dockerfile Links](#supported-tags-and-respective-dockerfile-links)
2323
* [Versioned images](#versioned-images-based-on-stable-releases-of-swoole)
24+
* [Swoole 6.1](#swoole-61)
2425
* [Swoole 6.0](#swoole-60)
2526
* [Swoole 5.1](#swoole-51)
2627
* [Swoole 5.0](#swoole-50)
@@ -204,6 +205,15 @@ Note: We don't have development tools built in for Alpine images. There is no Do
204205

205206
## Versioned images (based on stable releases of Swoole)
206207

208+
### Swoole 6.1
209+
210+
| PHP Versions | Default Images | Dev Images | ZTS Images | Alpine Images |
211+
|-|-|-|-|-|
212+
| PHP 8.4 | [6.1.0-php8.4][6.1-php8.4]<br />[6.1-php8.4] | [6.1.0-php8.4-dev][6.1-php8.4]<br />[6.1-php8.4-dev][6.1-php8.4] | [6.1.0-php8.4-zts][6.1-php8.4-zts]<br />[6.1-php8.4-zts] | [6.1.0-php8.4-alpine][6.1-php8.4-alpine]<br />[6.1-php8.4-alpine] |
213+
| PHP 8.3 | [6.1.0-php8.3][6.1-php8.3]<br />[6.1-php8.3]<br />[6.1][6.1-php8.3] | [6.1.0-php8.3-dev][6.1-php8.3]<br />[6.1-php8.3-dev][6.1-php8.3]<br />[6.1-dev][6.1-php8.3] | [6.1.0-php8.3-zts][6.1-php8.3-zts]<br />[6.1-php8.3-zts]<br />[6.1-zts][6.1-php8.3-zts] | [6.1.0-php8.3-alpine][6.1-php8.3-alpine]<br />[6.1-php8.3-alpine]<br />[6.1-alpine][6.1-php8.3-alpine] |
214+
| PHP 8.2 | [6.1.0-php8.2][6.1-php8.2]<br />[6.1-php8.2] | [6.1.0-php8.2-dev][6.1-php8.2]<br />[6.1-php8.2-dev][6.1-php8.2] | [6.1.0-php8.2-zts][6.1-php8.2-zts]<br />[6.1-php8.2-zts] | [6.1.0-php8.2-alpine][6.1-php8.2-alpine]<br />[6.1-php8.2-alpine] |
215+
| PHP 8.1 | [6.1.0-php8.1][6.1-php8.1]<br />[6.1-php8.1] | [6.1.0-php8.1-dev][6.1-php8.1]<br />[6.1-php8.1-dev][6.1-php8.1] | [6.1.0-php8.1-zts][6.1-php8.1-zts]<br />[6.1-php8.1-zts] | [6.1.0-php8.1-alpine][6.1-php8.1-alpine]<br />[6.1-php8.1-alpine] |
216+
207217
### Swoole 6.0
208218

209219
| PHP Versions | Default Images | Dev Images | ZTS Images | Alpine Images |
@@ -284,6 +294,18 @@ docker build --build-arg DEV_MODE=true -t phpswoole/swoole:5.1.8-php8.2-dev -f d
284294
* Current implementation borrows ideas from [Demin](https://github.com/deminy)'s work at [Glu Mobile](https://ea.com).
285295
* Thanks to [Blackfire](https://blackfire.io) for providing free open-source subscription for their awesome profiling tool.
286296

297+
[6.1-php8.4]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/6.1.0/php8.4/cli/Dockerfile
298+
[6.1-php8.4-zts]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/6.1.0/php8.4/zts/Dockerfile
299+
[6.1-php8.4-alpine]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/6.1.0/php8.4/alpine/Dockerfile
300+
[6.1-php8.3]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/6.1.0/php8.3/cli/Dockerfile
301+
[6.1-php8.3-zts]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/6.1.0/php8.3/zts/Dockerfile
302+
[6.1-php8.3-alpine]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/6.1.0/php8.3/alpine/Dockerfile
303+
[6.1-php8.2]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/6.1.0/php8.2/cli/Dockerfile
304+
[6.1-php8.2-zts]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/6.1.0/php8.2/zts/Dockerfile
305+
[6.1-php8.2-alpine]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/6.1.0/php8.2/alpine/Dockerfile
306+
[6.1-php8.1]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/6.1.0/php8.1/cli/Dockerfile
307+
[6.1-php8.1-zts]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/6.1.0/php8.1/zts/Dockerfile
308+
[6.1-php8.1-alpine]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/6.1.0/php8.1/alpine/Dockerfile
287309
[6.0-php8.4]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/6.0.2/php8.4/cli/Dockerfile
288310
[6.0-php8.4-zts]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/6.0.2/php8.4/zts/Dockerfile
289311
[6.0-php8.4-alpine]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/6.0.2/php8.4/alpine/Dockerfile

config/6.1.0.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:6.1.0.
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.1.33"
7+
- "8.2.29"
8+
- "8.3.27"
9+
- "8.4.14"
10+
image:
11+
composer:
12+
version: "2.8.12"
13+
php_extensions:
14+
redis:
15+
version: "6.2.0"
16+
configureoptions: "enable-redis-igbinary=\"no\" enable-redis-lzf=\"no\" enable-redis-zstd=\"no\""
17+
enabled: true
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
FROM php:8.1.33-cli-alpine3.22
2+
3+
COPY --from=composer:2.8.12 /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 liburing-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.2.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/v6.1.0.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-brotli \
23+
--enable-iouring \
24+
--enable-mysqlnd \
25+
--enable-openssl \
26+
--enable-sockets \
27+
--enable-swoole-curl \
28+
--enable-swoole-pgsql \
29+
--enable-swoole-sqlite && \
30+
docker-php-ext-install -j$(nproc) swoole && \
31+
rm -f swoole.tar.gz && \
32+
docker-php-source delete && \
33+
apk del .build-deps
34+
35+
WORKDIR "/var/www/"
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
FROM php:8.1.33-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.12 /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+
liburing-dev \
22+
supervisor \
23+
unzip \
24+
zlib1g-dev \
25+
--no-install-recommends && \
26+
# PHP extension pdo_mysql is included since 4.8.12+ and 5.0.1+.
27+
docker-php-ext-install pdo_mysql && \
28+
pecl channel-update pecl.php.net && \
29+
pecl install --configureoptions 'enable-redis-igbinary="no" enable-redis-lzf="no" enable-redis-zstd="no"' redis-6.2.0 && \
30+
# PHP extension Redis is included since 4.8.12+ and 5.0.1+.
31+
docker-php-ext-enable redis && \
32+
install-swoole.sh 6.1.0 \
33+
--enable-brotli \
34+
--enable-iouring \
35+
--enable-mysqlnd \
36+
--enable-openssl \
37+
--enable-sockets \
38+
--enable-swoole-curl \
39+
--enable-swoole-pgsql \
40+
--enable-swoole-sqlite && \
41+
mkdir -p /var/log/supervisor && \
42+
rm -rf /var/lib/apt/lists/* /usr/bin/qemu-*-static
43+
44+
ENTRYPOINT ["/entrypoint.sh"]
45+
CMD []
46+
47+
WORKDIR "/var/www/"
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
FROM php:8.1.33-zts
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.12 /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+
liburing-dev \
22+
supervisor \
23+
unzip \
24+
zlib1g-dev \
25+
--no-install-recommends && \
26+
# PHP extension pdo_mysql is included since 4.8.12+ and 5.0.1+.
27+
docker-php-ext-install pdo_mysql && \
28+
pecl channel-update pecl.php.net && \
29+
pecl install --configureoptions 'enable-redis-igbinary="no" enable-redis-lzf="no" enable-redis-zstd="no"' redis-6.2.0 && \
30+
# PHP extension Redis is included since 4.8.12+ and 5.0.1+.
31+
docker-php-ext-enable redis && \
32+
install-swoole.sh 6.1.0 \
33+
--enable-swoole-thread \
34+
--enable-brotli \
35+
--enable-iouring \
36+
--enable-mysqlnd \
37+
--enable-openssl \
38+
--enable-sockets \
39+
--enable-swoole-curl \
40+
--enable-swoole-pgsql \
41+
--enable-swoole-sqlite && \
42+
mkdir -p /var/log/supervisor && \
43+
rm -rf /var/lib/apt/lists/* /usr/bin/qemu-*-static
44+
45+
ENTRYPOINT ["/entrypoint.sh"]
46+
CMD []
47+
48+
WORKDIR "/var/www/"
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
FROM php:8.2.29-cli-alpine3.22
2+
3+
COPY --from=composer:2.8.12 /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 liburing-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.2.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/v6.1.0.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-brotli \
23+
--enable-iouring \
24+
--enable-mysqlnd \
25+
--enable-openssl \
26+
--enable-sockets \
27+
--enable-swoole-curl \
28+
--enable-swoole-pgsql \
29+
--enable-swoole-sqlite && \
30+
docker-php-ext-install -j$(nproc) swoole && \
31+
rm -f swoole.tar.gz && \
32+
docker-php-source delete && \
33+
apk del .build-deps
34+
35+
WORKDIR "/var/www/"
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
FROM php:8.2.29-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.12 /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+
liburing-dev \
22+
supervisor \
23+
unzip \
24+
zlib1g-dev \
25+
--no-install-recommends && \
26+
# PHP extension pdo_mysql is included since 4.8.12+ and 5.0.1+.
27+
docker-php-ext-install pdo_mysql && \
28+
pecl channel-update pecl.php.net && \
29+
pecl install --configureoptions 'enable-redis-igbinary="no" enable-redis-lzf="no" enable-redis-zstd="no"' redis-6.2.0 && \
30+
# PHP extension Redis is included since 4.8.12+ and 5.0.1+.
31+
docker-php-ext-enable redis && \
32+
install-swoole.sh 6.1.0 \
33+
--enable-brotli \
34+
--enable-iouring \
35+
--enable-mysqlnd \
36+
--enable-openssl \
37+
--enable-sockets \
38+
--enable-swoole-curl \
39+
--enable-swoole-pgsql \
40+
--enable-swoole-sqlite && \
41+
mkdir -p /var/log/supervisor && \
42+
rm -rf /var/lib/apt/lists/* /usr/bin/qemu-*-static
43+
44+
ENTRYPOINT ["/entrypoint.sh"]
45+
CMD []
46+
47+
WORKDIR "/var/www/"
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
FROM php:8.2.29-zts
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.12 /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+
liburing-dev \
22+
supervisor \
23+
unzip \
24+
zlib1g-dev \
25+
--no-install-recommends && \
26+
# PHP extension pdo_mysql is included since 4.8.12+ and 5.0.1+.
27+
docker-php-ext-install pdo_mysql && \
28+
pecl channel-update pecl.php.net && \
29+
pecl install --configureoptions 'enable-redis-igbinary="no" enable-redis-lzf="no" enable-redis-zstd="no"' redis-6.2.0 && \
30+
# PHP extension Redis is included since 4.8.12+ and 5.0.1+.
31+
docker-php-ext-enable redis && \
32+
install-swoole.sh 6.1.0 \
33+
--enable-swoole-thread \
34+
--enable-brotli \
35+
--enable-iouring \
36+
--enable-mysqlnd \
37+
--enable-openssl \
38+
--enable-sockets \
39+
--enable-swoole-curl \
40+
--enable-swoole-pgsql \
41+
--enable-swoole-sqlite && \
42+
mkdir -p /var/log/supervisor && \
43+
rm -rf /var/lib/apt/lists/* /usr/bin/qemu-*-static
44+
45+
ENTRYPOINT ["/entrypoint.sh"]
46+
CMD []
47+
48+
WORKDIR "/var/www/"
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
FROM php:8.3.27-cli-alpine3.22
2+
3+
COPY --from=composer:2.8.12 /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 liburing-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.2.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/v6.1.0.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-brotli \
23+
--enable-iouring \
24+
--enable-mysqlnd \
25+
--enable-openssl \
26+
--enable-sockets \
27+
--enable-swoole-curl \
28+
--enable-swoole-pgsql \
29+
--enable-swoole-sqlite && \
30+
docker-php-ext-install -j$(nproc) swoole && \
31+
rm -f swoole.tar.gz && \
32+
docker-php-source delete && \
33+
apk del .build-deps
34+
35+
WORKDIR "/var/www/"

0 commit comments

Comments
 (0)