前置条件
- 已安装 Docker 和 Docker Compose。可以在 Docker 官方网站上找到 Docker 和 Docker Compose 的安装指南。
步骤
步骤 1:创建一个名为 docker-compose.yml
的文件,然后添加以下内容:
这个文件定义了两个服务,WordPress 和 MySQL。它们在 Docker 中运行为单独的容器。WordPress 容器将连接到 MySQL 容器。
这部分的代码定义了一个 Docker 卷 db_data
。卷是 Docker 提供的一种数据持久化的解决方案,你可以使用它来存储和共享容器的数据。
在这个 docker-compose.yml
文件中,db_data
卷被挂载到 MySQL 容器的 /var/lib/mysql
目录。这意味着 MySQL 容器的数据(例如数据库文件)将被存储在 db_data
卷中。即使你删除并重新创建 MySQL 容器,只要你还在使用同一个 db_data
卷,数据就不会丢失。
db_data: {}
的语法表示创建一个新的命名卷。这里的 {}
是空的,这意味着 Docker 将使用默认的配置来创建这个卷。如果你想要对卷进行配置,例如指定卷的驱动器或者设定其他选项,你可以在 {}
中添加这些选项。
在这个例子中,我们不需要对 db_data
卷进行任何特殊配置,所以你可以保留 db_data: {}
的语法。
如果你想知道更多关于 Docker 卷的信息,可以参考 Docker 的官方文档。
步骤 2:打开终端,导航到包含 docker-compose.yml
文件的目录,然后运行以下命令:
这个命令将下载并运行 WordPress 和 MySQL 的 Docker 镜像。参数 -d
让容器在后台运行。
步骤 3:打开浏览器并访问 http://localhost:8000
来查看你的 WordPress 网站。你应该会看到 WordPress 的安装向导。
常见问题
问题 1:如果你看到 “Error establishing a database connection” 错误,那可能是因为以下原因:
- 数据库服务器未运行:运行
docker ps
命令来查看你的容器是否正在运行。你也可以通过运行docker logs <container_id>
命令来查看 MySQL 容器的日志。 - 错误的数据库凭据:检查你的
docker-compose.yml
文件中的WORDPRESS_DB_USER
、WORDPRESS_DB_PASSWORD
、WORDPRESS_DB_NAME
和WORDPRESS_DB_HOST
环境变量是否与 MySQL 容器的设置相匹配。 - 网络问题:你的 WordPress 和 MySQL 容器可能无法互相通信。在 Docker Compose 中,你应该使用服务名称(在这个例子中是
db
)作为主机名。
如果你要停止你的 Docker 容器,可以运行 docker-compose down
命令。
这就是在 Docker 中一键安装 WordPress 和 MySQL 的步骤。希望对你有所帮助!