Ошибка Docker с Mysql, PHPmyadmin и Apache - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть сайт php, который подключается к сайту SQL.Я создал Docker для создания когда запускается, сайт Php не подключается к MySQL.Мой docker-config.yml:

    version: '3'

services:

  db:
    image: mysql
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: AspireAdmin

  webserver:
    image: php:apache
    volumes:
      - ./src:/var/www/html
    ports:
      - 24:80

  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    environment:
      PMA_PORT: 3306
      PMA_HOST: db
      PMA_USER: root
      PMA_PASSWORD: AspireAdmin
    ports:
    - "8004:80"
    restart: always
    depends_on: 
    - db

1 Ответ

0 голосов
/ 08 февраля 2019

Он не подключается, потому что ваши основные настройки нуждаются в некоторых корректировках. Вашему MYSQL нужны его основные настройки для правильного запуска.Затем вам нужно установить сетевой режим для моста (это заставит ваши контейнеры соединяться с собой с помощью container_name).Вот что я делаю в этом файле docker-compose:

version: "3"
services:
  db:
    image: mysql:5.7
    restart: always
    container_name: db
    environment:
      - MYSQL_ROOT_PASSWORD=rootpasswd
      - MYSQL_DATABASE=phpmyadmin
      - MYSQL_USER=user
      - MYSQL_PASSWORD=userpasswd
    networks:
      - db
    command: --default-authentication-plugin=mysql_native_password

  webserver:
    image: php:apache
    volumes:
      - ./src:/var/www/html
    ports:
      - 24:80

  phpmyadmin:
    image: phpmyadmin/phpmyadmin:4.7
    restart: always
    container_name: phpmyadmin
    ports:
      - 9090:80
    networks:
      - external-net
      - db
    environment:
      PMA_HOST: db
    depends_on:
      - db

networks:
  external-net:
    external:
      name: external-net
  db:
    driver: bridge

Я создал две сети, одну для внешнего доступа и другую для доступа к базе данных, поэтому, если вашему веб-серверу необходимо связаться сих, вам просто нужно добавить его в файл compose.После развертывания вы можете получить доступ к phpmyadmin с правами root: rootpasswd

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