容器内的 Systemd 无法停止服务

问题描述 投票:0回答:0

我正在尝试在容器内使用

systemd

systemd
图像中的版本:systemd-239-68.el8.x86_64

Docker 主机:CentOS Linux release 7.9.2009 (Core)

systemd
docker 主机上的版本:systemd-219-78.el7_9.5.x86_64

容器启动命令:

docker run -d -ti --tmpfs /tmp --tmpfs /run --tmpfs /var/tmp --shm-size=2g --stop-signal SIGRTMIN+3 --stop-timeout 60 --cap-add SYS_ADMIN --cap-add SYS_RAWIO --cap-add SYS_TIME --cap-add SYS_PTRACE --device /dev/mem:/dev/mem -v /sys/fs/cgroup:/sys/fs/cgroup:ro 8da964337568 / usr/sbin/初始化

有了这个,我们间歇性地看到以下错误:

rabbitmq-server.service:状态“stop-sigterm”超时。杀戮。

my-auth.service:状态“stop-final-signterm”超时。杀戮。

这需要 90 秒的默认超时时间才能停止,之后服务将被终止。关于如何调试这个的任何想法?我们也不是每次都看到这个,它是断断续续的。

我知道在 systemd 中有解决方法来添加

TimeoutStopSec
,但我们想避免这种情况。

docker centos systemd rhel rocky-os
© www.soinside.com 2019 - 2024. All rights reserved.