Я использую 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