📌  相关文章
📜  如何测试 docker 是否从引导运行 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:24:51.676000             🧑  作者: Mango

如何测试 Docker 是否从引导运行

有时候,在开发或者维护 Docker 镜像或者容器时,我们需要确保 Docker 是否从引导运行了。这个过程非常重要,因为如果 Docker 没有从引导运行,可能会导致 Docker 容器的故障或者不稳定性。下面是几种测试 Docker 是否从引导运行的方法。

1. 检查 Docker PID

使用下面的命令检查 Docker 是否从引导运行:

$ ps aux | grep dockerd

如果 Docker 从引导运行,你应该会看到类似下面的输出:

root      2898  0.0  0.1 4085988 16948 ?       Ssl  14:32   0:00 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

在上面的输出中,2898 是 Docker 的 PID。如果你没有看到上面的输出,可以确认 Docker 没有从引导运行。

2. 检查 Docker 服务状态

使用下面的命令检查 Docker 服务状态:

$ systemctl status docker

如果 Docker 从引导运行,你应该会看到类似下面的输出:

● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2021-05-21 15:28:51 UTC; 39min ago
     Docs: https://docs.docker.com
 Main PID: 2684 (dockerd)
    Tasks: 13
   Memory: 49.4M
   CGroup: /system.slice/docker.service
           ├─2684 /usr/bin/dockerd -H fd://
           └─2713 docker-containerd --config /var/run/docker/containerd/containerd.toml

May 21 15:28:51 ubuntu systemd[1]: Starting Docker Application Container Engine...
May 21 15:28:51 ubuntu dockerd[2684]: time="2021-05-21T15:28:51.587337252Z" level=warning msg="Your kernel does not support cgroup cpuset"
May 21 15:28:51 ubuntu dockerd[2684]: time="2021-05-21T15:28:51.587778516Z" level=warning msg="Your kernel does not support cgroup rt period"
May 21 15:28:51 ubuntu dockerd[2684]: time="2021-05-21T15:28:51.588174157Z" level=warning msg="Your kernel does not support cgroup rt runtime"
May 21 15:28:51 ubuntu dockerd[2684]: time="2021-05-21T15:28:51.593202834Z" level=info msg="Loading containers: start."
May 21 15:28:51 ubuntu dockerd[2684]: time="2021-05-21T15:28:51.761050174Z" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon option --bip can be used to set a preferable IP address"
May 21 15:28:51 ubuntu dockerd[2684]: time="2021-05-21T15:28:51.790122744Z" level=info msg="Loading containers: done."
May 21 15:28:51 ubuntu dockerd[2684]: time="2021-05-21T15:28:51.824269409Z" level=info msg="Docker daemon" commit=afacb8b7f0 graphdriver(s)=overlay2 version=19.03.15
May 21 15:28:51 ubuntu dockerd[2684]: time="2021-05-21T15:28:51.828029540Z" level=info msg="Daemon has completed initialization"
May 21 15:28:51 ubuntu systemd[1]: Started Docker Application Container Engine.

在上面的输出中,Active: active (running) 表示 Docker 当前正在运行。如果你没有看到上面的输出,可以确认 Docker 没有从引导运行。

3. 检查 Docker 是否自动启动

使用下面的命令检查 Docker 是否自动启动:

$ systemctl is-enabled docker

如果 Docker 自动启动了,你应该会看到类似下面的输出:

enabled

如果你没有看到上面的输出,可以确认 Docker 没有从引导运行。

总结

这篇文章介绍了几种测试 Docker 是否从引导运行的方法,包括检查 Docker PID、检查 Docker 服务状态和检查 Docker 是否自动启动。如果你遇到了 Docker 容器的故障或者不稳定性,可以使用这些方法检查 Docker 是否从引导运行。