Ich erhalte einen 502-Gateway-Fehler, während ich versuche, eine Verbindung zu meiner WordPress-Site herzustellen. Wenn ich mir die Protokolle ansehe, habe ich diesen Fehler.
MySQL Connection Error: (1045) Access denied for user 'root'@'172.23.0.3' (using password: YES)
Es scheint zu funktionieren, wenn ich die Passwörter nicht ändere und sie alle anbehalte WordPress
. Ich gehe davon aus, dass die Dockerfiles nur die Standardpasswörter verwenden, aber nachdem ich sie mir angesehen habe, sehe ich nur, dass sie aus der Umgebung greifen. Aber es scheint nicht von meiner Umgebung zu nehmen, die ich eingestellt habe.
version: '2'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: *****
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: *****
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8085:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_PASSWORD: ******
volumes:
db_data:
Ich möchte, dass das ***** dasselbe Passwort ist.
Hier ist ein Dump meiner WordPress-Variablen:
HOSTNAME=55333eceeda8
PHP_INI_DIR=/usr/local/etc/php
PHP_ASC_URL=https://secure.php.net/get/php-5.6.30.tar.xz.asc/from/this/mirror
WORDPRESS_DB_PASSWORD=test
PHP_CFLAGS=-fstack-protector-strong -fpic -fpie -O2
PHP_MD5=68753955a8964ae49064c6424f81eb3e
PHPIZE_DEPS=autoconf file g++ gcc libc-dev make pkg-config re2c
PHP_URL=https://secure.php.net/get/php-5.6.30.tar.xz/from/this/mirror
WORDPRESS_DB_HOST=db:3306
WORDPRESS_VERSION=4.7.2
PHP_LDFLAGS=-Wl,-O1 -Wl,--hash-style=both -pie
APACHE_ENVVARS=/etc/apache2/envvars
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
GPG_KEYS=0BD78B5F97500D450838F95DFE857D9A90D90EC1 6E4F6AB321FDC07F2C332E3AC2BF0BC433CFC8B3
PHP_CPPFLAGS=-fstack-protector-strong -fpic -fpie -O2
PWD=/var/www/html
SHLVL=1
HOME=/root
PHP_SHA256=a363185c786432f75e3c7ff956b49c3369c3f6906a6b10459f8d1ddc22f70805
WORDPRESS_SHA1=7b687f1af589c337124e6247229af209ec1d52c3
APACHE_CONFDIR=/etc/apache2
PHP_EXTRA_BUILD_DEPS=apache2-dev
PHP_VERSION=5.6.30
PHP_EXTRA_CONFIGURE_ARGS=--with-apxs2
_=/usr/bin/env
Ich sehe das Datenbankpasswort darin. Hier sind die SQL-Dateien:
root@50ec696f0f67:/# env
HOSTNAME=50ec696f0f67
MYSQL_VERSION=5.7.17-1debian8
MYSQL_DATABASE=wordpress
MYSQL_PASSWORD=test
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
SHLVL=1
HOME=/root
MYSQL_MAJOR=5.7
GOSU_VERSION=1.7
MYSQL_USER=wordpress
MYSQL_ROOT_PASSWORD=test
_=/usr/bin/env
Ich sehe hier beide Passwörter. Aus irgendeinem Grund wird mein WordPress-Container vom MySQL-Container abgelehnt.
Und Sie verwenden die env-Variablen in WordPress? Haben Sie versucht, die von WordPress verwendeten Variablen zu sichern, um festzustellen, ob es sich um die env-Variablen handelt?
– Mickadoo
16. Februar 2017 um 15:04 Uhr
Ich dachte, ich hätte sie mit der Docker-Compose-Datei gesendet. Aber ich werde sie inspizieren und ablegen und posten, was ich bekomme.
– Kyle Calica-St
16. Februar 2017 um 17:45 Uhr
Sie könnten Recht haben, ich bin mit WordPress nicht so vertraut, aber ich habe mich nur gefragt, ob sie vielleicht von etwas fest codiertem überschrieben werden
– Mickadoo
16. Februar 2017 um 17:50 Uhr
Nun, ich gehe davon aus, dass WordPress einige Umgebungsvariablen verwendet, wenn dort WORDPRESS_DB_HOST abgerufen wird. Ist
MYSQL_ROOT_PASSWORD
das gleiche wieMYSQL_PASSWORD
? Vielleicht könnten Sie im WordPress-Quellcode die verwendeten Variablen direkt vor dem Versuch der DB-Verbindung ausgeben. Führen Sie dann in den db-Container aus und prüfen Sie, ob Sie sich mit diesen Details anmelden können. Etwas stimmt nicht zwischen den beiden – graben Sie einfach weiter!– Mickadoo
17. Februar 2017 um 9:13 Uhr
Auch hier bin ich kein Experte für WordPress, aber unterstützt es die Verwendung von Umgebungsvariablen von Haus aus? Vielleicht verwendet es die Werte, die Sie während des Setups für Ihr Passwort verwendet haben? Verwendet deine wp-config.php die Umgebungsvariablen?
– Mickadoo
17. Februar 2017 um 9:27 Uhr