我正在使用官方的Docker SDK for Python,但我找不到该命令的等效内容:
docker node ps <machine_name>
它存在吗?
我想知道是否有办法显示节点上运行的每个任务,而无需使用节点上的过滤器获取每个服务的每个任务,并根据结果构建列表。
编辑:
在我的情况下,我想获得'docker node ps'命令的NAME列。
使用以下代码我将获取在特定计算机上运行的每个任务的服务名称(因此NAME列没有索引以在副本之间产生差异)
client = docker.from_env()
def dockerNodePs(machine_name):
return [s.attrs['Spec']['Name'] for s in client.services.list()
for _ in s.tasks({'node': machine_name,
'desired-state': 'Running'})]
它与'docker node ps'结果不匹配,但它几乎是我所需要的。所以我发布它是为了帮助其他人面对同样的问题。
答案 0 :(得分:0)
确实如此,link to the documentation。
使用以下内容获取所有管理器节点...
public void getAllDir(File dir) {
String pdfPattern = ".pdf or .txt or .jpg etc..";
File listFile[] = dir.listFiles();
if (listFile != null) {
for (int i = 0; i < listFile.length; i++) {
if (listFile[i].isDirectory()) {
getAllDir(listFile[i]);
} else {
if (listFile[i].getName().endsWith(pdfPattern)){
//Do what ever u want
}
}
}
}
}
and call this function like
getAllDir(Environment.getExternalStorageDirectory());