记录如何在Docker Compose中构建WordPress多站点开发环境
个人备忘录
WordPress多站点
通过在一个WordPress平台上运营多个网站,可以利用共同的模板和插件功能。虽然并非所有插件都能支持多个网站,但可以在整体上共同使用,也可以在每个网站上单独启用。以下是三种可用功能。
子目录型多站点
-
kamihork.com/site1
kamihork.com/site2
子域名型多站点
-
site1.kamihork.com
site2.kamihork.com
多个领域类型的多站点
-
site1-kamihork.com
site2-kmaihork.com
在WordPress多站点中,通过子域名的形式进行构建的步骤。
如果选择子域名格式,无法实现预留的域名(localhost)。
因此,为了实现这一点,可以使用lvh.me这个环回域名。
※ 参考:https://techracho.bpsinc.jp/ebi/2020_04_23/91311
lvh.me 这个网址
截至2020年5月14日时,有效期大约为一年左右。
$ whois lvh.me | grep Expiry
Registry Expiry Date: 2021-06-02T00:35:34Z
步骤
确认Docker
$ docker -v
Docker version 18.09.2, build 6247962
$ docker-compose -v
docker-compose version 1.23.2, build 1110ad01
创建一个docker-compose.yml文件
version: '1.0'
services:
db:
image: mysql:5.7
volumes:
- ./mysql:/var/lib/mysql
ports:
- 3306:3306
networks:
- wpnet
environment:
- MYSQL_DATABASE=kamihork-db
- MYSQL_USER=kamihork
- MYSQL_PASSWORD=pass
- MYSQL_ROOT_PASSWORD=root
app:
build:
context: ./app
dockerfile: Dockerfile
volumes:
- ./html:/var/www/html
- ./wp-install.sh:/tmp/wp-install.sh
ports:
- 80:80
depends_on:
- db
networks:
- wpnet
cli:
image: wordpress:cli-2.3.0-php7.1
volumes_from:
- app:rw
networks:
- wpnet
networks:
wpnet:
创建Docker文件
FROM php:7.1-apache
RUN \
{ apt-get update; \
apt-get install -y zlib1g-dev libzip-dev; \
docker-php-ext-install zip; \
docker-php-ext-install mysqli; \
docker-php-ext-configure zip; \
docker-php-ext-configure mysqli ; \
}
使用WordPress命令行工具(WordPress CLI)创建一个Shell脚本来进行各种初始设置。
安装插件可以使用 wp plugin install
安装多网站可以使用 wp core multisite-install
#!/bin/bash
set -ex;
INSTALLDIR=/var/www/html
wp core download \
--locale=ja --version=5.2.2 --path=${INSTALLDIR}
wp config create \
--dbname=kamihork-db --dbuser=kamihork --dbpass=pass --dbhost=db:3306 \
--force --path=${INSTALLDIR}
wp core multisite-install \
--url=www.lvh.me --subdomains --title='kamihorkのマルチサイト' \
--admin_user=kamihork --admin_password=pass --admin_email=hoge@fuga.com --allow-root
wp site create \
--slug=sub --title='kamihorkのマルチサイト @サブ' --allow-root
启动容器
$ docker-compose up -d --build
执行预先设计的shell
# ログイン
$ docker-compose run --rm cli bash
# 権限変える
$ chmod +x /tmp/wp-install.sh
# 実行
$ /tmp/wp-install.sh
删除容器已完成
$ docker-compose down --volumes
过程确认
$ docker ps
图像确认
$ docker images
确认网站
原文:本体サイト
中文翻译:主站
http://lvh.me/
http://lvh.me/wp-admin/index.php
子域名网站
http://sub.lvh.me/
http://sub.lvh.me/wp-admin/index.php
只需一种选项,用中文进行引述文章等参考
Docker选择相关文章
Docker是一种容器环境,值得为迷失的孩羊奉献的彻底比较。应该采用Docker吗?不应该采用吗?
关于多地点部署
什么是WordPress多站点?优缺点一览清楚。
操作多个WordPress子域名运行的5个要点。
WordPress多站点兼容插件的制作方法。
回环域名的有效期限。
关于AWS和WordPress的文章
使用Docker
使用Docker构建WordPress开发环境并通过wp-cli快速搭建。
使用Docker Compose创建本地环境以运行WordPress。
使用lvh.me域名构建WordPress多站点的子域名形式的Docker开发环境。
总结docker-compose命令。
对docker-compose.yml的编写方法进行解释。
解释Dockerfile的含义。
使用AWS EC2
将 WordPress 部署到 Amazon EC2 实例上
创建 WordPress 网站
构建适用于小中规模企业的低成本、高可用性/可扩展性的 WordPress 架构
AWS 的 WordPress 高可用性解决方案(由 Bitnami 提供)
AWS 2018年再入门:WordPress 在 AWS 上的使用指南
[日文翻译]在 AWS 上实践 WordPress 的最佳方法
使用AWS ECS
Amazon ECS的主要功能和用法
使用AWS Docker公開WordPress
直到使用AWS ECS部署Docker环境为止
在AWS ECS中进行Docker容器管理入门
从CodePipeline到ECS实施蓝绿部署