一尘不染

如何检查docker daemon是否正在运行?

docker

我正在尝试创建一个bash实用程序脚本以检查我的服务器中是否正在运行docker守护进程。除了运行这样的代码之外,还有没有更好的方法来检查docker守护进程是否正在我的服务器中运行?

ps -ef | grep docker
root      1250     1  0 13:28 ?        00:00:04 /usr/bin/dockerd --selinux-enabled
root      1598  1250  0 13:28 ?        00:00:00 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --shim docker-containerd-shim --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --runtime docker-runc
root     10997 10916  0 19:47 pts/0    00:00:00 grep --color=auto docker

我想创建一个bash shell脚本,该脚本将检查我的docker守护程序是否正在运行。如果它正在运行,则什么也不做,如果没有,则启动docker守护程序。

我的伪代码是这样的。我正在考虑解析ps -ef的输出,但我只是想知道是否有一种更有效的方式来执行伪代码。

如果(泊坞窗未运行)

          run docker

结束

PS:我不是Linux专家,我只需要在自己的环境中执行此实用程序即可。


阅读 1574

收藏
2020-06-17

共1个答案

一尘不染

pgrep几乎在所有Linux系统上都有一个实用程序。

您可以这样做:

pgrep -f docker > /dev/null || echo "starting docker"

echo命令替换为docker startup命令。

2020-06-17