当 Docker 启动时,Amazon Linux 17.09 init.d 脚本未启动

当 Docker 启动时,Amazon Linux 17.09 init.d 脚本未启动

我可能遗漏了一些非常愚蠢的东西,但是有人知道为什么当 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 启动时触发 upstart 服务。本质上,我想执行这个帖子,但无需编辑 docker init.d 脚本。毕竟,自动编辑其他人的 init.d 脚本似乎是破坏事物的好方法。

我已确保权限与 中的所有其他内容相匹配/etc/init.d/,它已添加chkconfig --add replicated-docker,并显示在 中service --status-all

当然,当我手动或通过运行脚本时,它可以起作用sudo service replicated-docker start

答案1

我猜仅仅将脚本添加到 /etc/init.d/ 是不够的,需要在相关的 /etc/rcx.d/ 中引用它。

相关内容