如何使用 Docker 和 Docker Compose 部署 WordPress

WordPress 是一个开源且流行的内容管理系统。 但是,在新服务器上安装和设置 WordPress 是一个非常耗时的过程,特别是如果我们需要一次又一次地这样做。 在这种情况下,我们可以使用 Docker 和 Docker compose 来简化我们的 WordPress 安装过程,只需一个命令。

在这篇文章中,我们将向我们展示如何使用 Docker 和 Docker Compose 部署 WordPress。

先决条件

  • 云平台上的全新 Ubuntu 20.04 服务器
  • 在我们的服务器上配置的 root 密码

第 1 步 – 创建 云服务器

首先,登录到我们的 云服务器。 创建一个新服务器,选择 Ubuntu 20.04 作为至少 4GB RAM 的操作系统。 通过 SSH 连接到我们的云服务器并使用页面顶部突出显示的凭据登录。

登录到 Ubuntu 20.04 服务器后,运行以下命令以使用最新的可用软件包更新基本系统。

apt-get update -y

第 2 步 – 安装 Docker 和 Docker Compose

首先,我们需要在服务器上安装一些必需的依赖项。 我们可以使用以下命令安装它们:

apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common -y

安装完所有这些后,使用以下命令添加 Docker 存储库:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

添加存储库后,使用以下命令安装 Docker 和 Docker Compose:

apt-get install docker-ce docker-compose -y

安装这两个软件包后,我们可以继续下一步。

第 3 步 – 创建 Docker-Compose YML 文件

接下来,我们需要创建一个 docker-compose.yml 文件来部署 WordPress。

首先,使用以下命令创建一个名为 wordpress 的新目录:

mkdir wordpress

接下来,将目录更改为 wordpress 并创建一个新的 docker-compose.yml 文件:

cd wordpress
nano docker-compose.yml

添加以下行:

wordpress:
    image: wordpress
    links:
     - mariadb:mysql
    environment:
     - WORDPRESS_DB_PASSWORD=secure-password
     - WORDPRESS_DB_USER=root
    ports:
     - "wer-server-ip:80:80"
    volumes:
     - ./html:/var/www/html
mariadb:
    image: mariadb
    environment:
     - MYSQL_ROOT_PASSWORD=secure-password
     - MYSQL_DATABASE=wordpress
    volumes:
     - ./database:/var/lib/mysql

完成后保存并关闭文件。

注意:将 wer-server-ip 替换为我们的公共 IP。

上述文件将从 Docker 注册表下载 WordPress 和 MariaDB 镜像,创建数据库并设置密码,链接两个容器,并在端口 80 上公开容器。

第 4 步 – 部署 WordPress

现在,将目录更改为 wordpress 并使用以下命令启动 WordPress 和 MariaDB 容器:

docker-compose up -d

我们应该得到以下输出:

Pulling mariadb (mariadb:)...
latest: Pulling from library/mariadb
345e3491a907: Pull complete
57671312ef6f: Pull complete
5e9250ddb7d0: Pull complete
2d512e2ff778: Pull complete
57c1a7dc2af9: Pull complete
b846f4f4774a: Pull complete
66409f940bd2: Pull complete
82d8723e99d8: Pull complete
55edbf0f673e: Pull complete
c34793730ad6: Pull complete
8f1925a0d734: Pull complete
72904fb5fd0b: Pull complete
Digest: sha256:0c3c560359a6da112134a52122aa9b78fec5f9dd292a01ee7954de450f25f0c1
Status: Downloaded newer image for mariadb:latest
Pulling wordpress (wordpress:)...
latest: Pulling from library/wordpress
69692152171a: Pull complete
2040822db325: Pull complete
9b4ca5ae9dfa: Pull complete
ac1fe7c6d966: Pull complete
5b26fc9ce030: Pull complete
3492f4769444: Pull complete
1dec05775a74: Pull complete
77107a42338e: Pull complete
f58e4093c52a: Pull complete
d32715f578d3: Pull complete
7a73fb2558ce: Pull complete
667b573fcff7: Pull complete
75e2da936ffe: Pull complete
759622df3a7b: Pull complete
c2f98ef02756: Pull complete
50e11300b0a6: Pull complete
de37513870b9: Pull complete
f25501789abc: Pull complete
0cf8e3442952: Pull complete
d45ce270a7e6: Pull complete
534cdc5a6ea6: Pull complete
Digest: sha256:e9da0d6c867249f364cd2292ea0dd01d7281e8dfbcc3e4b39b823f9a790b237b
Status: Downloaded newer image for wordpress:latest
Creating wordpress_mariadb_1 ... done
Creating wordpress_wordpress_1 ... done

我们可以使用以下命令验证下载的图像:

docker images

输出:

REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
wordpress    latest    c2dd1984ad5b   3 days ago    551MB
mariadb      latest    eff629089685   13 days ago   408MB

我们还可以使用以下命令验证正在运行的容器:

docker-compose ps

输出:

        Name                       Command               State           Ports         
---------------------------------------------------------------------------------------
wordpress_mariadb_1     docker-entrypoint.sh mysqld      Up      3306/tcp              
wordpress_wordpress_1   docker-entrypoint.sh apach ...   Up      45.58.43.20:80->80/tcp

第 5 步 – 访问 WordPress 安装向导

至此,WordPress 已经部署完毕并监听 80 端口。我们可以使用 URL http://wer-server-ip 访问它。 我们应该看到以下页面:
WordPress 安装页面

我们现在可以按照步骤完成 WordPress 安装。

如果要同时更新 WordPress 和 MariaDB 图像,请运行以下命令:

docker-compose pull

现在,使用以下命令将更改推送到我们的容器。

docker-compose up -d

如果要停止并删除所有容器,请运行以下命令:

docker-compose down

在上述指南中,我们学习了如何使用 Docker 和 Docker Compose 部署 WordPress。 在 的专用主机上试用。

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发

请登录后发表评论