Почему не удалось установить соединение с хостом на Symfony и Mailhog на Docker

У меня есть это исключение, я отправил почту через Symfony SwiftMailer:

Exception occurred while flushing email queue: Connection could not be established with host 127.0.0.1 :stream_socket_client(): unable to connect to 127.0.0.1:1025 (Connection refused)

Я могу получить доступ к интерфейсу Mailhog. Контейнер поднят, и порты кажутся открытыми и готовыми.

См. ниже мой докер-композитор для Mailhog:

version: '3'
services:
    mailhog:
        restart: always
        image: mailhog/mailhog:latest
        container_name: mailhog
        ports:
            - 1025:1025
            - 8025:8025
        volumes:
            - /var/run/docker.sock:/tmp/docker.sock:ro

И моя конфигурация env почтовой программы Swift:

MAILER_TRANSPORT=smtp
MAILER_HOST=127.0.0.1
MAILER_PORT=1025
MAILER_USER=null
MAILER_PASSWORD=null

Почему я не могу получить доступ к Mailhog SMTP?

Я думаю, что это исходит от Docker, но как я могу быть уверен? Что я пропустил?

Вы пробовали использовать localhost в качестве хоста?

Nico Haase 14.12.2020 21:45
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
0
1
1 668
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Для хоста вы должны использовать имя службы вместо 127.0.0.1.

MAILER_HOST=mailhog

Ответ принят как подходящий

Чтобы решить проблему:

Вместо 127.0.0.1 => MAILER_HOST=mailhog, как сказал Артем.

И добавить:

external_links:
            - mailhog

В ваш контейнер в файле docker-compose.yml всех проектов.

Другие вопросы по теме