电子说
本教程将向您展示如何使用 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
2. 准备目录
您需要创建一个名为wordpressunder的新目录/srv来存放 WordPress 数据。这样我们就实现了一定的数据持久化。
linuxmi@linuxmi:~/www.linuxmi.com$ sudo mkdir -p /srv/wordpress [sudo] linuxmi 的密码: linuxmi@linuxmi:~/www.linuxmi.com$ cd /srv/wordpress/
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
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的指南文章。
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !