WordPress
WordPress 基于 PHP 脚本语言 (推荐 PHP 7 或更高版本),需要 MySQL 或 MariaDB 数据库。
Docker-Compose
创建 docker-compose.yml 文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| version: '3.1'
services:
wordpress: container_name: wordpress image: wordpress restart: always ports: - 7080:80 environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_USER: wordpress_user WORDPRESS_DB_PASSWORD: wordpress_password WORDPRESS_DB_NAME: wordpress_db volumes: - ./html:/var/www/html
db: container_name: wordpress_mysql image: mysql:5.7 restart: always environment: MYSQL_DATABASE: wordpress_db MYSQL_USER: wordpress_user MYSQL_PASSWORD: wordpress_password MYSQL_RANDOM_ROOT_PASSWORD: rootpassword volumes: - ./mysql:/var/lib/mysql
phpmyadmin: container_name: wordpress_phpmyadmin image: phpmyadmin restart: always ports: - 7081:80 environment: PMA_HOST: db MYSQL_ROOT_PASSWORD : rootpassword
|
打开 7080 7081 端口
1 2
| ufw allow 7080/tcp ufw allow 7081/tcp
|
更改上传文件大小限制
新建 uploads.ini 文件
1 2 3
| file_uploads = On upload_max_filesize = 256M post_max_size = 256M
|
修改 docker-compose.yml 文件,在 volume 下面添加:
1
| - ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
|
完整的配置文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| version: '3.1'
services:
wordpress: container_name: wordpress image: wordpress restart: always ports: - 7080:80 environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_USER: wordpress_user WORDPRESS_DB_PASSWORD: wordpress_password WORDPRESS_DB_NAME: wordpress_db volumes: - ./html:/var/www/html - ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
db: container_name: wordpress_mysql image: mysql:5.7 restart: always environment: MYSQL_DATABASE: wordpress_db MYSQL_USER: wordpress_user MYSQL_PASSWORD: wordpress_password MYSQL_RANDOM_ROOT_PASSWORD: rootpassword volumes: - ./mysql:/var/lib/mysql
phpmyadmin: container_name: wordpress_phpmyadmin image: phpmyadmin restart: always ports: - 7081:80 environment: PMA_HOST: db MYSQL_ROOT_PASSWORD : rootpassword
|
注解
PMA_HOST 是 phpMyAdmin(PMA)的一个环境变量,它指定了 PMA 将连接到的 MySQL 服务器的主机名或 IP 地址。
在 Docker 中,当您使用 PMA 镜像时,将需要设置 PMA_HOST 环境变量来告诉 PMA 如何连接到 MySQL 数据库。例如,您可以将 PMA_HOST 设置为 MySQL 容器的名称或 IP 地址。
以下是一个示例命令,在这个命令中,我们将使用 Docker 运行 PMA,并将 PMA_HOST 设置为 MySQL 容器的名称:
1 2 3 4 5
| docker run --name my-pma -d \ --link my-mysql:mysql \ -p 8080:80 \ -e PMA_HOST=my-mysql \ phpmyadmin/phpmyadmin
|
在上面的命令中,--link 标志用于链接 MySQL 容器,并将其命名为 mysql,然后将 PMA_HOST 设置为 my-mysql,这是 MySQL 容器的名称。
内网穿透
wordpress 在本地搭建进行内网映射时,会产生跳转到端口的错误
1 2 3 4 5 6 7 8 9 10 11 12 13
| [wordpress] type = tcp local_ip = 127.0.0.1 local_port = 7080 remote_port = 7024 custom_domains = wordpress.rahn.top
[phpmyadmin] type = tcp local_ip = 127.0.0.1 local_port = 7081 remote_port = 7025 custom_domains = phpmyadmin.rahn.top
|
官方地址:https://wordpress.org/