我运行的是 Ubuntu 16.04.3。
我已配置 docker 容器使用主机的 smtp(后缀)发送电子邮件。为了使其工作,我必须将 docker 网络添加到 postfix 的 main.cf 文件中。问题是 postfix 在 docker 之前启动并抛出有关网络不存在的错误,这是真的,因为 docker.service 尚未启动,因此忽略它。
如果 postfix 有一个原生的 systemd 服务单元文件,我只会让它需要 docker.service,但是 postfix 有 SysV 脚本,systemd 在启动过程中将其转换为服务单元。
问题是,如何使 postfix 依赖于 docker 的启动?或者更一般地说,我如何使没有本机 systemd 服务单元文件的服务依赖于有本机 systemd 服务单元文件的服务。
我确实看到了可以在 SysV 脚本中使用的几个“关键字”:
### BEGIN INIT INFO
# Provides: my-service
# Required-Start: $local_fs $network $remote_fs
# Required-Stop: $local_fs $network $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start and stop service my-service
# Description: my-service blah blah ...
### END INIT INFO
并且有一个$全部键盘,根据文档,应该将此服务标记为在其他所有服务之后启动,但这“其他所有服务”是所有 systemd 服务还是只有 sysV 脚本的服务吗?
更新
环境 $全部postfix SysV 的必需启动并没有解决我的问题。