使用 Docker 安装 WordPress 教程

最近搞了一台腾讯云的轻量服务器,想折腾点东西,但是不知道搞什么好,所以就想起来了搭建一个网站来玩玩,可以用来写一些文章和分享啥的。

搭建网站有很多种方式,不过最强大的还是要数 WordPress,但是如果要完全靠自己搭建环境还是比较复杂,所以就想着还是使用 docker 来搭建,简单快速。

0. 安装 Docker

在 Linux 服务器中安装 docker 非常简单,直接执行yum install docker 命令即可,我这边已经安装过了,所以就提示了这个,没有安装的话,会自行安装。

2429c75e2b4d22462f0397c37d638644

1. 安装 Docker Compose

安装完了 docker 后,我们再安装一下 Docker Compose 。当广泛使用 Docker 时,几个不同容器的管理很快变得繁琐。Docker Compose 是一个工具,您可以使用它轻松定义和启动 Docker 中的多容器应用程序。

使用 Compose,您可以在单个 YAML 文件中定义所有服务,并且使用单个命令,可以启动或停止所有服务。

我们这里使用 Docker Compose 在隔离的容器化环境中并排运行两个容器(WordPress 和 MySQL)。

首先,检查当前版本 ,如有必要,在下面的命令中更新它:

curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

然后将可执行权限应用于二进制文件:

最后可以通过检查版本来验证安装是否成功:

docker-compose --version

显示下面内容表示安装成功。

b1935694b52e374c86f3553b52de3ca2

更多关于Docker Compose的内容可以参考官方文档

2. 准备目录

接下来我们在路径 /srv 创建一个名为wordpress 的目录来存放 WordPress 数据。这样我们就实现了一定的数据持久化。

3. 创建 YAML 文件

在 Docker Compose 领域中,运行容器所需的所有资源都必须在名为 docker-compose.yaml 的 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: your_root_password
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress_user
      MYSQL_PASSWORD: your_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: your_wordpress_password
    volumes:
      - ./wp-content:/var/www/html/wp-content
volumes:
  mysql_data:

这里稍微解释一下:

  • 我们定义了两个自动相互链接的服务mysqlwordpress
  • 他们使用 Docker 镜像,这将决定使用哪个版本的 MySQL 和 WordPress。在这种情况下,他们的最新版本。
  • MySQL环境:WordPress 将使用这些环境变量连接到 MySQL 容器。
  • WordPress环境:要运行 WordPress 容器,您应该设置数据库连接详细信息。
  • WordPress 镜像基于 Apache,它通过 default在端口80上运行。将默认 Apache 端口映射到本地计算机的 8080 端口。
  • mysql_data:流入这个数据库的数据将被持久化到一个命名卷mysql_data,这样即使你删除了容器,数据仍然存在于你的机器上,并且可以再次安装在新的容器中。

另外,wordpress 下面的volumes 参数是告诉 Docker 在本地文件系统中显示 wp-content目录。现在,我们为 WordPress 站点的某些部分(例如wp-content目录)提供了持久存储。在wp-content 包含所有用户提供的内容。

这样只要我们同时拥有数据库和 wp-content 文件夹,就可以随时恢复我们的站点,即使其他所有内容都丢失了。

4. 使用 Docker Compose 运行 WordPress

接下来我们就可以运行 WordPress 了,首先进入 /srv/wordpress 目录,运行以下命令:

OK,现在带有 MySQL 容器和 WordPress 容器的 WordPress 安装已成功。

5. 访问您的 WordPress 安装

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

这里需要注意一点,如果使用的是腾讯云或者阿里云,在控制台中可能需要打开防火墙开放对应的端口,否则访问不通。访问不通的小伙伴,一定要确保自己服务器的端口是开放的。

打开后将看到语言选择页面。选择您的语言,然后单击继续,接下来就是根据页面上显示的内容进行填写就好了,主要是一些账号密码,站点名称,这些后面都是可以在重新改的,所以不用太纠结。最后成功通过身份验证后,您就可以开始使用 WordPress 了。

 
 

Docker Compose 命令

首先,确保您在/srv/wordpress目录中。

docker-compose ps // 查看容器状态
docker-compose up -d // 启动
docker-compose stop // 停止
 
 

评论

评论列表(2)