{"id":13400316,"url":"https://github.com/swoole/docker-swoole","last_synced_at":"2025-03-14T06:31:39.722Z","repository":{"id":20763815,"uuid":"24048476","full_name":"swoole/docker-swoole","owner":"swoole","description":"🏄 Official Docker Image of Swoole","archived":false,"fork":false,"pushed_at":"2024-08-25T06:08:43.000Z","size":1502,"stargazers_count":519,"open_issues_count":0,"forks_count":112,"subscribers_count":25,"default_branch":"master","last_synced_at":"2024-08-25T07:24:56.607Z","etag":null,"topics":["docker","swoole"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/phpswoole/swoole","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/swoole.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-09-15T08:19:35.000Z","updated_at":"2024-08-25T07:25:00.757Z","dependencies_parsed_at":"2022-07-10T15:00:27.386Z","dependency_job_id":"aae450c8-dca8-4f95-81b0-0413146a65d8","html_url":"https://github.com/swoole/docker-swoole","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swoole%2Fdocker-swoole","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swoole%2Fdocker-swoole/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swoole%2Fdocker-swoole/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/swoole%2Fdocker-swoole/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/swoole","download_url":"https://codeload.github.com/swoole/docker-swoole/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221440179,"owners_count":16821599,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","swoole"],"created_at":"2024-07-30T19:00:50.565Z","updated_at":"2025-03-14T06:31:39.710Z","avatar_url":"https://github.com/swoole.png","language":"Dockerfile","funding_links":[],"categories":["Dockerfile","Development Environment"],"sub_categories":[],"readme":"# Docker Image for Swoole\n\n[![Twitter](https://badgen.net/badge/icon/twitter?icon=twitter\u0026label)](https://twitter.com/phpswoole)\n[![Discord](https://badgen.net/badge/icon/discord?icon=discord\u0026label)](https://discord.swoole.dev)\n[![Docker Pulls](https://img.shields.io/docker/pulls/phpswoole/swoole.svg)](https://hub.docker.com/r/phpswoole/swoole)\n[![License](https://img.shields.io/badge/license-apache2-blue.svg)](https://github.com/swoole/docker-swoole/blob/master/LICENSE)\n\nThis image is built for general-purpose. We have different examples included in this Git repository to help developers\nto get familiar with the image and _Swoole_.\n\nYou can get the image from [here](https://hub.docker.com/r/phpswoole/swoole).\n\nTable of Contents\n=================\n\n* [Feature List](#feature-list)\n* [How to Use This Image](#how-to-use-this-image)\n   * [How to Install More PHP Extensions](#how-to-install-more-php-extensions)\n   * [Disable Installed/Enabled PHP Extensions](#disable-installedenabled-php-extensions)\n   * [More Examples](#more-examples)\n* [Image Variants](#image-variants)\n* [Supported Tags and Respective Dockerfile Links](#supported-tags-and-respective-dockerfile-links)\n   * [Versioned images](#versioned-images-based-on-stable-releases-of-swoole)\n      * [Swoole 6.0](#swoole-60)\n      * [Swoole 5.1](#swoole-51)\n      * [Swoole 5.0](#swoole-50)\n      * [Swoole 4.8](#swoole-48)\n   * [Nightly images](#nightly-images-built-daily-using-the-master-branch-of-swoole-src)\n* [Build Images Manually](#build-images-manually)\n* [Credits](#credits)\n\n# Feature List\n\n* Built-in scripts to manage _Swoole_ extensions and _Supervisord_ programs.\n* Easy to manage booting scripts in Docker.\n* Allow running PHP scripts and other commands directly in different environments (including ECS).\n* Use one root filesystem for simplicity (one Docker `COPY` command only in dockerfiles).\n* _Composer_ included (_Composer v1_ for Swoole 4.5.8 and before; _Composer v2_ for Swoole 4.5.9 and after).\n* Built for different architectures.\n* Support auto-reloading for local development.\u003csup\u003e1\u003c/sup\u003e\n* Support code debugging for local development.\n* **PHP extension _pdo_mysql_ included since 4.8.12+ and 5.0.1+.**\u003csup\u003e2\u003c/sup\u003e\n* **PHP extension _Redis_ included since 4.8.12+ and 5.0.1+.**\u003csup\u003e2\u003c/sup\u003e It's installed with default options.\n\n**NOTES**\n\n1. The auto-reloading feature is supported for non-Alpine images only.\n2. To disable extension _pdo_mysql_ and/or _Redis_, please check section [Disable Installed/Enabled PHP Extensions](#disable-installedenabled-php-extensions).\n\n# How to Use This Image\n\nThe `phpswoole/swoole` image is built using [the official PHP image](https://hub.docker.com/_/php) as base image, with a few changes.\nFor basic usage, please check the description section of [the official PHP image](https://hub.docker.com/_/php).\n\n## How to Install More PHP Extensions\n\nSame as in the official PHP image, most PHP extensions can be installed/configured using built-in helper scripts `docker-php-ext-configure`, `docker-php-ext-install`, `docker-php-ext-enable`, and `docker-php-source`. Here are some examples.\n\n```Dockerfile\n# To install the MySQL extensions.\n# NOTE: The pdo_mysql extension is included in 4.8.12+ and 5.0.1+ images.\nFROM phpswoole/swoole:4.7-php7.4-alpine\n\nRUN docker-php-ext-install mysqli pdo_mysql\n```\n\n```Dockerfile\n# To install the Redis extension.\n# NOTE: The Redis extension is included in 4.8.12+ and 5.0.1+ images.\nFROM phpswoole/swoole:4.7-php7.4-alpine\n\nRUN set -ex \\\n    \u0026\u0026 pecl channel-update pecl.php.net \\\n    \u0026\u0026 yes no | pecl install redis-stable \\\n    \u0026\u0026 docker-php-ext-enable redis\n```\n\n```Dockerfile\n# To install the Couchbase extension.\nFROM phpswoole/swoole:4.8-php7.4-alpine\n\nRUN set -ex \\\n    \u0026\u0026 apk update \\\n    \u0026\u0026 apk add --no-cache libcouchbase=2.10.6-r0 \\\n    \u0026\u0026 apk add --no-cache --virtual .build-deps $PHPIZE_DEPS libcouchbase-dev=2.10.6-r0 zlib-dev \\\n    \u0026\u0026 pecl update-channels \\\n    \u0026\u0026 pecl install couchbase-2.6.2 \\\n    \u0026\u0026 docker-php-ext-enable couchbase \\\n    \u0026\u0026 apk del .build-deps \\\n    \u0026\u0026 rm -rf /var/cache/apk/* /tmp/* /usr/share/man /usr/src/php.tar.xz*\n```\n\n## Disable Installed/Enabled PHP Extensions\n\nSince 4.8.12+ and 5.0.1+, PHP extensions _pdo_mysql_ and _Redis_ are installed and enabled by default. If you want to\ndisable them, you can use the following commands in your Dockerfile.\n\n```Dockerfile\nFROM phpswoole/swoole:4.8-alpine\n\nRUN set -ex \u0026\u0026 \\\n    rm -f \"$(php-config --ini-dir)/docker-php-ext-pdo_mysql.ini\" \u0026\u0026 \\\n    rm -f \"$(php-config --ini-dir)/docker-php-ext-redis.ini\"\n```\n\nNote that above commands will remove the corresponding configuration files for the extensions, but won't remove the extensions themselves.\n\n## More Examples\n\n**Following examples are for non-Alpine images only**. We don't have examples included for the Alpine images.\n\nYou can use the image to serve an HTTP/WebSocket server, or run some one-off command with it. e.g.,\n\n```bash\ndocker run --rm phpswoole/swoole php -m\ndocker run --rm phpswoole/swoole php --ri swoole\ndocker run --rm phpswoole/swoole composer --version\n```\n\nWe have various examples included under folder \"_examples/_\" to help developers better use the image. These examples are\nnumerically ordered. Each example has a _docker-compose.yml_ file included, along with some other files. To run an\nexample, please start Docker containers using the _docker-compose.yml_ file included, then check HTTP output from URL\nhttp://127.0.0.1 unless otherwise noted. You may use the following commands to start/stop/restart Docker containers:\n\n```bash\n./bin/example.sh start   00 # To start container(s) of the first example.\n./bin/example.sh stop    00 # To stop container(s) of the first example.\n./bin/example.sh restart 00 # To restart container(s) of the first example.\n```\n\nTo run another example, just replace the last command line parameter _00_ with an example number (e.g., _05_).\n\nHere is a list of the examples under folder \"_examples/_\":\n\n* Basic examples:\n    * **00-autoreload**: Restart the Swoole web server automatically if file changes detected under web root.\n    * **01-basic**: print out \"Hello, World!\" using Swoole as backend HTTP server.\n    * **02-www**: to use some customized PHP script(s) in the Docker image built.\n    * **03-nginx**: to use Swoole behind an Nginx server.\n    * **04-entrypoint**: to use a self-defined entrypoint script in the Docker image built.\n    * **05-boot**: to update content in the Docker container through a booting script.\n    * **06-update-token**: to show how to update server configurations with built-in script _update-token.sh_.\n    * **07-disable-default-server**: Please check the [docker-compose.yml](https://github.com/swoole/docker-swoole/blob/master/examples/07-disable-default-server/docker-compose.yml) file included to see show how to disable the default web server created with _Swoole_.\n* Manage PHP extensions and configurations:\n    * **10-install-php-extension**: how to install/enable PHP extensions.\n    * **11-customize-extension-options**: how to overwrite/customize PHP extension options.\n    * **12-php.ini**: how to overwrite/customize PHP options.\n    * **13-install-swoole-extension**: Please check the [README](https://github.com/swoole/docker-swoole/tree/master/examples/13-install-swoole-extension) file included to see how to install Swoole extensions like [async](https://github.com/swoole/ext-async), [orm](https://github.com/swoole/ext-orm), [postgresql](https://github.com/swoole/ext-postgresql), and [serialize](https://github.com/swoole/ext-serialize).\n    * **14-install-phpx**: Please check the [README](https://github.com/swoole/docker-swoole/tree/master/examples/14-install-phpx) file included to see how to install [PHP-X](https://github.com/swoole/phpx).\n    * **15-install-phpx-extension**: Please check the [README](https://github.com/swoole/docker-swoole/tree/master/examples/15-install-phpx-extension) file included to see how to install [PHP-X](https://github.com/swoole/phpx) based extensions like [zookeeper](https://github.com/swoole/ext-zookeeper).\n* Manage Supervisord programs:\n    * **20-supervisord-services**: to show how to run Supervisord program(s) in Docker.\n    * **21-supervisord-tasks**: to show how to run Supervisord program(s) when launching a one-off command with Docker. Please check the [README](https://github.com/swoole/docker-swoole/tree/master/examples/21-supervisord-tasks) file included to see how to run the example.\n    * **22-supervisord-enable-program**: to show how to enable program(s) in Supervisord program.\n    * **23-supervisord-disable-program**: to show how to disable Supervisord program(s).\n    * **[24-supervisord-gracefully-shutdown](examples/24-supervisord-gracefully-shutdown)**: how to gracefully stop Swoole servers (managed by `supervisord`) in Docker containers.\n* Debugging:\n    * **30-debug-with-gdb**: Please check the [README](https://github.com/swoole/docker-swoole/tree/master/examples/30-debug-with-gdb) file included to see how to debug your PHP code with _gdb_.\n    * **31-debug-with-valgrind**: Please check the [README](https://github.com/swoole/docker-swoole/tree/master/examples/31-debug-with-valgrind) file included to see how to debug your PHP code with _Valgrind_.\n    * **32-debug-with-strace**: Please check the [README](https://github.com/swoole/docker-swoole/tree/master/examples/32-debug-with-strace) file included to see how to debug your PHP code with _strace_.\n    * **33-debug-with-blackfire**: Please check the [README](https://github.com/swoole/docker-swoole/tree/master/examples/33-debug-with-blackfire) file included to see how to debug your PHP code with [Blackfire](https://blackfire.io).\n    * **34-debug-with-xdebug**: Please check the [README](https://github.com/swoole/docker-swoole/tree/master/examples/34-debug-with-xdebug) file included to see how to debug your PHP code using [Xdebug](https://xdebug.org). Please note that Xdebug 3.1.0+ works with Swoole 5.0.2+ on PHP 8.1+ only. Lower versions of Xdebug don't work with Swoole.\n\n# Image Variants\n\nThe `phpswoole/swoole` images come in three flavors, each designed for a specific use case.\n\n## 1. `latest`, `\u003cswoole-version\u003e`, and `\u003cswoole-version\u003e-php\u003cphp-version\u003e`\n\n* `phpswoole/swoole:latest`\n* `phpswoole/swoole:5.1`\n* `phpswoole/swoole:5.1-php8.2`\n* `phpswoole/swoole:5.1.7-php8.2`\n\nThis variant is based on the _php:cli_ images, with a few changes. It uses _Supervisord_ to manage booting processes, and has _Composer_ preinstalled.\n\nSince Swoole 6.0.0, there is a Zend Thread Safety (ZTS) version of the image available, which is suffixed with `-zts`. e.g., `phpswoole/swoole:6.0-php8.3-zts`.\n\n## 2. `latest-dev`, `\u003cswoole-version\u003e-dev`, and `\u003cswoole-version\u003e-php\u003cphp-version\u003e-dev`\n\n* `phpswoole/swoole:latest-dev`\n* `phpswoole/swoole:5.1-dev`\n* `phpswoole/swoole:5.1-php8.2-dev`\n* `phpswoole/swoole:5.1.7-php8.2-dev`\n\nThis variant is very similar to the previous one, but it has extra tools added for testing, debugging, and monitoring purpose,\nincluding [gdb](https://www.gnu.org/s/gdb), git, lsof, [strace](https://strace.io), [tcpdump](https://www.tcpdump.org), [Valgrind](http://www.valgrind.org), and vim.\n\nSince Swoole 6.0.0, there is a Zend Thread Safety (ZTS) version of the image available, which is suffixed with `-zts-dev`. e.g., `phpswoole/swoole:6.0-php8.3-zts-dev`.\n\n## 3. `latest-alpine`, `\u003cswoole-version\u003e-alpine`, and `\u003cswoole-version\u003e-php\u003cphp-version\u003e-alpine`\n\n* `phpswoole/swoole:latest-alpine`\n* `phpswoole/swoole:5.1-alpine`\n* `phpswoole/swoole:5.1-php8.2-alpine`\n* `phpswoole/swoole:5.1.7-php8.2-alpine`\n\nYou can use this variant in the same way as using the _php:alpine_ image, except that we changed the default working directory to _/var/www_.\nAlso, we have _Composer_ preinstalled in the image.\n\nNote: We don't have development tools built in for Alpine images. There is no Docker images like `phpswoole/swoole:5.1.7-php8.2-alpine-dev`.\n\n# Supported Tags and Respective `Dockerfile` Links\n\n## Versioned images (based on stable releases of Swoole)\n\n### Swoole 6.0\n\n| PHP Versions | Default Images | Dev Images | ZTS Images | Alpine Images |\n|-|-|-|-|-|\n| PHP 8.4 | [6.0.1-php8.4][6.0-php8.4]\u003cbr /\u003e[6.0-php8.4] | [6.0.1-php8.4-dev][6.0-php8.4]\u003cbr /\u003e[6.0-php8.4-dev][6.0-php8.4] | [6.0.1-php8.4-zts][6.0-php8.4-zts]\u003cbr /\u003e[6.0-php8.4-zts] | [6.0.1-php8.4-alpine][6.0-php8.4-alpine]\u003cbr /\u003e[6.0-php8.4-alpine] |\n| PHP 8.3 | [6.0.1-php8.3][6.0-php8.3]\u003cbr /\u003e[6.0-php8.3]\u003cbr /\u003e[6.0][6.0-php8.3] | [6.0.1-php8.3-dev][6.0-php8.3]\u003cbr /\u003e[6.0-php8.3-dev][6.0-php8.3]\u003cbr /\u003e[6.0-dev][6.0-php8.3] | [6.0.1-php8.3-zts][6.0-php8.3-zts]\u003cbr /\u003e[6.0-php8.3-zts]\u003cbr /\u003e[6.0-zts][6.0-php8.3-zts] | [6.0.1-php8.3-alpine][6.0-php8.3-alpine]\u003cbr /\u003e[6.0-php8.3-alpine]\u003cbr /\u003e[6.0-alpine][6.0-php8.3-alpine] |\n| PHP 8.2 | [6.0.1-php8.2][6.0-php8.2]\u003cbr /\u003e[6.0-php8.2] | [6.0.1-php8.2-dev][6.0-php8.2]\u003cbr /\u003e[6.0-php8.2-dev][6.0-php8.2] | [6.0.1-php8.2-zts][6.0-php8.2-zts]\u003cbr /\u003e[6.0-php8.2-zts] | [6.0.1-php8.2-alpine][6.0-php8.2-alpine]\u003cbr /\u003e[6.0-php8.2-alpine] |\n| PHP 8.1 | [6.0.1-php8.1][6.0-php8.1]\u003cbr /\u003e[6.0-php8.1] | [6.0.1-php8.1-dev][6.0-php8.1]\u003cbr /\u003e[6.0-php8.1-dev][6.0-php8.1] | [6.0.1-php8.1-zts][6.0-php8.1-zts]\u003cbr /\u003e[6.0-php8.1-zts] | [6.0.1-php8.1-alpine][6.0-php8.1-alpine]\u003cbr /\u003e[6.0-php8.1-alpine] |\n\n### Swoole 5.1\n\n| PHP Versions | Default Images | Dev Images | Alpine Images |\n|-|-|-|-|\n| PHP 8.3 | [5.1.7-php8.3][5.1-php8.3]\u003cbr /\u003e[5.1-php8.3]\u003cbr /\u003e[5.1][5.1-php8.3]\u003cbr /\u003e[latest][5.1-php8.3] | [5.1.7-php8.3-dev][5.1-php8.3]\u003cbr /\u003e[5.1-php8.3-dev][5.1-php8.3]\u003cbr /\u003e[5.1-dev][5.1-php8.3]\u003cbr /\u003e[latest-dev][5.1-php8.3] | [5.1.7-php8.3-alpine][5.1-php8.3-alpine]\u003cbr /\u003e[5.1-php8.3-alpine]\u003cbr /\u003e[5.1-alpine][5.1-php8.3-alpine]\u003cbr /\u003e[latest-alpine][5.1-php8.3-alpine] |\n| PHP 8.2 | [5.1.7-php8.2][5.1-php8.2]\u003cbr /\u003e[5.1-php8.2] | [5.1.7-php8.2-dev][5.1-php8.2]\u003cbr /\u003e[5.1-php8.2-dev][5.1-php8.2] | [5.1.7-php8.2-alpine][5.1-php8.2-alpine]\u003cbr /\u003e[5.1-php8.2-alpine] |\n| PHP 8.1 | [5.1.7-php8.1][5.1-php8.1]\u003cbr /\u003e[5.1-php8.1] | [5.1.7-php8.1-dev][5.1-php8.1]\u003cbr /\u003e[5.1-php8.1-dev][5.1-php8.1] | [5.1.7-php8.1-alpine][5.1-php8.1-alpine]\u003cbr /\u003e[5.1-php8.1-alpine] |\n| PHP 8.0 | [5.1.7-php8.0][5.1-php8.0]\u003cbr /\u003e[5.1-php8.0] | [5.1.7-php8.0-dev][5.1-php8.0]\u003cbr /\u003e[5.1-php8.0-dev][5.1-php8.0] | [5.1.7-php8.0-alpine][5.1-php8.0-alpine]\u003cbr /\u003e[5.1-php8.0-alpine] |\n\n### Swoole 5.0\n\n| PHP Versions | Default Images | Dev Images | Alpine Images |\n|-|-|-|-|\n| PHP 8.2 | [5.0.3-php8.2][5.0-php8.2]\u003cbr /\u003e[5.0-php8.2] | [5.0.3-php8.2-dev][5.0-php8.2]\u003cbr /\u003e[5.0-php8.2-dev][5.0-php8.2] | [5.0.3-php8.2-alpine][5.0-php8.2-alpine]\u003cbr /\u003e[5.0-php8.2-alpine] |\n| PHP 8.1 | [5.0.3-php8.1][5.0-php8.1]\u003cbr /\u003e[5.0-php8.1]\u003cbr /\u003e[5.0][5.0-php8.1] | [5.0.3-php8.1-dev][5.0-php8.1]\u003cbr /\u003e[5.0-php8.1-dev][5.0-php8.1]\u003cbr /\u003e[5.0-dev][5.0-php8.1] | [5.0.3-php8.1-alpine][5.0-php8.1-alpine]\u003cbr /\u003e[5.0-php8.1-alpine]\u003cbr /\u003e[5.0-alpine][5.0-php8.1-alpine] |\n| PHP 8.0 | [5.0.3-php8.0][5.0-php8.0]\u003cbr /\u003e[5.0-php8.0] | [5.0.3-php8.0-dev][5.0-php8.0]\u003cbr /\u003e[5.0-php8.0-dev][5.0-php8.0]| [5.0.3-php8.0-alpine][5.0-php8.0-alpine]\u003cbr /\u003e[5.0-php8.0-alpine] |\n\n### Swoole 4.8\n\n| PHP Versions | Default Images | Dev Images | Alpine Images |\n|-|-|-|-|\n| PHP 8.2 | [4.8.13-php8.2][4.8-php8.2]\u003cbr /\u003e[4.8-php8.2] | [4.8.13-php8.2-dev][4.8-php8.2]\u003cbr /\u003e[4.8-php8.2-dev][4.8-php8.2] | [4.8.13-php8.2-alpine][4.8-php8.2-alpine]\u003cbr /\u003e[4.8-php8.2-alpine] |\n| PHP 8.1 | [4.8.13-php8.1][4.8-php8.1]\u003cbr /\u003e[4.8-php8.1] | [4.8.13-php8.1-dev][4.8-php8.1]\u003cbr /\u003e[4.8-php8.1-dev][4.8-php8.1] | [4.8.13-php8.1-alpine][4.8-php8.1-alpine]\u003cbr /\u003e[4.8-php8.1-alpine] |\n| PHP 8.0 | [4.8.13-php8.0][4.8-php8.0]\u003cbr /\u003e[4.8-php8.0]\u003cbr /\u003e[4.8][4.8-php8.0] | [4.8.13-php8.0-dev][4.8-php8.0]\u003cbr /\u003e[4.8-php8.0-dev][4.8-php8.0]\u003cbr /\u003e[4.8-dev][4.8-php8.0]| [4.8.13-php8.0-alpine][4.8-php8.0-alpine]\u003cbr /\u003e[4.8-php8.0-alpine]\u003cbr /\u003e[4.8-alpine][4.8-php8.0-alpine] |\n| PHP 7.4 | [4.8.13-php7.4][4.8-php7.4]\u003cbr /\u003e[4.8-php7.4] | [4.8.13-php7.4-dev][4.8-php7.4]\u003cbr /\u003e[4.8-php7.4-dev][4.8-php7.4] | [4.8.13-php7.4-alpine][4.8-php7.4-alpine]\u003cbr /\u003e[4.8-php7.4-alpine] |\n| PHP 7.3 | [4.8.13-php7.3][4.8-php7.3]\u003cbr /\u003e[4.8-php7.3] | [4.8.13-php7.3-dev][4.8-php7.3]\u003cbr /\u003e[4.8-php7.3-dev][4.8-php7.3] | [4.8.13-php7.3-alpine][4.8-php7.3-alpine]\u003cbr /\u003e[4.8-php7.3-alpine] |\n| PHP 7.2 | [4.8.13-php7.2][4.8-php7.2]\u003cbr /\u003e[4.8-php7.2] | [4.8.13-php7.2-dev][4.8-php7.2]\u003cbr /\u003e[4.8-php7.2-dev][4.8-php7.2] | [4.8.13-php7.2-alpine][4.8-php7.2-alpine]\u003cbr /\u003e[4.8-php7.2-alpine] |\n\n## Nightly images (built daily using the master branch of [swoole-src](https://github.com/swoole/swoole-src))\n\n| PHP Versions | Default Images | Dev Images | ZTS Images| Alpine Images |\n|-|-|-|-|-|\n| PHP 8.4 | [php8.4][nightly-php8.4] | [php8.4-dev][nightly-php8.4] | [php8.4-zts][nightly-php8.4-zts] | [php8.4-alpine][nightly-php8.4-alpine] |\n| PHP 8.3 | [php8.3][nightly-php8.3] | [php8.3-dev][nightly-php8.3] | [php8.3-zts][nightly-php8.3-zts] | [php8.3-alpine][nightly-php8.3-alpine] |\n| PHP 8.2 | [php8.2][nightly-php8.2] | [php8.2-dev][nightly-php8.2] | [php8.2-zts][nightly-php8.2-zts] | [php8.2-alpine][nightly-php8.2-alpine] |\n| PHP 8.1 | [php8.1][nightly-php8.1] | [php8.1-dev][nightly-php8.1] | [php8.1-zts][nightly-php8.1-zts] | [php8.1-alpine][nightly-php8.1-alpine] |\n\n# Build Images Manually\n\nThe Docker images are built and pushed out automatically through Travis. If you want to build some image manually, please\nfollow these three steps.\n\n**1**. Install Composer packages. If you have command \"composer\" installed already, just run `composer update -n`.\n\n**2**. Use commands like following to create dockerfiles:\n\n```bash\n./bin/generate-dockerfiles.php nightly # Generate dockerfiles to build images from the master branch of Swoole.\n./bin/generate-dockerfiles.php 5.1.7   # Generate dockerfiles to build images for Swoole 5.1.7.\n```\n\n**3**. Build Docker images with commands like:\n\n```bash\ndocker build -t phpswoole/swoole:php8.2              -f dockerfiles/nightly/php8.2/cli/Dockerfile   .\ndocker build -t phpswoole/swoole:5.1.7-php8.2        -f dockerfiles/5.1.7/php8.2/cli/Dockerfile    .\ndocker build -t phpswoole/swoole:5.1.7-php8.2-alpine -f dockerfiles/5.1.7/php8.2/alpine/Dockerfile .\n```\n\nTo build development images (where extra tools are included), add an argument _DEV_MODE_:\n\n```bash\ndocker build --build-arg DEV_MODE=true -t phpswoole/swoole:php8.2-dev       -f dockerfiles/nightly/php8.2/cli/Dockerfile .\ndocker build --build-arg DEV_MODE=true -t phpswoole/swoole:5.1.7-php8.2-dev -f dockerfiles/5.1.7/php8.2/cli/Dockerfile  .\n```\n\n# Credits\n\n* Current implementation borrows ideas from [Demin](https://github.com/deminy)'s work at [Glu Mobile](https://ea.com).\n* Thanks to [Blackfire](https://blackfire.io) for providing free open-source subscription for their awesome profiling tool.\n\n[6.0-php8.4]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/6.0.1/php8.4/cli/Dockerfile\n[6.0-php8.4-zts]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/6.0.1/php8.4/zts/Dockerfile\n[6.0-php8.4-alpine]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/6.0.1/php8.4/alpine/Dockerfile\n[6.0-php8.3]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/6.0.1/php8.3/cli/Dockerfile\n[6.0-php8.3-zts]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/6.0.1/php8.3/zts/Dockerfile\n[6.0-php8.3-alpine]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/6.0.1/php8.3/alpine/Dockerfile\n[6.0-php8.2]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/6.0.1/php8.2/cli/Dockerfile\n[6.0-php8.2-zts]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/6.0.1/php8.2/zts/Dockerfile\n[6.0-php8.2-alpine]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/6.0.1/php8.2/alpine/Dockerfile\n[6.0-php8.1]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/6.0.1/php8.1/cli/Dockerfile\n[6.0-php8.1-zts]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/6.0.1/php8.1/zts/Dockerfile\n[6.0-php8.1-alpine]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/6.0.1/php8.1/alpine/Dockerfile\n[5.1-php8.3]: https://github.com/swoole/docker-swoole/blob/5.1.7/dockerfiles/5.1.7/php8.3/cli/Dockerfile\n[5.1-php8.3-alpine]: https://github.com/swoole/docker-swoole/blob/5.1.7/dockerfiles/5.1.7/php8.3/alpine/Dockerfile\n[5.1-php8.2]: https://github.com/swoole/docker-swoole/blob/5.1.7/dockerfiles/5.1.7/php8.2/cli/Dockerfile\n[5.1-php8.2-alpine]: https://github.com/swoole/docker-swoole/blob/5.1.7/dockerfiles/5.1.7/php8.2/alpine/Dockerfile\n[5.1-php8.1]: https://github.com/swoole/docker-swoole/blob/5.1.7/dockerfiles/5.1.7/php8.1/cli/Dockerfile\n[5.1-php8.1-alpine]: https://github.com/swoole/docker-swoole/blob/5.1.7/dockerfiles/5.1.7/php8.1/alpine/Dockerfile\n[5.1-php8.0]: https://github.com/swoole/docker-swoole/blob/5.1.7/dockerfiles/5.1.7/php8.0/cli/Dockerfile\n[5.1-php8.0-alpine]: https://github.com/swoole/docker-swoole/blob/5.1.7/dockerfiles/5.1.7/php8.0/alpine/Dockerfile\n[5.0-php8.2]: https://github.com/swoole/docker-swoole/blob/5.0.3/dockerfiles/5.0.3/php8.2/cli/Dockerfile\n[5.0-php8.2-alpine]: https://github.com/swoole/docker-swoole/blob/5.0.3/dockerfiles/5.0.3/php8.2/alpine/Dockerfile\n[5.0-php8.1]: https://github.com/swoole/docker-swoole/blob/5.0.3/dockerfiles/5.0.3/php8.1/cli/Dockerfile\n[5.0-php8.1-alpine]: https://github.com/swoole/docker-swoole/blob/5.0.3/dockerfiles/5.0.3/php8.1/alpine/Dockerfile\n[5.0-php8.0]: https://github.com/swoole/docker-swoole/blob/5.0.3/dockerfiles/5.0.3/php8.0/cli/Dockerfile\n[5.0-php8.0-alpine]: https://github.com/swoole/docker-swoole/blob/5.0.3/dockerfiles/5.0.3/php8.0/alpine/Dockerfile\n[4.8-php8.2]: https://github.com/swoole/docker-swoole/blob/4.8.13/dockerfiles/4.8.13/php8.2/cli/Dockerfile\n[4.8-php8.2-alpine]: https://github.com/swoole/docker-swoole/blob/4.8.13/dockerfiles/4.8.13/php8.2/alpine/Dockerfile\n[4.8-php8.1]: https://github.com/swoole/docker-swoole/blob/4.8.13/dockerfiles/4.8.13/php8.1/cli/Dockerfile\n[4.8-php8.1-alpine]: https://github.com/swoole/docker-swoole/blob/4.8.13/dockerfiles/4.8.13/php8.1/alpine/Dockerfile\n[4.8-php8.0]: https://github.com/swoole/docker-swoole/blob/4.8.13/dockerfiles/4.8.13/php8.0/cli/Dockerfile\n[4.8-php8.0-alpine]: https://github.com/swoole/docker-swoole/blob/4.8.13/dockerfiles/4.8.13/php8.0/alpine/Dockerfile\n[4.8-php7.4]: https://github.com/swoole/docker-swoole/blob/4.8.13/dockerfiles/4.8.13/php7.4/cli/Dockerfile\n[4.8-php7.4-alpine]: https://github.com/swoole/docker-swoole/blob/4.8.13/dockerfiles/4.8.13/php7.4/alpine/Dockerfile\n[4.8-php7.3]: https://github.com/swoole/docker-swoole/blob/4.8.13/dockerfiles/4.8.13/php7.3/cli/Dockerfile\n[4.8-php7.3-alpine]: https://github.com/swoole/docker-swoole/blob/4.8.13/dockerfiles/4.8.13/php7.3/alpine/Dockerfile\n[4.8-php7.2]: https://github.com/swoole/docker-swoole/blob/4.8.13/dockerfiles/4.8.13/php7.2/cli/Dockerfile\n[4.8-php7.2-alpine]: https://github.com/swoole/docker-swoole/blob/4.8.13/dockerfiles/4.8.13/php7.2/alpine/Dockerfile\n[nightly-php8.4]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/nightly/php8.4/cli/Dockerfile\n[nightly-php8.4-zts]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/nightly/php8.4/zts/Dockerfile\n[nightly-php8.4-alpine]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/nightly/php8.4/alpine/Dockerfile\n[nightly-php8.3]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/nightly/php8.3/cli/Dockerfile\n[nightly-php8.3-zts]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/nightly/php8.3/zts/Dockerfile\n[nightly-php8.3-alpine]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/nightly/php8.3/alpine/Dockerfile\n[nightly-php8.2]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/nightly/php8.2/cli/Dockerfile\n[nightly-php8.2-zts]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/nightly/php8.2/zts/Dockerfile\n[nightly-php8.2-alpine]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/nightly/php8.2/alpine/Dockerfile\n[nightly-php8.1]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/nightly/php8.1/cli/Dockerfile\n[nightly-php8.1-zts]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/nightly/php8.1/zts/Dockerfile\n[nightly-php8.1-alpine]: https://github.com/swoole/docker-swoole/blob/master/dockerfiles/nightly/php8.1/alpine/Dockerfile\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswoole%2Fdocker-swoole","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fswoole%2Fdocker-swoole","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fswoole%2Fdocker-swoole/lists"}