重新装载集装箱流畅的配置

时间:2017-08-03 18:42:03

标签: docker fluentd

假设我的容器名为fluentd,我希望此命令重新加载配置:

sudo docker kill -s HUP fluentd

相反,它会杀死容器。

似乎从入口点产生了一些进程:

PID   USER     TIME   COMMAND
1 root       0:00 {entrypoint.sh} /usr/bin/dumb-init /bin/sh /bin/entrypoint.sh /bin/sh -c fluentd -c /fluentd/etc/${FLUENTD_CONF} -p /fluentd/pl
5 root       0:00 /bin/sh /bin/entrypoint.sh /bin/sh -c fluentd -c /fluentd/etc/${FLUENTD_CONF} -p /fluentd/plugins $FLUENTD_OPT
13 fluent     0:00 /bin/sh -c fluentd -c /fluentd/etc/${FLUENTD_CONF} -p /fluentd/plugins $FLUENTD_OPT
14 fluent     0:00 {fluentd} /usr/bin/ruby /usr/bin/fluentd -c /fluentd/etc/fluentd.conf -p /fluentd/plugins
16 fluent     0:00 {fluentd} /usr/bin/ruby /usr/bin/fluentd -c /fluentd/etc/fluentd.conf -p /fluentd/plugins

尝试从容器pid 13内部进行HUPping,它似乎有效。

Docker正在向入口点发送信号。如果我检查State.Pid,我看到4450.这是主机ps:

root      4450  4432  0 18:30 ?        00:00:00 /usr/bin/dumb-init /bin/sh /bin/entrypoint.sh /bin/sh -c fluentd -c 
/fluentd/etc/${FLUENTD_CONF} -p /fluentd/plugins $FLUENTD_OPT
root      4467  4450  0 18:30 ?        00:00:00 /bin/sh /bin/entrypoint.sh /bin/sh -c fluentd -c /fluentd/etc/${FLUENTD_CONF} -p /fluentd/plugins $FLUENTD_OPT
ubuntu    4475  4467  0 18:30 ?        00:00:00 /bin/sh -c fluentd -c /fluentd/etc/${FLUENTD_CONF} -p /fluentd/plugins $FLUENTD_OPT
ubuntu    4476  4475  0 18:30 ?        00:00:00 /usr/bin/ruby /usr/bin/fluentd -c /fluentd/etc/fluentd.conf -p /fluentd/plugins
ubuntu    4478  4476  0 18:30 ?        00:00:00 /usr/bin/ruby /usr/bin/fluentd -c /fluentd/etc/fluentd.conf -p /fluentd/plugins

如何在没有自定义脚本的情况下重新加载conf以找到正确的HUP进程?

1 个答案:

答案 0 :(得分:0)

此命令应该起作用我相信

sudo docker exec fluentd pkill -1 -x fluentd

我在流畅的容器里面对睡眠命令进行了测试,它可以工作。