使用Docker安装WordPress教程

电子说

1.2w人已加入

描述

本教程将向您展示如何使用 Docker Compose 在 Docker 容器中运行 WordPress 安装。

WordPress是世界上最流行的 CMS(内容管理系统),这使其成为构建新站点时最重要的考虑因素。它建立在带有 PHP 处理的 MySQL 数据库上。

设置本地 WordPress 安装涉及多个步骤,并且可能是一个耗时的过程。通常,您需要设置本地Web 服务器,配置服务器以执行 PHP 代码,并设置 MySQL 数据库。然而,设置本地 WordPress 环境的最简单方法是将容器化与 Docker 结合使用。

如果您刚开始使用 Docker 并且还没有安装 Docker,我建议您查看我们的教程《在 Ubuntu 上安装 Docker 分步图文指南 》。

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
更多关于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:
  Docker

这里稍微解释一下:

我们定义了两个自动相互链接的服务、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
  DockerDocker


该命令将开始运行脚本,当 Docker 拉入 MySQL 和 WordPress 图像时,您应该会在终端中看到各种“正在下载”和“正在等待”消息。4-5分钟即可。

当您密切关注本地文件系统时,您会看到在拉入 Docker 镜像后,/srv/wordpress/wp-content将创建文件夹,并填充文件和文件夹。 Docker
OK,现在带有 MySQL 容器和 WordPress 容器的 WordPress 安装已成功。

5. 访问您的 WordPress 安装

最后,在我们的容器运行的情况下,我们可以通过 WordPress Web 界面完成安装。在 Web 浏览器中,导航到http://localhost:8080或http://your_ip_address:8080。

您可能需要使用 ifconfig 命令找出您的 IP 地址。

您将看到语言选择页面。选择您的语言,然后单击继续。

  Docker  

在下一个屏幕中,填写必要的信息并单击安装 WordPress。

  Docker  

最后,当出现提示时,单击登录。

  DockerDocker  


然后您将看到标准的 WordPress 登录屏幕。成功通过身份验证后,您就可以开始使用 WordPress。  

Docker



额外的 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

  Docker


您可以使用以下命令停止所有正在运行的容器:

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的指南文章。  

 审核编辑:汤梓红

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分