mei*_*luk 5 systemd docker 18.04
问题:每次我重新启动或关闭时,由于 systemd 试图停止 Docker 应用程序引擎,我必须等待任意分钟数。
系统:
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"docker --version 给 Docker version 18.09.0-ce-tp5, build 9eb3d36systemctl --version 给 systemd 237
+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybriddocker container ls --all什么也没显示)。行为:单击“关闭”或“重新启动”按钮后,GUI 关闭并显示带有旋转图标的 xubuntu 徽标。按Esc,我对 systemd 服务状态屏幕表示欢迎。仅出现 2-3 行(如下图所示),然后我必须等待任意长的时间(积极观察 1 分钟到 25 分钟之间的值)。因为我不能保证 systemd 很快就会终止,所以我通常使用硬件按钮来关闭我的机器。出现此问题是因为我的系统上安装了 docker。
[ OK ] Started Show Plymouth Power Off Screen.
[ *] A stop job is running for Docker Application Container Engine (14s / no limit)[ OK ] Started Show Plymouth Power Off Screen.
[ ** ] A stop job is running for Docker Application Container Engine (24min 27s / no limit)
Run Code Online (Sandbox Code Playgroud)
问题:如何让 docker 优雅地停止?
小智 1
我偶尔会遇到这个问题,但我不确定为什么 docker 挂起。但我发现,在 docker-ce 部署的服务文件中,超时被明确设置为无限制:
$ grep Timeout /lib/systemd/system/docker.service
TimeoutSec=0
Run Code Online (Sandbox Code Playgroud)
为了避免长时间挂起,我TimeoutStopSec在覆盖中设置了参数:
$ sudo systemctl edit docker.service
Run Code Online (Sandbox Code Playgroud)
添加以下行:
[Service]
TimeoutStopSec=300
Run Code Online (Sandbox Code Playgroud)
然后重新加载:
$ sudo systemctl daemon-reload
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2083 次 |
| 最近记录: |