Docker WordPress / MySQL не удается с «соединение отказано» - PullRequest
0 голосов
/ 14 июня 2019

Я пытаюсь настроить свою среду для создания сайта WordPress, но docker-compose не удается с отклоненным соединением.

Я отправил более 2 дней, пытаясь выяснить, просматривая веб-страницы, но тщетно. Я пробовал решения, доступные для переполнения стека, но все еще напрасно.

Это мой мой докер-композитор

version: '3.7'

services:
  wordpress:
    depends_on:
      - db
    #links:
     # - db:mysql
    image: wordpress
    container_name: wp-web
    ports:
      - 7000:80
     # - 443:443
    restart: unless-stopped
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: banana
      WORDPRESS_DB_PASSWORD: banana
      WORDPRESS_DB_NAME: banana
    working_dir: /var/www/html
    volumes:
      - ./wp-content:/var/www/html/wp-content
      - ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
    # networks:
      # - wp-back

  db:
    image: mysql:5.7
    container_name: db_server
    command: --default-authentication-plugin=mysql_native_password
    volumes:
      - ./db_data:/home/abelmbula/Documents/dockerapp/lib/mysql
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: banana
      MYSQL_DATABASE: banana
      MYSQL_USER: banana
      MYSQL_PASSWORD: banana
    ports:
     - 8889:3306
    # networks:
     # - wp-back

volumes:
 db_data:

Я вытащил это на место

Starting db_server ... done
Recreating wp-web  ... done
Attaching to db_server, wp-web
db_server    | Initializing database
db_server    | 2019-06-14T13:32:53.477264Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
db_server    | 2019-06-14T13:32:53.479113Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
db_server    | 2019-06-14T13:32:53.479146Z 0 [ERROR] Aborting
db_server    | 
wp-web       | [14-Jun-2019 13:33:03 UTC] PHP Warning:  mysqli::__construct(): (HY000/2002): Connection refused in Standard input code on line 22
wp-web       | 
wp-web       | MySQL Connection Error: (2002) Connection refused
db_server exited with code 1

Что-то не так с моим файлом выше?

1 Ответ

0 голосов
/ 14 июня 2019

Это минимальный пример:

version: '3.7'
services:
  wordpress:
    depends_on:
    - mysql
    image: wordpress
    container_name: wordpress
    hostname: wordpress
    domainname: example.com
    ports:
    - 8080:80
    restart: unless-stopped
    environment:
      WORDPRESS_DB_HOST: mysql:3306
      WORDPRESS_DB_USER: banana
      WORDPRESS_DB_PASSWORD: banana
      WORDPRESS_DB_NAME: banana
    working_dir: /var/www/html
    volumes:
    - wp_content:/var/www/html/wp-content
    - ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
  mysql:
    image: mysql:5.7
    container_name: mysql
    hostname: mysql
    domainname: example.com
    command: --default-authentication-plugin=mysql_native_password
    volumes:
    - db_data:/var/lib/mysql
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: banana
      MYSQL_DATABASE: banana
      MYSQL_USER: banana
      MYSQL_PASSWORD: banana
    expose:
    - 3306
volumes:
  db_data:
  wp_content:

В этом примере для хранения файлов базы данных используется том db_data, определенный в volumes (по умолчанию docker тома существуют в /var/lib/docker/volumes в операционной системе хоста), он добавляет имя docker volume для wordpress содержимого, он не публикует порт базы данных для хоста, а открывает его внутри сети docker, чтобы служба wordpress могла получить к нему доступ, и устанавливает примерные hostname и domainname записи для служб. .

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