Я использую приложение, размещенное в контейнере докеров. Это приложение выполняет сценарии / инструкции bash для отправки писем. Я сделал еще один контейнер, который выполняет Postfix как SMTP Relay.
Я хочу отправлять почту из контейнера моего приложения с помощью сценария bash, используя мой контейнер Postfix в качестве ретранслятора.
Я попытался подключиться по SSH из контейнера моего приложения к контейнеру Postfix. Но, похоже, это не работает.
Как я могу сделать так, чтобы сценарий, выполняемый в моем контейнере приложения, мог использовать мой ретранслятор Postfix, не разрешая при этом ничего за пределами сети докеров, или, что еще лучше, разрешать только некоторым контейнерам отправлять почту с этого ретранслятора.
РЕДАКТИРОВАТЬ 1: файлы для создания докеров
Докер приложения составляет:
version: "3.4"
volumes:
[...]
services:
application:
restart: always
build: ./application
depends_on:
- mariadb
container_name: application
volumes:
[...]
ports:
- "80:80"
- "443:443"
- "5669:5669"
deploy:
restart_policy:
window: 300s
links:
- mariadb
external_links:
- smtp-server
mariadb:
restart: always
image: mariadb
command: mysqld --sql-mode=ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
container_name: application-mariadb
volumes:
[...]
environment:
MYSQL_RANDOM_ROOT_PASSWORD: "yes"
deploy:
restart_policy:
window: 300s
Вот мой докер для моего SMTP-сервера: версия: "3.4"
services:
postfix:
restart: always
build: ./postfix
container_name: smtp-server
deploy:
restart_policy:
window: 300s