hacklab/wordpress该镜像主要用于WordPress插件和主题开发,同时也可用于托管WordPress网站。集成了OPCache、X-Debug和WP-Cli等实用工具与库,为开发和部署提供便利。
wp-config.php配置/var/www/html/wp-config.d)可通过环境变量覆盖wp-config.php中的值。以下是wp-config.php中存在的变量及其默认值:
| 变量名 | 默认值 |
|---|---|
| HTTPS | |
| WORDPRESS_AUTH_KEY | <random string> |
| WORDPRESS_AUTH_SALT | <random string> |
| WORDPRESS_LOGGED_IN_KEY | <random string> |
| WORDPRESS_LOGGED_IN_SALT | <random string> |
| WORDPRESS_NONCE_SALT | <random string> |
| WORDPRESS_SECURE_AUTH_KEY | <random string> |
| WORDPRESS_SECURE_AUTH_SALT | <random string> |
| WORDPRESS_NONCE_KEY | <random string> |
| WORDPRESS_DB_CHARSET | utf8 |
| WORDPRESS_DB_COLLATE | |
| WORDPRESS_DB_HOST | mysql |
| WORDPRESS_DB_NAME | wordpress |
| WORDPRESS_DB_PASSWORD | wordpress |
| WORDPRESS_DB_USER | wordpress |
| WORDPRESS_DEBUG | false |
| WORDPRESS_DEBUG_DISPLAY | false |
| WORDPRESS_DEBUG_LOG | false |
| WORDPRESS_FS_METHOD | direct |
| WORDPRESS_TABLE_PREFIX | wp_ |
| WORDPRESS_HOME | <?= $_SERVER['SERVER_NAME']; ?> |
| WORDPRESS_SITEURL | <?= $_SERVER['SERVER_NAME']; ?> |
若需添加未在上述表格中列出的变量,可挂载包含配置文件的目录至/var/www/html/wp-config.d。该目录下的所有PHP文件将被包含到wp-config.php中,也可用于覆盖默认wp-config.php中的变量。
若在反向代理后或虚拟主机内运行,WORDPRESS_HOME和WORDPRESS_SITEURL的默认值可能是安全的。但如果容器接收到带有意外SERVER_NAME的请求,必须为这些变量提供值。无论如何,显式设置这些变量是一个好习惯。
WordPress安装在/var/www/html目录。开发插件时,可将插件目录挂载至/var/www/html/wp-content/plugins。
以下是开发名为“Awesome”的插件时的docker-compose.yml示例:
yamlversion: '2' services: web: image: hacklab/wordpress environment: - WORDPRESS_DEBUG=true - WORDPRESS_DB_USER=the_db_user - WORDPRESS_DB_PASSWORD=the_db_pass - WORDPRESS_DB_NAME=the_db_name ports: - "80:80" mysql: image: mariadb environment: - MYSQL_USER=the_db_user - MYSQL_PASSWORD=the_db_pass - MYSQL_DATABASE=the_db_name - MYSQL_ROOT_PASSWORD=the_root_pass - TERM=xterm
当容器环境变量WORDPRESS_DEBUG=true时,X-Debug配置会自动创建,容器将接受来自任何主机的连接。若需禁用X-Debug,设置环境变量XDEBUG=false。
Atom用户
通过编辑config.cson告知Atom文件夹映射,需配置“php-debug”部分,示例如下:
cson"php-debug": PathMaps: [ "remotepath;localpath" "/var/www/html/;/local/path/to/wordpress/" ] PhpException: CatchableFatalError: false Deprecated: false FatalError: false Notice: false ParseError: false StrictStandards: false UnknownError: false Warning: false Xdebug: false ServerPort: 9000
以下模块适用于大多数Hacklab WordPress项目,并可能对广泛项目有用。虽然模块会占用每个Apache进程的内存,但这些模块支持多种WordPress缓存插件(如W3 Total Cache):


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务