Ошибка Docker Mailhog с Docker django: [Errno 111] Connection refused
У меня есть 2 контейнера, запущенных через docker-compose, один с Django, другой с Mailhog. Но когда я отправляю почту через Django python manage.py runserver
, можно отправить, если я запускаю docker-compose up
, когда я отправляю почту, возвращается эта ошибка:
[Errno 111] Соединение отказано
Мой docker-compose это:
services:
mailhog:
image: mailhog/mailhog
logging:
driver: 'none' # disable saving logs
ports:
- 1025:1025 # smtp server
- 8025:8025 # web ui
networks:
- my_net
api:
build: .
container_name: my_api
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/src
ports:
- '8000:8000'
env_file:
- '.env'
depends_on:
- mailhog
networks:
- my_net
networks:
my_net:
Мой файл env имеет следующий вид:
EMAIL_HOST = '0.0.0.0'
EMAIL_PORT = '1025'
EMAIL_HOST_USER = ''
EMAIL_HOST_PASSWORD = ''
Что мне делать?
Нашел, пришлось изменить 2 вещи:
1- изменил мой docker-compose, добавив имя_контейнера к контейнеру mailhog и связав api с mailhog
services:
mailhog:
image: mailhog/mailhog
container_name: mailhog
logging:
driver: 'none' # disable saving logs
ports:
- 1025:1025 # smtp server
- 8025:8025 # web ui
networks:
- my_net
api:
build: .
container_name: my_api
command: python manage.py runserver 0.0.0.0:8000
volumes:
- .:/src
ports:
- '8000:8000'
env_file:
- '.env'
depends_on:
- mailhog
networks:
- my_net
links:
- 'mailhog'
networks:
my_net:
2- и изменил мой EMAIL_HOST на имя_контейнера докера
EMAIL_HOST = 'mailhog'
EMAIL_PORT = '1025'
EMAIL_HOST_USER = ''
EMAIL_HOST_PASSWORD = ''