收起左侧

临时解决docker重启策略问题

3
回复
1130
查看
[ 复制链接 ]

1

主题

13

回帖

0

牛值

江湖小虾

2025-1-10 18:35:56 显示全部楼层 阅读模式

[i=s] 本帖最后由 llxx 于 2025-1-10 18:44 编辑 [/i]<br /> <br />

问题

自公测没多久就发现docker的重启策略restart unless-stopped不起作用,就算设置了重启后设置为unless-stopped容器都255退出,无法自启动。

经过对比飞牛的docker服务文件

/etc/systemd/system/docker.service

与原版服务文件

/lib/systemd/system/docker.service

后发现多了一行 ExecStop=/bin/sh -c "docker stop --time 3 $(docker ps -a -q)"

意为停止docker服务时强制3秒内关闭所有容器,也就是相当于关机时手动关闭了容器,那开机时自然不会自启动容器,因为你手动关闭了容器,而且是强制关闭的

解决方案

关闭docker服务和开机自启 web与ssh二选一

web

屏幕截图2025-01-10181807.png

关闭docker服务和开机自启

ssh

sudo systemctl stop docker.service && sudo systemctl disable docker.service

同上web关闭docker服务和开机自启效果

更改配置文件

然后进ssh编辑 /etc/systemd/system/docker.service文件,

注释这一行 ExecStop=/bin/sh -c "docker stop --time 3 $(docker ps -a -q)"

如下图 #ExecStop=/bin/sh -c "docker stop --time 3 $(docker ps -a -q)"

屏幕截图2025-01-10182019.png

打开docker服务和开机自启

最后web界面打开docker服务和开机自启

或者ssh执行

sudo systemctl enable docker.service && sudo systemctl start docker.service

注意就目前看来,每次升级版本后都得重新来一遍,因为更新后docker.service都会被覆盖会默认

结束

后面重启设备后重启策略restart设置为unless-stopped的容器已可以自启,完美解决。

我记得我在公测没多久就反馈过这个问题,也提出了解决法案,不知为何没有修复。

还有改完之后可能会导致关机变慢,原因是docker容器不再是原来强制3秒关闭,会逐个慢慢关闭,docker容器关闭时间会影响你的关机速度。

收藏
送赞 4
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

2

主题

5

回帖

0

牛值

fnOS系统内测组

2025-1-11 00:09:49 显示全部楼层
感谢感谢。困扰好久了,没去研究它,敬佩大佬钻研精神!

0

主题

7

回帖

0

牛值

江湖小虾

2025-3-3 15:45:34 显示全部楼层
有用,但是没有。

0

主题

7

回帖

0

牛值

江湖小虾

2025-3-3 15:46:17 显示全部楼层
因为几乎每次重启都是因为系统升级。建议官方尽快修复!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则