У меня есть docker-compose.yml
и Dockerfile
, которые создают контейнеры для приложения в Symfony 2.8.
Контейнеры называются: webserver
(Nginx), app
(Symfony) и db
(MySql).
Когда я создаю контейнеры, я могу легко получить доступ к bash приложения и запустить доктрину php app / console: migrations: migrate.Все работает отлично.
Я хотел бы вставить команду в Dockerfile
, например, так:
RUN cd /var/www && php app/console doctrine:migrations:migrate
, но, когда она достигает этой точки, она просто возвращает:
[Doctrine\DBAL\Exception\ConnectionException]
An exception occured in driver: SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known
[Doctrine\DBAL\Driver\PDOException]
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known
[PDOException]
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known
[PDOException]
PDO::__construct(): php_network_getaddresses: getaddrinfo failed: Name or service not known
doctrine:migrations:migrate [--write-sql] [--dry-run] [--query-time] [--allow-no-migration] [--configuration [CONFIGURATION]] [--db-configuration [DB-CONFIGURATION]] [--db DB] [--em EM] [--shard SHARD] [--] [<version>]
ERROR: Service 'app' failed to build: The command '/bin/sh -c cd /var/www && php app/console doctrine:migrations:migrate' returned a non-zero code: 1
В чем может быть проблема?Он работает после того, как я получаю доступ к bash в контейнере, но не автоматически из сценария.