hoepfner-digital / wp-sail
Docker 文件,用于运行基本的 WordPress 应用程序。由 Wordpress Sail 衍生
1.1.2
2023-01-05 15:50 UTC
Requires
- php: ^7.3|^8.0
- illuminate/contracts: ^8.0|^9.0
- illuminate/support: ^8.0|^9.0
- wp-cli/wp-cli: ^2.7
README
WP Sail 提供了一个基于 Docker 的本地开发体验,兼容 macOS、Windows (WSL2) 和 Linux。
基于 Laravel Sail 和 wordpress-sail。
灵感来源
Laravel Sail 受到 Vessel 的启发,并由 Chris Fidao 创建。如果你在寻找 Docker 的详细介绍,可以查看 Chris 的课程: Shipping Docker。
除了 Ethan Clevenger 已经做的修改外,我只想有一个使用补丁文件进行更新的基础。我还正在考虑实现 Devcontainer。
Sail 定制化
将 WordPress 命令行界面添加到容器中
WP-CLI 需要作为全局二进制文件添加。
RUN curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar \
&& chmod +x wp-cli.phar \
&& mv wp-cli.phar /usr/local/bin/wp
使用 PHP 内置的 Web 服务器通过 WP-CLI 服务
要使用 WP-CLI 的内置 Web 服务器,需要更改 supervisord 配置。
command=/usr/bin/php -d variables_order=EGPCS /usr/local/bin/wp server --docroot=/var/www/html/web/ --host=0.0.0.0 --port=80
Composer 依赖项
删除不必要的依赖项 illuminate/console
。将 wp-cli/wp-cli
添加为未来的控制台。
安装流程
使 src/Console 中的安装流程与 WP-CLI 兼容。同时,通过 composers 的自动加载器将这些命令添加到 WP-CLI。
如何使用
设置初始项目结构
composer create-project roots/bedrock wp-project
composer require hoepfner-digital/wp-sail
确保本地自动加载是 WP-CLI 生命周期的一部分
# in wp-cli.yml
require:
- vendor/autoload.php
创建 docker-compose.yml 文件
vendor/bin/wp sail:install
# with the services you want, by default MySQL and Mailhog will be installed
vendor/bin/wp sail:install --with=mysql,mailhog,redis
构建容器
sail up
# or re-build containers
sail build --no-cache
许可
Laravel Sail 是开源软件,许可协议为 MIT 许可证。