Docker的新手和我正在使用laradock通過Craft CMS項目設置我的環境。我能夠安裝並設置,但是當我嘗試連接到laradock從docker-compose.yml
文件創建的MySQL容器時,我遇到了問題。連接到Docker MySQL容器時憑據錯誤
下面是相關的部分數據庫在我docker-compose.yml
mysql:
build:
context: ./mysql
args:
- MYSQL_DATABASE=homestead
- MYSQL_USER=homestead
- MYSQL_PASSWORD=secret
- MYSQL_ROOT_PASSWORD=root
volumes:
- mysql:/var/lib/mysql
ports:
- "3306:3306"
在我的craft/config/db.php
文件,我有以下設置:
return array(
'.dev' => array(
'tablePrefix' => 'craft',
'server' => 'mysql',
'database' => 'homestead',
'user' => 'homestead',
'password' => 'secret',
),
);
不過,我得到一個Craft can’t connect to the database with the credentials in craft/config/db.php
錯誤。
我的問題是 - 當docker創建MySQL容器時,我假定它使用docker-compose.yml
文件中的憑據來創建並允許訪問該數據庫。如果是這樣,只要我的容器正在運行,並且我的db.php
文件中的憑據與docker-compose.yml
文件中的憑據相匹配,是否應該不連接?
如果我想更新MySQL容器中的憑證,我可以只更新這兩個文件中的值並運行docker-compose up -d mysql
?
謝謝!
您仍然想念配置中的數據庫主機。 您可以: - 將數據庫服務鏈接到您的應用服務,並在'craft/config/db.php'中使用數據庫服務名稱作爲主機名(在您的情況下爲'mysql') - 將docker橋地址設置爲數據庫主機並使用映射到主機(端口部分)的端口。 –