Neu bei Docker und ich verwende laradock, um meine Umgebung mit einem Craft CMS Projekt einzurichten. Ich bin in der Lage, es zu installieren und einzurichten, aber ich habe ein Problem beim Versuch, eine Verbindung zu dem MySQL-Container, den Laradock erstellt aus der Datei docker-compose.yml
.Falsche Anmeldeinformationen beim Verbinden mit Docker MySQL-Container
Hier ist der db-bezogene Teil in meinem 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"
Innerhalb meiner craft/config/db.php
Datei, ich habe die folgenden Einstellungen:
return array(
'.dev' => array(
'tablePrefix' => 'craft',
'server' => 'mysql',
'database' => 'homestead',
'user' => 'homestead',
'password' => 'secret',
),
);
Aber ich bin immer ein Craft can’t connect to the database with the credentials in craft/config/db.php
Fehler.
Meine Frage ist - wenn Docker den MySQL-Container erstellt, nehme ich an, dass es die Anmeldeinformationen in der docker-compose.yml
-Datei verwendet, um den Zugriff auf diese Datenbank zu erstellen und zuzulassen. Wenn ja, solange mein Container läuft und meine Zugangsdaten aus meiner db.php
Datei mit den Zugangsdaten in der docker-compose.yml
Datei übereinstimmen, sollte es keine Verbindung herstellen?
Wenn ich die Anmeldeinformationen im MySQL-Container aktualisieren möchte, kann ich einfach die Werte in beiden Dateien aktualisieren und docker-compose up -d mysql
ausführen?
Danke!
Sie vermissen weiterhin den Datenbankhost in der Konfiguration. Sie können: - Datenbankdienst mit Ihrem App-Dienst verknüpfen und den Datenbankdienstnamen als Hostnamen (in Ihrem Fall 'mysql') in 'craft/config/db.php' verwenden - Docker-Brückenadresse als Datenbank-Host festlegen und den Port verwenden, der dem Host zugeordnet ist (Abschnitt Ports). –