如何在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