2017-02-03 5 views
0

Я устанавливаю постфиксный сервер из докеров, а затем развертываю его в openshift. На моем локальном сервере-докере-контейнере постфикс-сервер начинает нормально работать и может отправлять электронную почту, но не работает на Openshift.
Часть моего Dockerfile:Postfixhift postfix server не запущен

RUN DEBIAN_FRONTEND=noninteractive apt-get install -y postfix 
RUN sed -i 's/relayhost.*/relayhost = <my.mail.host>/g' /etc/postfix/main.cf 
RUN sed -i 's/myhostname.*/myhostname = <my.domain.name>/g' /etc/postfix/main.cf 
RUN sed -i 's/smtp  inet n  -  -  -  -  smtpd/2525  inet n  -  n  -  -  smtpd/g' /etc/postfix/master.cf 

А потом в entrypoint.sh я перезапустить сервер с помощью:

/etc/init.d/postfix restart 

Это прекрасно работает на моем местном и я получаю тестовое сообщение. Однако на консоли ОС он не запускается. Когда я вошел в терминал и попытался запустить сервер там я получаю сообщение об ошибке:

postfix: error: to submit mail, use the Postfix sendmail command 
postfix: fatal: the postfix command is reserved for the superuser 

Там нет других журналов, создаваемых в /вар/Журнал/MAILLOG

Любой ключ, где я должен смотреть?

+0

Как насчет остальной части вашего файла Docker? То, что вы опубликовали, не указывает на то, что проблема. –

ответ

0

Когда вы запускаете изображение докеров на локальном компьютере, оно работает как root.

Это проблема с безопасностью, и по умолчанию это запрещено в OpenShift. Или, если быть более конкретным, это зависит от вашей конфигурации кластера OpenShift, если вы можете запускать что-то как root.

Я не уверен, что вы можете запускать постфикс без привилегий суперпользователя, поэтому может быть невозможно запустить его в OpenShift, не делая свой контейнер привилегированным. Вы можете попробовать эту конфигурацию: OpenShift Origin: Enable dockerhub images that require root

Смежные вопросы