本教程将向您展示如何使用 Docker Compose 在 Docker 容器中运行 WordPress 安装。
WordPress是世界上最流行的 CMS(内容管理系统),这使其成为构建新站点时最重要的考虑因素。它建立在带有 PHP 处理的 MySQL 数据库上。
设置本地 WordPress 安装涉及多个步骤,并且可能是一个耗时的过程。通常,您需要设置本地Web 服务器,配置服务器以执行 PHP 代码,并设置 MySQL 数据库。然而,设置本地 WordPress 环境的最简单方法是将容器化与 Docker 结合使用。
相关:一文看懂什么是 Docker 容器 https://www.linuxmi.com/docker-container.html
如果您刚开始使用 Docker 并且还没有安装 Docker,我建议您查看我们的教程《在 Ubuntu 上安装 Docker 分步图文指南 https://www.linuxmi.com/ubuntu-docker-zhinan.html 》。
1. 安装 Docker Compose
当广泛使用 Docker 时,几个不同容器的管理很快变得繁琐。Docker Compose 是一个工具,您可以使用它轻松定义和启动 Docker 中的多容器应用程序。
使用 Compose,您可以在单个 YAML 文件中定义所有服务,并且使用单个命令,可以启动或拆除所有服务。
在本教程中,我们将使用 Docker Compose 在隔离的容器化环境中并排运行两个容器(WordPress 和 MySQL)。
现在让我向您展示如何安装最新版本的 Docker Compose 来帮助您管理多容器应用程序。
首先,检查 当前版本 ,如有必要,在下面的命令中更新它:
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s) -$(uname -m) " -o /usr/local /bin/docker-compose
linuxmi@linuxmi:~/www .linuxmi.com$ sudo chmod +x /usr/local/bin/docker-compose
linuxmi@linuxmi:~/www .linuxmi.com$ docker-compose --version
Docker Compose version v2 .2 .2
更多关于Docker Compose的内容可以参考官方文档。
2. 准备目录
您需要创建一个名为wordpressunder的新目录/srv来存放 WordPress 数据。这样我们就实现了一定的数据持久化。
linuxmi@linuxmi:~/www .linuxmi.com$ sudo mkdir -p /srv/wordpress [sudo] linuxmi 的密码: linuxmi@linuxmi:~/www .linuxmi.com$ cd /srv/wordpress/
大家知道,Docker 容器中的数据不是持久的。这意味着如果您停止容器并再次运行它,您将丢失所有数据,里面将不再有任何数据。当然,这可以通过添加 Docker 数据卷来避免,您将在本教程后面看到。
3. 创建 YAML 文件
在 Docker Compose 领域中,运行容器所需的所有资源都必须在名为 .yaml 的 YAML 文件中定义docker-compose.yaml。然后 Docker Compose 将读取此类文件并与 Docker 守护程序通信以创建、配置或销毁定义的资源。
在我们的例子中,该 docker-compose.yaml 文件将包含我们的 dockerized WordPress 设置的服务定义。此外,Docker Compose 允许我们将这些服务与共享网络和卷链接在一起。
因此,让我们从使用Vim编辑器在/srv/wordpress目录中创建一个新文件docker-compose.yaml开始 。使用如下内容来填充它:
version : '3' services : mysql : image : mysql:latest restart : always environment : MYSQL_ROOT_PASSWORD : my_password MYSQL_DATABASE : wordpress MYSQL_USER : wordpress_user MYSQL_PASSWORD : wordpress_password volumes : - mysql_data:/var/lib/mysql wordpress : image : wordpress:latest depends_on : - mysql ports : - 8080:80 restart : always environment : WORDPRESS_DB_HOST : mysql:3306 WORDPRESS_DB_USER : wordpress_user WORDPRESS_DB_PASSWORD : wordpress_password volumes : - ./wp-content:/var/www/html/wp-content volumes : mysql_data :
我们定义了两个自动相互链接的服务 、mysql和wordpress。
他们使用 Docker 镜像 ,这将决定使用哪个版本的 MySQL 和 WordPress。在这种情况下,他们的最新 版本。
MySQL环境 :WordPress 将使用这些环境变量连接到 MySQL 容器。
WordPress环境 :要运行 WordPress 容器,您应该设置数据库连接详细信息。
WordPress 映像基于 Apache,它通过 derfault在端口 上运行80。将默认 Apache 端口映射到8080 本地计算机的端口。
mysql_data :流入这个数据库的数据将被持久化到一个命名卷mysql_data,这样即使你删除了容器,数据仍然存在于你的机器上,并且可以再次安装在新的容器中。
另外,下面的volumes 参数 wordpress 是告诉Dockerwp-content 在本地文件系统中显示 目录。现在,我们为 WordPress 站点的某些部分(例如wp-content目录)提供了持久存储。在wp-content 包含所有用户提供的内容。基本上,您可以上传到网站的任何内容都会在此处结束。
但是,只要您同时拥有数据库和 wp-content 文件夹,您就可以随时恢复您的站点,即使其他所有内容都丢失了。
4. 使用 Docker Compose 运行 WordPress
现在您已准备好运行将构建本地环境的 Docker 命令。确保您仍在wordpress目录中。运行以下命令:
linuxmi@linuxmi:~/www .linuxmi.com$ sudo docker-compose up -d
该命令将开始运行脚本,当 Docker 拉入 MySQL 和 WordPress 图像时,您应该会在终端中看到各种“正在下载”和“正在等待”消息。4-5分钟即可。
当您密切关注本地文件系统时,您会看到在拉入 Docker 镜像后,/srv/wordpress/wp-content将创建文件夹,并填充文件和文件夹。
OK,现在带有 MySQL 容器和 WordPress 容器的 WordPress 安装已成功。
5. 访问您的 WordPress 安装
最后,在我们的容器运行的情况下,我们可以通过 WordPress Web 界面完成安装。在 Web 浏览器中,导航到http://localhost:8080或http://your_ip_address:8080。
您可能需要使用 ifconfig 命令找出您的 IP 地址。
您将看到语言选择页面。选择您的语言,然后单击继续。
在下一个屏幕中,填写必要的信息并单击安装 WordPress。
然后您将看到标准的 WordPress 登录屏幕。成功通过身份验证后,您就可以开始使用 WordPress。
额外的 Docker Compose 选项
首先,确保您在/srv/wordpress目录中。
要查看Docker 应用程序的状态 ,请执行以下命令:
linuxmi@linuxmi:/srv/wordpress $ sudo docker-compose ps NAME COMMAND SERVICE STATUS PORTS wordpress-mysql-1 "docker-entrypoint.s…" mysql running 33060 /tcp wordpress-wordpress-1 "docker-entrypoint.s…" wordpress running 0 .0 .0 .0 : 8080 ->80 /tcp, : : : 8080 ->80 /tcp
linuxmi@linuxmi/srv/wordpress$ sudo docker-compose stop
要启动现有容器 中开始与 docker-compose up:
linuxmi@linuxmi/srv/wordpress$ sudo docker-compose start
linuxmi @linuxmi /srv /wordpress $ sudo docker-compose down
结论
我们向您介绍了 Docker Compose 背后的概念,您现在应该能够定义甚至是简单的多容器应用程序。
在本教程中,您使用 Docker Compose 安装了带有 Docker 的 WordPress。您现在已经启动并运行了 WordPress。
我们希望您喜欢这篇关于使用 Docker 安装 WordPress的指南文章。