如何在swarm上下文中使用docker python SDK?

为了使用像这样的命令:

client.nodes 

我们需要在一个群体中的经理机器上运行python代码。 但我想如何启动python程序?

在Docker机器上没有安装python的东西,我不认为这是一个好主意,试着继续下去。

如果你在一个容器中启动python,你不在swarm上下文中。

我发现的唯一方法是在Docker的Docker Quickstart Terminal中启动python程序,并在Swarm中创build“默认”机器pipe理器。

但是现在我需要在Ubuntu上这样做,所以我不能使用这个解决scheme。

(如果有一个相当于Docker Quickstart Terminal的话,我很感兴趣)

我终于find了从pipe理器节点之一使用docker守护进程套接字的解决scheme。

在docker-compose里面,为你的Python创build一个服务并添加下面的卷:

 volumes: - /var/run/docker.sock:/var/run/docker.sock 

不要忘记添加一个约束,以使您的服务只能在pipe理器节点上运行。

 deploy: mode: replicated replicas: 1 placement: constraints: - node.role == manager