Невозможно связать symfony контейнер приложения с mysql контейнером - PullRequest
0 голосов
/ 18 марта 2020

У меня есть буксируемые контейнеры, один с symfony приложением , а другой - mysql сервер базы данных:

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                               NAMES
99d17c328612        sbc/gestcom:1.0     "docker-php-entrypoi…"   18 hours ago        Up 2 minutes        0.0.0.0:4400->80/tcp                musing_moser
97dafcfb4acd        mysql               "docker-entrypoint.s…"   18 hours ago        Up 2 minutes        0.0.0.0:3306->3306/tcp, 33060/tcp   suspicious_brattain

I связанный mysql контейнер с symfony contianer, например, так:

docker container run -d -p 4400:80 --link suspicious_brattain:db sbc/gestcom:1.0

suspicious_brattain : это имя mysql контейнера
sbc / gestcom: 1.0 : это имя созданного мной образа, содержащего мое приложение symfony (с apache, php и драйвером pdo, необходимыми для работы с mysql)
Теперь, когда я получаю доступ к symfony контейнер приложения для запуска doctrine:database:create Я получаю это исключение:

В AbstractMySQLDriver. php строка 93:

Исключительная ситуация в драйвере: SQLSTATE [HY000] [ 2002] Соединение отказано

Это parameters.yml файл:

parameters:
    database_host: 127.0.0.1
    database_port: 3306
    database_name: my_database
    database_user: root
    database_password: root

Конечно, я дал root в качестве пароля для mysql образа при его запуске как: Итак:

docker container run -e MYSQL_ROOT_PASSWORD=root -d mysql

И чтобы быть уверенным, что контейнер symfony связан с контейнером mysql, я получаю это при проверке контейнера symfony:

...
"Links": [
    "/suspicious_brattain:/musing_moser/db"
],
...
* 1 041 * Как вы видите, они связаны, однако я все еще не могу создать свою базу данных с помощью команды symfony, и я получаю Connection refused!

1 Ответ

1 голос
/ 18 марта 2020

Вы не должны пытаться подключиться к 127.0.0.1, но к db.

При связывании контейнеров в контейнере создается запись /etc/hosts *, чтобы сделать конфигурация удобнее.

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