Docker. Не работает MySQL + phpMyAdmin

Имееться Docker образ с установленным phpMyAdmin и MySQL, проблема заключается в следующем, а именно: Все контейнеры запускаются правильно и корректно, но у phpMyAdmin нет доступа к базе данных MySQL, так же нет доступа сторонними приложениями по типу HeidiSQL и прочими ПУ для баз данных.

Мой Docker-compose:

    version: "3.7"

networks:
  serve.network:
    driver: bridge

services:
  php:
    build: ./docker/php
    restart: always
    tty: true
    container_name: serve.php
    depends_on:
    - mysql
    # - postgres
    # - redis
    # - mariadb
    networks:
      - serve.network
    ports:
      - "9000:9000"
    volumes:
      - .:/var/www/app.dev

  nginx:
    build: ./docker/nginx
    container_name: serve.nginx
    restart: always
    tty: true
    depends_on:
      - php
      - mysql
      # - postgres
      # - redis
      # - mariadb
    ports:
      - "80:80"
      - "433:433"
    volumes:
      - .:/var/www/app.dev
    networks:
      - serve.network

  # apache:
  #   build: ./docker/apache
  #   restart: always
  #   container_name: serve.apache
  #   networks:
  #     - serve.network
  #   depends_on:
  #     - php
  #     # - mysql
  #     # - postgres
  #     # - redis
  #     # - mariadb
  #   ports:
  #     - "80:80"
  #     - "443:443"
  #   volumes:
  #     - .:/var/www/app.dev

  #mariadb:
  #  image: mariadb
  #  tty: true
  #  restart: always
  #  container_name: serve.mariadb
  #  networks:
  #    - serve.network
  #  ports:
  #    - '3307:3307'
  #  volumes:
  #    - './docker/mysql/config/mariadb.cnf:/etc/mysql/conf.d/custom.cnf:ro'
  #    - './docker/mysql/dbdata:/var/lib/mysql'
  #  environment:
  #    - MYSQL_PASSWORD=root
  #    - MYSQL_ROOT_PASSWORD=root
  #    - MYSQL_DATABASE=development

  mysql:
    build: ./docker/mysql
    tty: true
    restart: always
    container_name: serve.mysql
    networks:
      - serve.network
    ports:
      - "3306:3306"
    volumes:
      - "./docker/mysql/config/mysql.cnf:/etc/mysql/conf.d/custom.cnf:ro"
      - "./docker/mysql/dbdata:/var/lib/mysql"
    environment:
      - MYSQL_PASSWORD=root
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=development

  phpmyadmin:
    image: library/phpmyadmin
    container_name: serve.phpmyadmin
    tty: true
    networks:
      - serve.network
    depends_on:
      - mysql
    ports:
      - '8080:80'

  #postgres:
  #  build: ./docker/postgres
  #  container_name: serve.postgres
  #  tty: true
  #  restart: always
  #  networks:
  #    - serve.network
  #  ports:
  #    - "5432:5432"
  #  volumes:
  #    - "./docker/postgres/dbdata:/var/lib/postgresql/data"
  #  environment:
  #    - POSTGRES_USER=root
  #    - POSTGRES_PASSWORD=root
  #    - POSTGRES_DB=development

  #redis:
  #  image: bitnami/redis:latest
  #  restart: always
  #  tty: true
  #  container_name: serve.redis
  #  volumes:
  #    - ./docker/redis:/bitnami/redis/data
  #  networks:
  #    - serve.network
  #  environment:
  #    - ALLOW_EMPTY_PASSWORD=no
  #    - REDIS_PASSWORD=root
  #  ports:
  #    - "6379:6379"

В phpMyAdmin следующие ошибки:

mysqli::real_connect(): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution

mysqli::real_connect(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution

И так же console log:

skeleton-docker.phpmyadmin  | 172.21.0.1 - - [13/Aug/2021:11:07:06 +0000] "POST /index.php?route=/ HTTP/1.1" 200 6270 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36"
skeleton-docker.mysql       | 2021-08-13 11:07:24+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
skeleton-docker.mysql       | 2021-08-13 11:07:24+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.26-1debian10 started.
skeleton-docker.mysql       | mysqld: [Warning] World-writable config file '/etc/mysql/conf.d/custom.cnf' is ignored.
skeleton-docker.mysql       | 2021-08-13T11:07:25.457419Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.26) starting as process 1
skeleton-docker.mysql       | 2021-08-13T11:07:25.497090Z 0 [Warning] [MY-010159] [Server] Setting lower_case_table_names=2 because file system for /var/lib/mysql/ is case insensitive
skeleton-docker.mysql       | 2021-08-13T11:07:25.630180Z 1 [System] [MY-011012] [Server] Starting upgrade of data directory.
skeleton-docker.mysql       | 2021-08-13T11:07:25.630672Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
skeleton-docker.mysql       | 2021-08-13T11:07:27.215387Z 1 [ERROR] [MY-012224] [InnoDB] Tablespace flags are invalid in datafile: ./ibdata1, Space ID:0, Flags: 21. Please refer to http://dev.mysql.com/doc/refman/8.0/en/innodb-troubleshooting-datadict.html for how to resolve the issue.
skeleton-docker.mysql       | 2021-08-13T11:07:27.215837Z 1 [ERROR] [MY-012237] [InnoDB] Corrupted page [page id: space=0, page number=0] of datafile './ibdata1' could not be found in the doublewrite buffer.
skeleton-docker.mysql       | 2021-08-13T11:07:27.221093Z 1 [ERROR] [MY-012930] [InnoDB] Plugin initialization aborted with error Data structure corruption.
skeleton-docker.mysql       | 2021-08-13T11:07:27.581384Z 1 [ERROR] [MY-011013] [Server] Failed to initialize DD Storage Engine.
skeleton-docker.mysql       | 2021-08-13T11:07:27.587860Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
skeleton-docker.mysql       | 2021-08-13T11:07:27.588403Z 0 [ERROR] [MY-010119] [Server] Aborting
skeleton-docker.mysql       | 2021-08-13T11:07:27.597417Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.26)  MySQL Community Server - GPL.

У меня нет большого опыта работы с Docker, но похоже ни у одного контейнера нет доступа к самой базе данных из-за чего phpMyAdmin не может к ней подключиться. В чем может быть причина и как её исправить?


Ответы (0 шт):