Как исправить проблемы с MySQL с помощью Prestashop Cli Installer в контейнере Docker - PullRequest
0 голосов
/ 21 января 2019

Я использую docker-compose для настройки нескольких экземпляров Prestashop.Проблема в том, что когда я пытаюсь запустить файл установщика cli install/index_cli.php, происходит сбой со следующим сообщением об ошибке:

Link to database cannot be established: SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known

Внутри php-скриптов моего веб-сервера соединение с сервером mysql работает без сбоев.Сбой только в установщике cli.

Я также проверил соединение mysql, запустив, что сработало, как и ожидалось:

$ docker exec -it 7f1a160c88d8 php -r '$mysqli = new mysqli("mysql", "root", "classroot", "prestaclassroom"); if ($mysqli->ping()) { printf ("Our connection is ok!\n");}'

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

version: '3'
services:
    apache2:
        build: ./phpdocker/php-apache-dev
        env_file:
            - ".env"
        volumes:
            - .:/app
        ports:
            - 8000:80
            - 8443:443
        depends_on:
            - mysql
    mysql:
        image: mysql:5
        container_name: ${MYSQL_HOST}
        restart: always
        env_file:
            - ".env"
        environment:
            - MYSQL_DATABASE=${MYSQL_DATABASE}
            - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
            - MYSQL_USER=${MYSQL_USER}
            - MYSQL_PASSWORD=${MYSQL_PASSWORD}
        ports:
          - "8989:3306"
        volumes:
          - ./data/db/mysql:/var/lib/mysql
    myadmin:
        image: phpmyadmin/phpmyadmin
        container_name: phpmyadmin
        ports:
            - "8080:80"
        environment:
            - PMA_ARBITRARY=1
            - PMA_HOST=${MYSQL_HOST}
        restart: always
        depends_on:
            - mysql

Вы также можете увидеть полный исходный код проекта по адресу: https://github.com/fitforecommerce/presta-classroom

Любая помощь в запуске установщика cli приветствуется!

Cheers Martin

...