У меня есть приложение, которое отправляет электронную почту и требует, чтобы smtp работал на порту 25. Для которого я создал другой контейнер и сопоставил порт 25 от хоста к контейнеру.
Это не очень хорошо работало, так как продолжало выбрасыватьследующая ошибка
ERROR: for smtp Cannot start service smtp: driver failed programming external connectivity on endpoint push_smtp_1 (25f260f6185dd34cfdb8fb9956c28187028aaca4d850d7a73acc4c2180c55696): Error starting userland proxy: Bind for 0.0.0.0:25: unexpected error (Failure EADDRINUSE)
Не уверен, что здесь может быть не так, следуя другим постам, я попытался перезапустить докер-клиент, а также убедился, что на порту 25 больше ничего не работает1008 * Дайте мне знать, если я что-то здесь упускаю.
Вторая часть этого вопроса - что такое идеальный способ работы с сервером SMTP.
Если в контейнере приложения будет создан сервер smtp.Наткнулся на этот блог http://www.tothenew.com/blog/setting-up-sendmail-inside-your-docker-container/
Если нет (1), то лучше создать контейнер smtp и сопоставить порты. Так, в чем причина получения вышеуказанной ошибки.
Ниже показано, как мой докер-композитор:
version: '3'
services:
push:
image: emailService
ports:
- "9602:9602/tcp"
networks:
- default
build:
context: ./
dockerfile: Dockerfile
args:
- "TARGET=build"
depends_on:
- gearmand
- smtp
smtp:
image: catatnight/postfix:latest
ports:
- "25:25"
networks:
- default
gearmand:
image: <path>/<to>/gearmand:latest
ports:
- "4730:4730/tcp"
networks:
- default
Спасибо!