当前位置: 首页 > 知识库问答 >
问题:

如何检查docker守护进程是否正在运行?

韩弘阔
2023-03-14

我正在尝试创建一个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的输出,但是我只是想知道是否有一种更有效的方法来处理我的伪代码。

如果(docker未运行)

          run docker

结束

P、 我不是linux专家,我只需要在自己的环境中使用这个工具。

共有3个答案

胡景澄
2023-03-14

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

你可以做:

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

用docker启动命令替换< code>echo命令。

盖和泰
2023-03-14

这在乌班图上对我有用

$ systemctl status docker
浦琪
2023-03-14

我编写了一个小脚本(Mac Osx),通过检查<code>Docker stats<code>的退出代码来确保Docker正在运行。

#!/bin/bash
#Open Docker, only if is not running
if (! docker stats --no-stream ); then
  # On Mac OS this would be the terminal command to launch Docker
  open /Applications/Docker.app
 #Wait until Docker daemon is running and has completed initialisation
while (! docker stats --no-stream ); do
  # Docker takes a few seconds to initialize
  echo "Waiting for Docker to launch..."
  sleep 1
done
fi

#Start the Container..
 类似资料:
  • 问题内容: 我正在尝试创建一个bash实用程序脚本以检查我的服务器中是否正在运行docker守护进程。除了运行这样的代码之外,还有没有更好的方法来检查docker守护进程是否正在我的服务器中运行? 我想创建一个bash shell脚本,该脚本将检查我的docker守护程序是否正在运行。如果它正在运行,则什么也不做,如果没有,则启动docker守护程序。 我的伪代码是这样的。我正在考虑解析ps -e

  • 问题内容: [Updated1]我有一个外壳,它将在某些功能中更改TCP内核参数,但是现在我需要使该外壳在Docker容器中运行,这意味着,该外壳需要知道它在容器内运行并停止配置内核。 现在我不确定如何实现,这是容器内部的内容: 我可以使用上面的任何标志来确定此过程是否在容器内运行吗? [Updated2]:我还注意到确定进程是否在lxc/Docker中运行,但在这种情况下似乎不起作用,我容器中的

  • 问题内容: 我已经在ubuntu 14.04上安装了docker,它告诉我安装成功。然后我进入,它返回了 我进入了 我尝试了和,得到了相同的答复: 我不知道为什么它返回了这个,我尝试使用来拉ubuntu 并得到了 请告诉我如何解决此问题,如何拉出并运行docker image。和是一样的吗? 问题答案: 您需要将当前用户添加到组中,如下所示: 另外,您可以使用以下环境变量: 然后重新启动系统。正如

  • 在脚本中,我需要检查: a)docker引擎是否正在运行? b)给定一个容器名称,该docker容器是否正在运行? “这个问题最初的措辞模棱两可,有人解释为”检查docker引擎“,也有人解释为”检查docker容器“”

  • 我有Microsoft Windows 10 Pro版本10.0.19041n/a Build 19041,我按照以下步骤https://docs.Microsoft.com/en-us/Windows/wsl/install-win10使用WLS2在上面安装Ubuntu 20.04 LTS,我按照以下步骤安装Dockerhttps://docs.docker.com/engine/install

  • 问题内容: 我已经安装了Ubuntu和Docker。我正在尝试启动Raik容器: 并得到错误信息: 似乎尚未设置环境变量DOCKER_HOST。除非已正确设置,否则无法启动Riak群集。例如: 导出DOCKER_HOST =“ tcp://127.0.0.1:2375” 如果我设置 我所有其他容器都停止工作并说,那找不到Docker守护程序。 看起来我的Docker damon使用的不是2375端