Wordpress не подключается к базе данных с nginx, letsencrypt и docker compose - PullRequest
0 голосов
/ 01 мая 2020

У меня есть настройка VPS с Debian 10 и я хочу добавить несколько сайтов wqordpress, используя docker compose. Я использую nginx и letsencrypt в отдельных контейнерах ... и эта часть, кажется, работает. Я получаю SSL и могу пропинговать сайт, WP не подключается к базе данных, и у меня такое ощущение, что мне не хватает чего-то простого ... Я новичок с docker и сочиняю

вот мой docker -compose.yml file

version: "3"

services:
   db_domain:
     image: mysql:5.7
     volumes:
        - db_data:/var/lib/mysql
     restart: always
     environment:
        MYSQL_ROOT_PASSWORD: Password1234
        MYSQL_DATABASE: domain-db
        MYSQL_USER: domainUser
        MYSQL_PASSWORD: otherPassword1234
     container_name: domain-db

   wordpress:
     depends_on:
        - db_domain
     image: wordpress:latest
     expose:
        - 80
     restart: always
     environment:
        VIRTUAL_HOST: domain.com
        LETSENCRYPT_HOST: domain.com
        LETSENCRYPT_EMAIL: admin@domain.com
        WORDPRESS_DB_HOST: db_domain:3306
        WORDPRESS_DB_USER: domainUser
        WORDPRESS_DB_PASSWORD: otherPassword1234
     container_name: domain-wp
volumes:
  db_data:

networks:
  default:
    external:
      name: nginx-proxy

Ответы [ 2 ]

1 голос
/ 01 мая 2020

У вас есть пара проблем: переменные среды для службы Mysql не настроены должным образом, а в службе Wordpress отсутствует переменная среды WORDPRESS_DB_NAME: domain-db. Вот конфигурация, которая появляется без ошибок БД:

version: "3"

services:
   db_domain:
     image: mysql:5.7
     volumes:
        - db_data:/var/lib/mysql
     restart: always
     environment:
        - MYSQL_ROOT_PASSWORD=Password1234
        - MYSQL_DATABASE=domain-db
        - MYSQL_USER=domainUser
        - MYSQL_PASSWORD=otherPassword1234
     container_name: domain-db
     ports:
       - "3306:3306"
   wordpress:
     depends_on:
        - db_domain
     image: wordpress:latest
     expose:
        - 80
     restart: always
     environment:
        VIRTUAL_HOST: domain.com
        LETSENCRYPT_HOST: domain.com
        LETSENCRYPT_EMAIL: admin@domain.com
        WORDPRESS_DB_HOST: db_domain:3306
        WORDPRESS_DB_USER: domainUser
        WORDPRESS_DB_PASSWORD: otherPassword1234
        WORDPRESS_DB_NAME: domain-db
     container_name: domain-wp
volumes:
  db_data:
0 голосов
/ 01 мая 2020

Вы должны добавить это WORDPRESS_DB_NAME: domain-db.

И значение WORDPRESS_DB_PASSWORD должно быть равно MYSQL_PASSWORD.

В любом случае, RTFM -> https://hub.docker.com/_/wordpress/

С уважением.

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