Docker : Drupal container linked to mysql container can#39;t connect to mysql during Drupal installation(Docker:链接到 mysql 容器的 Drupal 容器在 Drupal 安装期间无法连接到 mysql)
问题描述
我对 docker 还很陌生,我刚刚浏览了 CMS,看看它们的配置有多容易.到目前为止,Wordpress 和 Joomla 已经完成.
I'm fairly new to docker, and I've just been going through the CMS's to see how easy they are to configure. So far, Wordpress and Joomla check out.
当我运行链接到 mysql 的 drupal 容器时,我进入了 drupal 安装屏幕,它说连接数据库,我使用我的根凭据和数据库主机作为本地主机",并收到尝试连接的错误.我附上了一张图片来向您展示输出.drupal-config-db-output-error一个>
When I run the drupal container linked to mysql, I get to the drupal installation screen and where it says to connect the DB, and I use my root credentials and db host being 'localhost', and receive errors trying to connect. I've attached an image to show you the output.drupal-config-db-output-error
我得到的错误:
Failed to connect to your database server. The server reports the following message: SQLSTATE[HY000] [2002] No such file or directory.
对此的任何帮助都会很棒.我试图查看是否可以使用配置文件访问物理卷,但我无法使用 Kitematic 找到它们.
Any help on this would be great. I tried to see if I could access the physical the volume with the config files, but I couldn't find them using Kitematic.
谢谢!
推荐答案
以下docker compose文件将启动 Drupal 连接到另一个运行 Mysql 的容器
The following docker compose file will startup Drupal connected to another container running Mysql
db:
image: mysql
environment:
- MYSQL_ROOT_PASSWORD=letmein
- MYSQL_DATABASE=drupal
- MYSQL_USER=drupal
- MYSQL_PASSWORD=drupal
volumes:
- /var/lib/mysql
web:
image: drupal
links:
- db:mysql
ports:
- "8080:80"
volumes:
- /var/www/html/sites
- /var/www/private
请注意,drupal 容器使用 docker 链接.这将创建一个名为mysql"的/etc/hosts 条目.在运行 drupal 安装屏幕时使用它而不是localhost".
Note that the drupal container uses docker links. This will create a /etc/hosts entry called "mysql". Use this instead of "localhost" when running the drupal install screens.
自从最初起草此答案以来,docker compose 文件语法已更改.
The docker compose file syntax has changed since this answer was originally drafted.
这里是更新的语法
version: '2'
services:
mysql:
image: mysql
environment:
- MYSQL_ROOT_PASSWORD=letmein
- MYSQL_DATABASE=drupal
- MYSQL_USER=drupal
- MYSQL_PASSWORD=drupal
volumes:
- /var/lib/mysql
web:
image: drupal
depends_on:
- mysql
ports:
- "8080:80"
volumes:
- /var/www/html/sites
- /var/www/private
这篇关于Docker:链接到 mysql 容器的 Drupal 容器在 Drupal 安装期间无法连接到 mysql的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Docker:链接到 mysql 容器的 Drupal 容器在 Drupal 安装期间无法连接到 mysql


- 导入具有可变标题的 Excel 文件 2021-01-01
- 使用 Oracle PL/SQL developer 生成测试数据 2021-01-01
- 远程 mySQL 连接抛出“无法使用旧的不安全身份验证连接到 MySQL 4.1+"来自 XAMPP 的错误 2022-01-01
- 如何将 Byte[] 插入 SQL Server VARBINARY 列 2021-01-01
- 如何将 SonarQube 6.7 从 MySQL 迁移到 postgresql 2022-01-01
- 更改自动增量起始编号? 2021-01-01
- SQL 临时表问题 2022-01-01
- 在SQL中,如何为每个组选择前2行 2021-01-01
- 如何使用 pip 安装 Python MySQLdb 模块? 2021-01-01
- 以一个值为轴心,但将一行上的数据按另一行分组? 2022-01-01