Docker Compose WordPress 快速安装

[TOC]

快速入门:撰写和WordPress

我的配置

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
version: '3.3'

services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
volumes:
- ./mysql:/var/lib/mysql

wordpress:

depends_on:
- db
image: wordpress:latest
ports:
- 80:80
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
- ./www/html:/var/www/html

nginx

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
worker_processes  1;

events {
worker_connections 1024;
}


http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
listen [::]:80;
server_name _;
return 403;
}
server {
listen 80;
listen [::]:80;
server_name test6.cf;
location / {
proxy_pass http://192.168.2.190;
}
}
}

官方安装

您可以使用Docker Compose在由Docker容器构建的隔离环境中轻松运行WordPress。本快速入门指南演示了如何使用Compose设置和运行WordPress。在开始之前,请确保已 安装Compose

定义项目

  1. 创建一个空的项目目录。

    您可以将目录命名为易于记忆的名称。该目录是您的应用程序映像的上下文。该目录应仅包含用于构建该映像的资源。

    该项目目录包含一个docker-compose.yml对于初学者wordpress项目而言本身是完整的文件。

    提示:您可以为此文件使用a.yml.yaml扩展名。他们俩都工作。

  2. 转到您的项目目录。

例如,如果您命名目录my_wordpress

1
cd my_wordpress/
  1. 创建一个docker-compose.yml文件来启动您的 WordPress博客,并创建一个单独的MySQL实例,该实例具有用于数据持久性的卷装入:
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
version: '3.3'

services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress

wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
db_data: {}

注意事项

  • Docker卷db_data将WordPress所做的所有更新持久化到数据库。了解有关Docker卷的更多信息
  • WordPress Multisite仅适用于port80443

建立项目

现在,docker-compose up -d从您的项目目录运行。

docker-compose up将以分离模式运行,提取所需的Docker映像,并启动wordpress和数据库容器,如下例所示。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$ docker-compose up -d
Creating network "my_wordpress_default" with the default driver
Pulling db (mysql:5.7)...
5.7: Pulling from library/mysql
efd26ecc9548: Pull complete
a3ed95caeb02: Pull complete
...
Digest: sha256:34a0aca88e85f2efa5edff1cea77cf5d3147ad93545dbec99cfe705b03c520de
Status: Downloaded newer image for mysql:5.7
Pulling wordpress (wordpress:latest)...
latest: Pulling from library/wordpress
efd26ecc9548: Already exists
a3ed95caeb02: Pull complete
589a9d9a7c64: Pull complete
...
Digest: sha256:ed28506ae44d5def89075fd5c01456610cd6c64006addfe5210b8c675881aff6
Status: Downloaded newer image for wordpress:latest
Creating my_wordpress_db_1
Creating my_wordpress_wordpress_1

注意:WordPress Multisite仅适用于port80和/或443。如果您收到有关绑定0.0.0.0到端口80443 (取决于您指定的端口)的错误消息,则您为WordPress配置的端口可能已被另一服务使用。

在Web浏览器,弹出的WordPress

此时,WordPress应该在8000Docker主机的端口上运行,并且您可以以WordPress管理员的身份完成“著名的五分钟安装”。

注意:WordPress网站无法立即在端口上使用,8000 因为容器仍在初始化中,可能需要几分钟才能进行首次加载。

如果您正在使用Docker Machine,则可以运行命令 docker-machine ip MACHINE_VM以获取机器地址,然后http://MACHINE_VM_IP:8000在Web浏览器中打开 。

如果您使用的是Mac的Docker桌面或Windows的Docker桌面,则可以将其 http://localhost用作IP地址,并http://localhost:8000在Web浏览器中打开。

选择用于WordPress安装的语言

WordPress欢迎

关机和清理

该命令docker-compose down将删除容器和默认网络,但会保留WordPress数据库。

该命令docker-compose down --volumes将删除容器,默认网络和WordPress数据库。

参考

Quickstart: Compose and WordPress