devgiants/docker-wordpress

预装 WordPress、WP-CLI 和 PHPMyAdmin 的 LAMP 堆栈

1.6.8 2024-05-29 12:22 UTC

README

该模板是一个预装了 WordPress、WP-CLI 和 PHPMyAdmin 集成的可自定义 LAMP 堆栈。 警告:仅限 Linux 用户

安装

使用 composer create-project 命令

composer create-project devgiants/docker-wordpress target-dir 1.6.7

这将克隆堆栈到您的目录

要求

Mac 用户:在安装过程中,脚本需要使用 envsubst,它默认不在 MacOS 上安装。您可以直接使用 Homebrew 安装它

brew install gettext
brew link --force gettext 

配置

自定义参数

.env 文件

首先,指定项目所需的参数

目录
  • WORDPRESS_HOST_RELATIVE_APP_PATH:这是从项目初始路径的相对路径。默认为 ./注意:将在该路径上创建一个卷以持久化 WordPress 应用程序文件
  • LOGS_DIR:日志目录。
PHP
  • PHP_VERSION:堆栈要使用的 PHP 版本
主机
  • HOST_USER:您的当前用户名。需要确保使用您的当前用户创建(目录...),以保留容器和主机之间的映射
  • HOST_UID:您的当前用户主机 ID(uid)。这是将 PHP 容器和主机之间的 UID 映射的必要条件,以便您可以在容器和通过主机卷访问中编辑文件。
  • HOST_GID:您的当前主要组主机 ID(gid)。(目前未使用)
WordPress
  • PROJECT_NAME:项目名称:用作 WordPress 网站名称。 重要:由于该名称用于设置主题目录,请使用下划线(例如:project_test)保持该名称

  • ADMIN_USER:要创建的第一个用户

  • ADMIN_PASSWORD:第一个用户密码。 重要:请用双引号括起来

  • PROJECT_REPO:git 仓库地址

  • WP_CLI_CACHE_DIR:WP-CLI 缓存目录。保持这种方式。

数据库
  • MYSQL_HOST:数据库主机。必须在 docker-compose.yml 文件中与数据库容器名称相等(默认 mysql)。
  • MYSQL_DATABASE:您想要的数据库名称
  • MYSQL_DATABASE_PREFIX:您想要的 WordPress 安装数据库前缀
  • MYSQL_USER:您要使用的数据库用户(将在容器创建时创建)
  • MYSQL_PASSWORD:您想要的数据库密码
  • MYSQL_HOST_PORT:您想要绑定到容器中 MySQL 服务器的端口。
  • MYSQL_PORT:MySQL 实例端口。小心,这是容器中的 MySQL 端口。默认为 3306
  • MYSQL_HOST_VOLUME_PATH:默认 ./docker/data/mysql/5.7。这是存储数据库的卷。
端口

您可以使用此模板拥有多个项目,但如果不更改端口,一次只能有一个项目运行,因为端口 80 用于暴露 Apache。

  • APPLICATION_WEB_PORT:默认为 80
  • PHP_MY_ADMIN_PORT:默认为 81

用法

有两种方法可以使用此模板: 初始化日常使用。创建了一个 Makefile 来帮助操作

初始化

空白项目

只需执行 make install 即可完全设置空白项目。请查看 Makefile 中的其他入口点以查看您可以做什么

带有 Sage 9 主题的项目

只需执行 make sage 即可设置一个完整的带有 Sage 9 的项目。

日常使用

  • 执行 make up 以启动项目。
  • 执行 make down 以停止并移除容器实例。
  • 执行 make bash-php 以在 PHP 容器中获取 www-data 用户的 shell。

注意:所有设置的卷都将确保持久化应用程序文件和数据库。

从头开始重置

如果您想重置一切,只需

  1. 运行 docker-compose down
  2. 移除 WORDPRESS_HOST_RELATIVE_APP_PATHMYSQL_HOST_VOLUME_PATH
  3. 然后返回执行 make install

WordPress

默认情况下在 localhost 上可访问。

重要提示:要执行 wp-cli,请确保使用 www-data 用户连接到 php 容器。上述映射针对容器中的 www-data。要使用的命令:make bash-php

PhpMyAdmin

默认情况下在 localhost:81 上可访问。使用 MYSQL_USERMYSQL_PASSWORD 进行连接。