Что может быть причиной этой ошибки?mysqli_real_connect (): php_network_getaddresses: getaddrinfo не удалось: имя не разрешается - PullRequest
0 голосов
/ 19 мая 2018

Я пытаюсь сдержать наше приложение cakephp 3.Я также пытаюсь использовать изображение phpmyadmin и подключить его к изображению mysql, но когда я пытаюсь войти в phpmyadmin, я получаю сообщение об ошибке на этой странице.

mysqli_real_connect(): php_network_getaddresses: getaddrinfo failed: Name does not resolve
mysqli_real_connect(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: Name does not resolve

Я не уверен, что не так с моим кодом.Я надеюсь, что вы можете помочь.Вот мой Dockerfile:

 FROM php:7.1.5-apache

RUN apt-get update && apt-get install -y \
       libicu-dev \
       libpq-dev \
       libmcrypt-dev \
       mysql-client \
       git \
       zip \
       unzip \
      && rm -r /var/lib/apt/lists/* \
      && docker-php-ext-configure pdo_mysql --with-pdo-mysql=mysqlnd \
      && docker-php-ext-install \
        intl \
        mbstring \
        mcrypt \
        pcntl \
        pdo_mysql \
        pdo_pgsql \
        pgsql \
        zip \
        opcache

RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin/ --filename=composer

ENV APP_HOME /var/www/html

RUN usermod -u 1000 www-data && groupmod -g 1000 www-data

RUN sed -i -e "s/html/html\/webroot/g" /etc/apache2/sites-enabled/000-default.conf

RUN a2enmod rewrite

COPY . $APP_HOME

RUN composer install --no-interaction

RUN chown -R www-data:www-data $APP_HOME

CMD ["apache2", "-DFOREGROUND"]

, а вот мой файл docker-compose.yml:

version: '2'
services:
 cakeblog:
   build: .
   ports:
     - "4000:80"
   depends_on:
     - mysql
   links:
     - mysql
   volumes:
     - ".:/var/www/html/"
   environment:
     - SECURITY_SALT=ashg4543323dd3434343434dsddet556kk
     - MYSQL_URL=mysql
     - MYSQL_USERNAME=root
     - MYSQL_PASSWORD=test
 mysql:
   image: mysql:5.7
   container_name: phpmyadmin_mysql
   volumes:
     - mysql_data:/var/lib/mysql
   environment:
     - MYSQL_ROOT_PASSWORD=test
     - MYSQL_DATABASE=cakeblog
 phpmyadmin:
   image: phpmyadmin/phpmyadmin
   container_name: phpmyadmin
   links:
     - mysql:db
   depends_on: 
     - mysql
   ports:
     - "8080:80"
   environment:
     - PMA_ARBITRARY=1
     - TESTSUITE_PASSWORD=test
volumes:
   mysql_data:

1 Ответ

0 голосов
/ 20 мая 2018

Причиной этой проблемы может быть неправильное место для спецификации образа MySQL в файле docker-compose.yml.

Попробуйте с этим.

version: '2'
services:
  mysql:
  image: mysql:5.7
  container_name: phpmyadmin_mysql
  volumes:
    - mysql_data:/var/lib/mysql
  environment:
    - MYSQL_ROOT_PASSWORD=test
    - MYSQL_DATABASE=cakeblog
  cakeblog:
    build: .
    ports:
      - "4000:80"
    depends_on:
      - mysql
    links:
      - mysql
    volumes:
      - ".:/var/www/html/"
    environment:
      - SECURITY_SALT=ashg4543323dd3434343434dsddet556kk
      - MYSQL_URL=mysql
      - MYSQL_USERNAME=root
      - MYSQL_PASSWORD=test
  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    container_name: phpmyadmin
    links:
      - mysql:db
    depends_on: 
      - mysql
    ports:
      - "8080:80"
    environment:
      - PMA_ARBITRARY=1
      - TESTSUITE_PASSWORD=test
volumes:
  mysql_data:
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...