为了使用如下命令:
client.nodes
我们需要在一个机器上运行python代码,这是一个swarm中的管理器。但我怎么想推出python程序?
没有什么可以在docker机器上安装python,我不认为尝试这样做是个好主意。
如果你在一个容器中启动python,你就不会处于群体环境中。
我发现的唯一方法是在Windows的Docker Quickstart终端中启动python程序,然后默认使用#39; Swarm中的机器管理器。
但现在我需要在Ubuntu上进行,所以我无法使用此解决方案。
(如果有相当于Docker Quickstart Terminal的话,我很感兴趣)
答案 0 :(得分:1)
我终于使用来自其中一个管理器节点的docker守护程序的套接字找到了解决方案。
在docker-compose中,为Python创建一个服务并添加以下卷:
volumes:
- /var/run/docker.sock:/var/run/docker.sock
不要忘记添加约束,以使您的服务仅在管理器节点上运行。
deploy:
mode: replicated
replicas: 1
placement:
constraints:
- node.role == manager