Я установил среду разработки с Symfony и MariaDB через docker.
Я взял там изображение битмана / symfony:
https://hub.docker.com/r/bitnami/symfony
Это мой docker -compose.yaml
version: '2'
services:
myapp:
image: 'bitnami/symfony:1'
ports:
- '8000:8000'
volumes:
- '.:/app'
environment:
- SYMFONY_PROJECT_NAME=backend
- MARIADB_PORT_NUMBER=3306
- MARIADB_USER=root
container_name: symfony_container
depends_on:
- mariadb
mariadb:
image: 'bitnami/mariadb:10.3'
ports:
- '3306:3306'
environment:
- ALLOW_EMPTY_PASSWORD=yes
- MARIADB_USER=root
container_name: mariadb_container
Важная строка в .env файле :
DATABASE_URL=mysql://root:@localhost:3306/
Мой doctrine .yaml file:
doctrine:
dbal:
url: '%env(resolve:DATABASE_URL)%'
server_version: '5.7'
orm:
auto_generate_proxy_classes: true
naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware
auto_mapping: true
mappings:
App:
is_bundle: false
type: annotation
dir: '%kernel.project_dir%/src/Entity'
prefix: 'App\Entity'
alias: App
Теперь, если я запускаю docker -составляем , оба контейнера запускаются, и я могу получить доступ к Symfony.
НО, если я пытаюсь создать сущность с:
php bin/console make:entity
, я получаю четыре следующие ошибки:
An exception occurred in driver: SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution
PDO::__construct(): php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolution
Странно то, что я могу получить доступ к базе данных MariaDB через dbeaver без проблем. Кажется, что контейнеру Symfony не удалось найти контейнер MariaDB.
Я уточню, что я использую symfony версию 5.0.4
Если кто-нибудь знает, где эти ошибки исходить буду благодарен