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
基础教程推荐
- SQL:使用来自具有相同列名的两个表中的数据... 2021-01-01
- 将 SQL Server DateTime 列迁移到 DateTimeOffset 2021-01-01
- SSMS 中的权限问题:“对象 'extended_properties'、数据库 'mssqlsystem_resource'、... 错误 229)上的 SELECT 权限被拒绝" 2022-01-01
- 需要 MySQL 5.1 中的抽象触发器来更新审计日志 2021-01-01
- SQL 效率:WHERE IN 子查询 vs. JOIN 然后 GROUP 2021-01-01
- 在 SQL 中连接多个表 2021-01-01
- 无法解决整理冲突 2021-01-01
- 如何使用 mysql.connector 禁用查询缓存 2022-01-01
- SQL Server 实例在登录协商期间返回无效或不受支持的协议版本 2021-01-01
- 是否可以执行按位分组功能? 2021-01-01
