Ошибка при sh подключении к базе данных docker при создании - PullRequest
0 голосов
/ 13 февраля 2020

Я пытаюсь настроить wordpress с помощью docker. Я включил мой файл yaml ниже. Здесь я установил для своей базы данных mariadb_db_tyre.

Когда я нажимаю docker-compose up -d, он создает все необходимые файлы WordPress. Это также создает базу данных db_tyre, но когда я пытаюсь использовать localhost: 8000, он дает мне Error establishing a database connection.

. Я проверил файл wp-config. php, в нем есть следующие строки.

define( 'DB_NAME', 'wordpress');

/** MySQL database username */
define( 'DB_USER', 'wordpress');

/** MySQL database password */
define( 'DB_PASSWORD', 'wordpress');

/** MySQL hostname */
define( 'DB_HOST', 'mariadb:3306');

файл yml

version: '3'

services:
  # Database
  db:
    image: bitnami/mariadb:latest
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      MARIADB_ROOT_PASSWORD: password
      MARIADB_DATABASE: db_tyre
      MARIADB_USER: wordpress
      MARIADB_PASSWORD: wordpress
    networks:
      - wpsite
  # Wordpress
  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    ports:
      - '8000:80'
    restart: always
    volumes: ['./:/var/www/html']
    environment:
      WORDPRESS_DB_HOST: mariadb:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
    networks:
      - wpsite
  # phpmyadmin
  phpmyadmin:
    depends_on:
      - db
    image: phpmyadmin/phpmyadmin
    restart: always
    ports:
      - '8080:80'
    environment:
      PMA_HOST: db
      MYSQL_ROOT_PASSWORD: password 
    networks:
      - wpsite
networks:
  wpsite:
volumes:
  db_data:

1 Ответ

1 голос
/ 13 февраля 2020

Как уже упоминалось в комментарии, вы должны установить обновление HOST, но, тем не менее, оно не будет работать, так как конфигурация БД WordPress кажется неправильной.

ENV для БД:

      MARIADB_ROOT_PASSWORD: password
      MARIADB_DATABASE: db_tyre
      MARIADB_USER: wordpress
      MARIADB_PASSWORD: wordpress

так что конфигурация WordPress DB должна быть обновлена ​​и должна быть db_tyre

define( 'DB_NAME', 'db_tyre');

/** MySQL database username */
define( 'DB_USER', 'wordpress');

/** MySQL database password */
define( 'DB_PASSWORD', 'wordpress');

/** MySQL hostname */
define( 'DB_HOST', 'db:3306');

или может попробовать с официальным образом

version: '3.1'

services:

  wordpress:
    image: wordpress
    restart: always
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: exampleuser
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: exampledb
    volumes:
      - wordpress:/var/www/html

  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: exampledb
      MYSQL_USER: exampleuser
      MYSQL_PASSWORD: examplepass
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
    volumes:
      - db:/var/lib/mysql

volumes:
  wordpress:
  db:
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...