Python 查找docker守护进程是否正在运行
我需要从Python代码中执行,以查看docker`daemon是否独立运行OSPython 查找docker守护进程是否正在运行,python,Python,我需要从Python代码中执行,以查看docker`daemon是否独立运行OS 有可能实现吗?否则,也可以读取操作系统并分别为每个平台执行 如果是某个linux系统,我会尝试启动systemctl status docker来检查服务是否正在运行 要使此平台独立,您可以调用某些docker函数,这些函数需要docker守护进程像docker ps那样运行。当守护进程运行时,它应该返回正在运行的进程表,否则它将显示以下消息: 无法连接到位于的Docker守护程序unix:///var/run/d
有可能实现吗?否则,也可以读取操作系统并分别为每个平台执行 如果是某个linux系统,我会尝试启动
systemctl status docker
来检查服务是否正在运行
要使此平台独立,您可以调用某些docker函数,这些函数需要docker守护进程像docker ps
那样运行。当守护进程运行时,它应该返回正在运行的进程表,否则它将显示以下消息:
无法连接到位于的Docker守护程序unix:///var/run/docker.sock. 是
docker守护进程正在运行吗
要启动此命令,请使用子流程库中的Popen。关于运行命令和检索输出,您可以阅读。我有一个部分解决方案,其中我检查docker守护程序是否正在使用bash脚本运行,如果没有,python代码将使其运行
docker.sh
#!/usr/bin/env bash
#!/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
echo "docker daemon is open for the local machine"
done
fi
#Start the Container.
现在从Python代码和OS X检查守护进程是否正在运行
# check if the docker daemon is running in os x and if not run it
if(os.name == "posix"):
subprocess.call("bin/docker.sh", shell=True)
我需要从Python代码(而不是终端)运行它。我提供了一个只在MacOS(atm)中工作的解决方案。请注意,
systemctl
仅在linux/Yes中有效,但您也可以在python中运行terminal命令。仔细阅读答案的结尾。我没有看到最后一行。。。很抱歉但是您可以使用Python代码提供完整的答案。