Как подключить Symfony4 к mysql с помощью докера - PullRequest
0 голосов
/ 09 декабря 2018

Я пытаюсь подключить (локальная разработка) symfony4 к БД в докере, это контейнер докера

83d1b68ce44a        cytopia/mariadb-10.1:latest      "/docker-entrypoint.…"   3 days ago          Up About an hour    0.0.0.0:3306->3306/tcp                       devilbox_mysql_1

web работает и полностью настроен, я не понимаю, какой хост мне следует использоватьв файле .env.

спасибо

Ответы [ 3 ]

0 голосов
/ 09 декабря 2018

В зависимости от использования вы должны попробовать разные подходы.Если вы НЕ используете docker_compose.yml, попробуйте ввести имя хоста 0.0.0.0:3306, но в случае файла Docker, например, this (он предназначен для Moodle, но выполняет свою работу).

Такв последнем случае я использую имя service в качестве имени хоста, чтобы выполнить работу.Обычно я использую подход docker-compose.yml для настройки моей рабочей среды.

Также имейте в виду, что docker-compose.yml также использует для конфигурации файл .env, что также может привести к конфликту.

0 голосов
/ 10 декабря 2018

DATABASE_URL=mysql://user:password@mariadb:3306/databaseName

В этом примере «mariadb» является псевдонимом контейнера.

0 голосов
/ 09 декабря 2018

Вы связали порт 3306 с хостом, поэтому мы должны указать Symfony использовать этот порт.Мы должны использовать адрес 127.0.0.1, потому что с localhost, MySQL пытается подключиться через сокет .

Таким образом, вы должны получить что-то вроде этого:

DATABASE_URL=mysql://USER:PASSWORD@127.0.0.1:3306/DATABASE_NAME

Возможно, вам потребуется настроить доступ к MariaDB:

doctrine:
    dbal:
        # configure these for your database server
        driver: 'pdo_mysql'
        server_version: 'mariadb-10.2'

См. Тип MariaDB 10.0 JSON с symfony 4

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...