Я хочу запустить сервер Dovecot в докере на моем сервере. Процесс демона запускается успешно, но всякий раз, когда я пытаюсь перезагрузить конфигурацию, перезапустить или остановить демон, я получаю следующую ошибку:
start-stop-daemon: warning: failed to kill X: Permission denied
Где X - PID процесса dovecot. Мне не удалось найти что-либо, что могло бы приблизиться к полученной мной ошибке.
Я запускаю процесс внутри контейнера докеров на основе следующей версии Linux:
Linux 3b71bd992d42 4.10.0-21-generic #23-Ubuntu SMP Fri Apr 28 16:14:22 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Образ докера определяется файлом Dockerfile в https://github.com/tomav/docker-mailserver.
Моя локальная конфигурация dovecot выглядит примерно так
disable_plaintext_auth = no
mail_privileged_group = mail
log_path = /var/log/dovecot.log
mail_location = mbox:/var/mail/%u
userdb {
driver = passwd
}
passdb {
args = %s
driver = pam
}
protocols = " imap"
protocol imap {
mail_plugins = " autocreate"
}
plugin {
autocreate = Trash
autocreate2 = Sent
autosubscribe = Trash
autosubscribe2 = Sent
}
service auth {
unix_listener /var/spool/postfix/private/auth {
group = postfix
mode = 0660
user = postfix
}
}
ssl=required
ssl_cert = < my pem certificate
ssl_key = < my private key
Запуск голубятни с /usr/sbin/dovecot -c myconfig
или service dovecot start
дает ту же ошибку, когда я запускаю /usr/sbin/dovecot reload
или service dovecot stop/restart
Как я это вижу, при перезагрузке / перезапуске / остановке dovecot пытается убить запущенный процесс, и в этом случае не может этого сделать. Первым делом я попытался убить этот процесс вручную, как root. Что дает мне ту же ошибку ... Итак, я проверил состояние процесса. Простой ps aux сообщает мне, что процесс dovecot находится в состоянии Ss.
root 1 0.0 0.0 18244 3380 ? Ss 08:47 0:00 /bin/bash
root 32 0.0 0.0 18036 2656 ? Ss 08:47 0:00 /usr/sbin/dovecot -c /etc/dovecot/dovecot.conf
dovecot 34 0.0 0.0 9520 1012 ? S 08:47 0:00 dovecot/anvil
root 35 0.0 0.0 9652 1056 ? S 08:47 0:00 dovecot/log
root 37 0.0 0.0 25300 4036 ? S 08:47 0:00 dovecot/config
root 64 0.0 0.0 34424 2884 ? R+ 08:57 0:00 ps aux
Я попытался посмотреть с помощью strace, что это за вызов блокировки, но, к сожалению, получил
root@3b71bd992d42:/# strace -d -p 32
strace: new tcb for pid 32, active tcbs:1
strace: ptrace_setoptions = 0x11
strace: PTRACE_SEIZE doesn't work
Еще одна ошибка, о которой я больше не знаю.
pstree
дает мне
bash-+-dovecot-+-anvil
| |-config
| `-log
`-pstree
Я немного озадачен всем этим, я действительно не знаю, что делать дальше, кроме того, чтобы попробовать совершенно другой образ, чем docker-mailserver, с новой установкой dovecot и посмотреть, исправит ли это ошибку. Но этого я бы хотел избежать. Я не первый раз запускаю сервер голубятни, но у меня никогда не было ничего подобного.