Docker:Drupal容器链接到mysql容器can';在Drupal安装期间不要连接到mysql
我是docker的新手,我刚刚浏览了CMS,看看它们的配置有多容易。到目前为止,Wordpress和Joomla已经退房了 当我运行链接到mysql的drupal容器时,我进入drupal安装屏幕,屏幕上显示要连接数据库,我使用根凭据和数据库主机作为“localhost”,并在尝试连接时收到错误。我附加了一个图像,向您显示输出 我得到的错误是:Docker:Drupal容器链接到mysql容器can';在Drupal安装期间不要连接到mysql,mysql,drupal,docker,Mysql,Drupal,Docker,我是docker的新手,我刚刚浏览了CMS,看看它们的配置有多容易。到目前为止,Wordpress和Joomla已经退房了 当我运行链接到mysql的drupal容器时,我进入drupal安装屏幕,屏幕上显示要连接数据库,我使用根凭据和数据库主机作为“localhost”,并在尝试连接时收到错误。我附加了一个图像,向您显示输出 我得到的错误是: Failed to connect to your database server. The server reports the following
Failed to connect to your database server. The server reports the following message: SQLSTATE[HY000] [2002] No such file or directory.
这方面的任何帮助都会很好。我试图查看是否可以使用配置文件访问卷的物理层,但使用Kitematic无法找到它们
谢谢大家! 以下文件将启动连接到另一个运行Mysql的容器的Drupal
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容器使用。这将创建一个名为“mysql”的/etc/hosts条目。在运行drupal安装屏幕时,使用此选项而不是“localhost”
注 自最初起草此答案以来,docker compose文件语法已更改 下面是更新的语法
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
我的窍门是在Drupal连接设置(settings.local.php)中添加数据库容器的服务名称,而不是“localhost”或“127.0.0.1”,如:
$databases['default']['default'] = array(
'database' => 'database-name',
'username' => 'root',
'password' => 'root',
'host' => 'database-container-name',
'port' => '3306',
'driver' => 'mysql',
'prefix' => '',
);
谢谢你,马克,当涉及到管理docker内容时,撰写文件是他们的必经之路。我现在唯一想做的就是如何设置本地drupal内容以装载/链接到docker compose文件。所以我可以在docker上开发并查看输出VM@VincentSpacecompose文件中列出的docker卷可以轻松映射到dev空间中的本地目录。签出组合文件语法。@Superbyte您能更具体一点吗?这是一个旧答案,使用版本1语法编写文件,但我使用docker compose的版本1.14.0对其进行了测试,它仍然有效。@MarkO'Connor感谢您的回复。我的问题大约在3个小时前就解决了:)你知道在docker compose的第2版中如何做到这一点吗?如果是这样的话,如果您能更新答案,我将不胜感激。这对我来说很有效!不过,我还是很好奇,仅仅在
docker compose.yml
中添加链接怎么会没有帮助@Rishikulshreshta的货币贬值了