Otrzymuję błąd bramy 502 podczas próby połączenia z moją stroną WordPress. Patrząc na dzienniki mam ten błąd.

MySQL Connection Error: (1045) Access denied for user 'root'@'172.23.0.3' (using password: YES)

Wydaje się, że działa, gdy nie zmieniam haseł i trzymaj je wszystkie na WordPress. Zakładam, że Dockerfiles po prostu użyj domyślnych haseł, ale po tym, jak patrzę na nie tylko widzę, że chwytają się ze środowiska. Ale nie wydaje się, aby wziąć z mojego otoczenia.

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:

Chcę, aby ***** byłym tym samym hasłem.

Oto wysypisko moich zmiennych WordPress:

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

Widzę tam hasło bazy danych. Oto te sql:

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

Widzę tutaj oba hasła. Z jakiegoś powodu mój kontener WordPress jest zaprzeczany przez kontener MySQL.

3
Kyle Calica-St 16 luty 2017, 15:20

1 odpowiedź

Najlepsza odpowiedź

OSTRZEŻENIE: To był jedyny pojemnik, który miałem na moim serwerze, więc nie miałem nic przeciwko usunięciu wszystkiego. Uruchamianie tych poleceń ślepo może wymazać wszystkie kontenery dokowujące, woluminy itp.

Byłem w stanie rozwiązać mój problem, usuwając woluminę dokera.

Nawet po uruchomieniu tego polecenia:

$ docker-compose stop && docker-compose rm -v

Nie usuwa woluminów.

Za każdym razem, gdy próbowałem utworzyć nowy pojemnik docker, użył mojego starej głośności, który przechowywał moją starą bazę danych MySQL z moimi starymi użytkownicy Użytkownicy MySQL, więc moje stare hasło, które zmieniłbym i był błędny.

Aby pozbyć się starej woluminów dokujących, użyj:

docker volume rm $(docker volume ls -q )

Usunie wszystkie woluminy dokująca. Następnie odbuduj, który utworzy nową wolumin ze zaktualizowaną tabelą z zmiennych {x0}}.

6
Kyle Calica-St 19 luty 2017, 21:18