Назад | Перейти на главную страницу

Сценарий init.d Amazon Linux 17.09 не запускается при запуске Docker

Возможно, мне не хватает чего-то действительно глупого, но кто-нибудь знает, почему этот сценарий инициализации не запускается при запуске Docker в Amazon Linux 17.09?

#!/bin/sh

### BEGIN INIT INFO
# Provides:          replicated-docker
# Required-Start:    docker
# Required-Stop:     docker
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: send upstart signal after starting docker
# Description:       docker needs to run before some upstart services can run
### END INIT INFO

_status() {
    printf "replicated-docker: %s, %s, %s\n" \
        "$(initctl status replicated)" \
        "$(initctl status replicated-ui)" \
        "$(initctl status replicated-operator)"
}

case "$1" in
    start|restart|reload)
        initctl emit replicated-docker --no-wait
    ;;

    stop)
    ;;

    status)
        _status
    ;;

    *)
        printf "Usage: /etc/init.d/replicated-docker {start|stop|status|reload|restart}\n"
        exit 1
    ;;
esac

exit 0

Цель здесь - запускать службу-выскочку при запуске Docker. По сути, я хотел бы сделать то, что описано в эта почта, за исключением того, что вам не нужно редактировать скрипт docker init.d. В конце концов, автоматическое редактирование чужого скрипта init.d кажется отличным способом сломать ситуацию.

Я убедился, что разрешения соответствуют всем остальным в /etc/init.d/, он был добавлен с помощью chkconfig --add replicated-docker, и появляется в service --status-all.

И, конечно же, он работает, когда я запускаю скрипт вручную или через sudo service replicated-docker start.

Я думаю, просто добавить скрипт в /etc/init.d/ недостаточно, на него нужно ссылаться в соответствующем /etc/rcx.d/.