565 sao GitHub và vẫn tăng — swoole/docker-swoole là dự án Dockerfile mà TopGit đang theo dõi trên nền tảng. 🏄 Official Docker Image of Swoole
Tóm tắt dựng từ metadata GitHub của chính dự án — chưa có bài review TopGit. Trang sẽ tự động cập nhật khi bài review đầy đủ được xuất bản.
VÌ SAO CHƯA CÓ REVIEW
TopGit viết bài đầy đủ cho repo có nhiều sao nhất và được yêu cầu nhiều nhất. Trang này là snapshot trong thời gian chờ — xem README gốc ở tab READ ME.
This image is built for general-purpose. We have different examples included in this Git repository to help developers
to get familiar with the image and Swoole.
You can get the image from here.
Table of Contents
Feature List
How to Use This Image
How to Install More PHP Extensions
Disable Installed/Enabled PHP Extensions
More Examples
Image Variants
Supported Tags and Respective Dockerfile Links
Versioned images
Swoole 6.2
Swoole 6.1
Swoole 6.0
Swoole 5.1
Swoole 5.0
Swoole 4.8
Nightly images
Build Images Manually
Credits
Feature List
Built-in scripts to manage Swoole extensions and Supervisord programs.
Easy to manage booting scripts in Docker.
Allow running PHP scripts and other commands directly in different environments (including ECS).
Use one root filesystem for simplicity (one Docker COPY command only in dockerfiles).
Composer included (Composer v1 for Swoole 4.5.8 and before; Composer v2 for Swoole 4.5.9 and after).
Built for different architectures.
Support auto-reloading for local development.1
Support code debugging for local development.
PHP extension pdo_mysql included since 4.8.12+ and 5.0.1+.2
PHP extension Redis included since 4.8.12+ and 5.0.1+.2 It's installed with default options.
NOTES
The auto-reloading feature is supported for non-Alpine images only.
The phpswoole/swoole image is built using the official PHP image as base image, with a few changes.
For basic usage, please check the description section of the official PHP image.
How to Install More PHP Extensions
Same 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.
# To install the MySQL extensions.
# NOTE: The pdo_mysql extension is included in 4.8.12+ and 5.0.1+ images.
FROM phpswoole/swoole:4.7-php7.4-alpine
RUN docker-php-ext-install mysqli pdo_mysql
# To install the Redis extension.
# NOTE: The Redis extension is included in 4.8.12+ and 5.0.1+ images.
FROM phpswoole/swoole:4.7-php7.4-alpine
RUN set -ex \
&& pecl channel-update pecl.php.net \
&& yes no | pecl install redis-stable \
&& docker-php-ext-enable redis
# To install the Couchbase extension.
FROM phpswoole/swoole:4.8-php7.4-alpine
RUN set -ex \
&& apk update \
&& apk add --no-cache libcouchbase=2.10.6-r0 \
&& apk add --no-cache --virtual .build-deps $PHPIZE_DEPS libcouchbase-dev=2.10.6-r0 zlib-dev \
&& pecl update-channels \
&& pecl install couchbase-2.6.2 \
&& docker-php-ext-enable couchbase \
&& apk del .build-deps \
&& rm -rf /var/cache/apk/* /tmp/* /usr/share/man /usr/src/php.tar.xz*
Disable Installed/Enabled PHP Extensions
Since 4.8.12+ and 5.0.1+, PHP extensions pdo_mysql and Redis are installed and enabled by default. If you want to
disable them, you can use the following commands in your Dockerfile.
FROM phpswoole/swoole:4.8-alpine
RUN set -ex && \
rm -f "$(php-config --ini-dir)/docker-php-ext-pdo_mysql.ini" && \
rm -f "$(php-config --ini-dir)/docker-php-ext-redis.ini"
Note that above commands will remove the corresponding configuration files for the extensions, but won't remove the extensions themselves.
More Examples
Following examples are for non-Alpine images only. We don't have examples included for the Alpine images.
You can use the image to serve an HTTP/WebSocket server, or run some one-off command with it. e.g.,
docker run --rm phpswoole/swoole php -m
docker run --rm phpswoole/swoole php --ri swoole
docker run --rm phpswoole/swoole composer --version
We have various examples included under folder "examples/" to help developers better use the image. These examples are
numerically ordered. Each example has a docker-compose.yml file included, along with some other files. To run an
example, please start Docker containers using the docker-compose.yml file included, then check HTTP output from URL
http://127.0.0.1 unless otherwise noted. You may use the following commands to start/stop/restart Docker containers:
./bin/example.sh start 00 # To start container(s) of the first example.
./bin/example.sh stop 00 # To stop container(s) of the first example.
./bin/example.sh restart 00 # To restart container(s) of the first example.
To run another example, just replace the last command line parameter 00 with an example number (e.g., 05).
Here is a list of the examples under folder "examples/":
Basic examples:
00-autoreload: Restart the Swoole web server automatically if file changes detected under web root.
01-basic: print out "Hello, World!" using Swoole as backend HTTP server.
02-www: to use some customized PHP script(s) in the Docker image built.
03-nginx: to use Swoole behind an Nginx server.
04-entrypoint: to use a self-defined entrypoint script in the Docker image built.
05-boot: to update content in the Docker container through a booting script.
06-update-token: to show how to update server configurations with built-in script update-token.sh.
07-disable-default-server: Please check the docker-compose.yml file included to see show how to disable the default web server created with Swoole.
Manage PHP extensions and configurations:
10-install-php-extension: how to install/enable PHP extensions.
11-customize-extension-options: how to overwrite/customize PHP extension options.
12-php.ini: how to overwrite/customize PHP options.
13-install-swoole-extension: Please check the README file included to see how to install Swoole extensions like async, orm, postgresql, and serialize.
14-install-phpx: Please check the README file included to see how to install PHP-X.
15-install-phpx-extension: Please check the README file included to see how to install PHP-X based extensions like zookeeper.
Manage Supervisord programs:
20-supervisord-services: to show how to run Supervisord program(s) in Docker.
21-supervisord-tasks: to show how to run Supervisord program(s) when launching a one-off command with Docker. Please check the README file included to see how to run the example.
22-supervisord-enable-program: to show how to enable program(s) in Supervisord program.
23-supervisord-disable-program: to show how to disable Supervisord program(s).
24-supervisord-gracefully-shutdown: how to gracefully stop Swoole servers (managed by supervisord) in Docker containers.
Debugging:
30-debug-with-gdb: Please check the README file included to see how to debug your PHP code with gdb.
31-debug-with-valgrind: Please check the README file included to see how to debug your PHP code with Valgrind.
32-debug-with-strace: Please check the README file included to see how to debug your PHP code with strace.
33-debug-with-blackfire: Please check the README file included to see how to debug your PHP code with Blackfire.
34-debug-with-xdebug: Please check the README file included to see how to debug your PHP code using Xdebug. 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.
Image Variants
The phpswoole/swoole images come in three flavors, each designed for a specific use case.
1. latest, <swoole-version>, and <swoole-version>-php<php-version>
phpswoole/swoole:latest
phpswoole/swoole:5.1
phpswoole/swoole:5.1-php8.2
phpswoole/swoole:5.1.8-php8.2
This variant is based on the php:cli images, with a few changes. It uses Supervisord to manage booting processes, and has Composer preinstalled.
Since 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.
2. latest-dev, <swoole-version>-dev, and <swoole-version>-php<php-version>-dev
phpswoole/swoole:latest-dev
phpswoole/swoole:5.1-dev
phpswoole/swoole:5.1-php8.2-dev
phpswoole/swoole:5.1.8-php8.2-dev
This variant is very similar to the previous one, but it has extra tools added for testing, debugging, and monitoring purpose,
including gdb, git, lsof, strace, tcpdump, Valgrind, and vim.
Since 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.
3. latest-alpine, <swoole-version>-alpine, and <swoole-version>-php<php-version>-alpine
phpswoole/swoole:latest-alpine
phpswoole/swoole:5.1-alpine
phpswoole/swoole:5.1-php8.2-alpine
phpswoole/swoole:5.1.8-php8.2-alpine
You 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.
Also, we have Composer preinstalled in the image.
Note: We don't have development tools built in for Alpine images. There is no Docker images like phpswoole/swoole:5.1.8-php8.2-alpine-dev.
Supported Tags and Respective Dockerfile Links
Versioned images (based on stable releases of Swoole)
Nightly images (built daily using the master branch of swoole-src)
PHP Versions
Default Images
Dev Images
ZTS Images
Alpine Images
PHP 8.5
php8.5
php8.5-dev
php8.5-zts
php8.5-alpine
PHP 8.4
php8.4
php8.4-dev
php8.4-zts
php8.4-alpine
PHP 8.3
php8.3
php8.3-dev
php8.3-zts
php8.3-alpine
PHP 8.2
php8.2
php8.2-dev
php8.2-zts
php8.2-alpine
Build Images Manually
The Docker images are built and pushed out automatically through Travis. If you want to build some image manually, please
follow these three steps.
1. Install Composer packages. If you have command "composer" installed already, just run composer update -n.
2. Use commands like following to create dockerfiles:
./bin/generate-dockerfiles.php nightly # Generate dockerfiles to build images from the master branch of Swoole.
./bin/generate-dockerfiles.php 5.1.8 # Generate dockerfiles to build images for Swoole 5.1.8.
swoole/docker-swoole thuộc nhóm Developer Tools trên TopGit, cùng 2 topic GitHub. Trang Trending và Topics liệt kê các repo cùng số sao và cùng ngôn ngữ để so sánh.
Đọc thêm về swoole/docker-swoole ở đâu?
Trang TopGit này là một snapshot — tab "Readme" hiển thị nguyên văn README của repo (đã bỏ link, giữ ảnh). Repo GitHub ở github.com/swoole/docker-swoole là nguồn chính thức.
swoole/docker-swoole có bao nhiêu sao?
swoole/docker-swoole có 565 sao GitHub — tải lại trang để xem số mới nhất, hoặc xem trực tiếp github.com/swoole/docker-swoole. TopGit phản chiếu số sao của GitHub nhưng không cam kết đến từng phút.
swoole/docker-swoole có phải mã nguồn mở không?
Có — swoole/docker-swoole phát hành theo license Apache-2.0, nghĩa là mã nguồn mở để đọc, fork và (tùy license) tái sử dụng. Mã: github.com/swoole/docker-swoole.
swoole/docker-swoole có trang demo không?
Dự án có trang chủ ở https://hub.docker.com/r/phpswoole/swoole. Tab "Readme" ở trang này thường có ảnh chụp và hướng dẫn bắt đầu nhanh.
swoole/docker-swoole là gì?
swoole/docker-swoole (swoole/docker-swoole) là dự án Dockerfile trên GitHub. Theo mô tả gốc: 🏄 Official Docker Image of Swoole
swoole/docker-swoole so với các dự án Developer Tools khác thế nào?
swoole/docker-swoole được TopGit xếp vào nhóm Developer Tools, với 565 sao GitHub và viết bằng Dockerfile. Xem trang chủ đề Developer Tools trên TopGit để so sánh với các dự án tương tự theo số sao và mức độ hoạt động.
Đọc đầy đủ README ở tab phía trên.
Chưa chắc docker-swoole có hợp với bạn?
Để ChatGPT, Claude hoặc Perplexity tìm hiểu giúp — bấm bên dưới và xem AI nói gì về docker-swoole.