本教程将向您展示如何使用 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 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-contentvolumes: 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 psname command service status portswordpress-mysql-1 docker-entrypoint.s… mysql running 33060/tcpwordpress-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的指南文章。
随着区块链技术的不断发展,更多典型应用即将涌现
制冷压缩机的保护器的作用
Hypertronics微型四屏蔽同轴连接器
英特尔报告显示,到2028年游戏将占据5G AR数据的90%
三星将为Note7推送“死亡升级”,网友们沸腾了
使用Docker安装WordPress教程
耳机功放电路的原理是怎么样的
四通道超声探伤卡的硬件设计
纳米尺度下的光和物质强耦合系统的研究
三星S8工业设计确实完美,但有一点和苹果差距有点大!
海尔HP-2998B,HP-2928技改项目(必改项目)
大唐移动将联合中国移动正式启动国内高校首个5G智能网联示范基地
新贵GX1-R鼠标评测 性能良好做工严谨设计十分周到
DS21352/DS21552与DS2152单芯片收发器-D
中国移动5G赋能VR产业,解决了VR发展的两大痛点
夏季触电事故多发 佳岚智能让用电更安全
沪硅产业:将建立300mm SOI硅片的生产能力
如何查看各个模块的资源占用情况呢
GaN衬底制造过程中N面氮化镓清洗工艺的研究报告
宁德时代获得现代汽车E-GMP平台电动车第二批电池订单