
저는 우분투 16.04.3을 실행하고 있습니다.
호스트의 smtp(접미사)를 사용하여 이메일을 보내도록 도커 컨테이너를 구성했습니다. 이것이 작동하려면 postfix의 main.cf 파일에 docker 네트워킹을 추가해야 했습니다. 문제는 postfix가 docker보다 먼저 시작되고 네트워크가 존재하지 않는다는 오류를 발생시킨다는 것입니다. 이는 docker.service가 아직 시작되지 않았기 때문에 사실이므로 무시됩니다.
postfix에 기본 시스템 서비스 단위 파일이 있는 경우 docker.service가 필요하도록 만들지만 postfix에는 시작 중에 systemd가 서비스 단위로 변환하는 SysV 스크립트가 있습니다.
문제는 postfix를 docker 시작에 종속되게 만드는 방법입니다. 또는 더 일반적으로, 기본 시스템 서비스 단위 파일이 없는 서비스가 기본 시스템 서비스 단위 파일이 있는 서비스에 종속되도록 하려면 어떻게 해야 합니까?
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
그리고 거기에$all키보드에 따르면 문서에 따르면 이 서비스는 다른 모든 서비스 다음에 시작되도록 표시되어야 하지만 이 "다른 모든 서비스"는 모든 시스템 서비스입니까, 아니면 단지 sysV 스크립트 서비스입니까?
고쳐 쓰다
환경 $allpostfix SysV의 필수 시작으로 문제가 해결되지 않았습니다.