首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker 20.10.x使系统在关机或重新启动前等待数分钟

Docker 20.10.x使系统在关机或重新启动前等待数分钟
EN

Unix & Linux用户
提问于 2021-08-31 07:24:57
回答 1查看 3.6K关注 0票数 13

我已经成功地将我的Debian buster升级到了最新版本(Bullseye),在那之后,每当我想重新启动或关闭它时,都需要几分钟的时间才能完成,同时等待一些进程完成这些消息:

代码语言:javascript
复制
watchdog: watchdog0: watchdog did not stop!
systemd-shutdown[1]: Syncing filesystem and block devices.
systemd-shutdown[1]: Sending SIGTERM to remaining process...
systemd-journald[372]: Received SIGTERM from PID 1 (systemd-shutdown).
systemd-shutdown[1]: waiting for process: containerd-shim.

我的系统上安装了码头,这似乎是问题的原因。

代码语言:javascript
复制
$ ps aux | grep containerd-shim
root        3420  0.0  0.1 1451744 21876 ?       Sl   11:07   0:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id 0dd6b89a62d...66cc5c0a44b6f01d77c -address /run/containerd/containerd.sock

$ dpkg -S /usr/bin/containerd-shim-runc-v2 
containerd: /usr/bin/containerd-shim-runc-v2

$ aptitude why containerd
i   docker.io Depends containerd

在重新启动系统之前,我已经尝试过停止dockers的服务/套接字。什么都没变。

知道怎么解决这个问题吗?

代码语言:javascript
复制
$ docker version
Client:
 Version:           20.10.5+dfsg1
 API version:       1.41
 Go version:        go1.15.9
 Git commit:        55c4c88
 Built:             Wed Aug  4 19:55:57 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server:
 Engine:
  Version:          20.10.5+dfsg1
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.15.9
  Git commit:       363e9a8
  Built:            Wed Aug  4 19:55:57 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.5~ds1
  GitCommit:        1.4.5~ds1-2
 runc:
  Version:          1.0.0~rc93+ds1
  GitCommit:        1.0.0~rc93+ds1-5+b2
 docker-init:
  Version:          0.19.0
  GitCommit:        
EN

回答 1

Unix & Linux用户

发布于 2021-10-19 17:30:54

如果您使用的是实时恢复,那么这是一个已知的容器v2问题。固定在集装箱≥1.6.0-rc.2。搬到集装箱1.5.10。固定在码头发动机20.10.13。

解决办法:

  1. 使用shim v1代替v2,或者为特定的容器码头运行指定运行时--运行时=io.tainerd.runtime.v1.linux ...`,或者设置一个系统范围的默认运行时# cat /etc/ docker /daemon.json {“默认-运行时”:“io.cuerd.runtime.v1.linux”,“live-还原”:true }警告:shim v1被取消,并将在下一个Docker发行版中被删除。警告:shim v1不适用于cgroup v2
  2. 使用systemd服务在重新启动/关机# /etc/systemd/system/containerd-shim-v2-workaround.service Description= Before=docker.service Requires=containerd.service After=containerd.service Type=oneshot RemainAfterExit=yes ExecStop=-/bin/sh -c‘而出0之前杀死容器;ctr -n moby任务ls -q xargs -r -L1 ctr -n moby任务清除;ctr -n moby容器ls -q xargs -r ctr -n moby containers rm’WantedBy=containerd.service在moby问题线程下发布此消息。但这可能并不适合每个用例。请谨慎使用。
票数 9
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/666963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档