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

标签 python docker sdk swarm

为了使用如下命令:

client.nodes

我们需要在作为集群内管理器的机器上运行 python 代码。但是我应该如何启动 python 程序呢?

在 docker 机器上没有任何东西可以安装 python,我认为尝试这样做不是一个好主意。

如果你在容器中启动 python,那么你就不在 swarm 上下文中。

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

但现在我需要在 Ubuntu 上执行此操作,所以我无法使用此解决方案。

(如果有类似的 Docker Quickstart Terminal,我感兴趣)

最佳答案

我终于找到了使用来自管理器节点之一的docker守护进程的套接字的解决方案。

在 docker-compose 中,为 Python 创建一个服务并添加以下卷:

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

不要忘记添加约束以使您的服务仅在管理器节点上运行。

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

关于python - 如何在 swarm 上下文中使用 docker python SDK?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44113195/

相关文章:

python - 在pyspark中加载大于内存的hdf5文件

mysql docker容器以固定ip启动

iphone - 要将 iPhone 应用程序提交到应用程序商店,我们在所有情况下都需要自己的服务器吗?

java - 尝试为 onKeyDown 事件创建自己的方法(Android)

python - 您可以为 abspath 设置 cwd 吗?

python - 如何在 Python 中模拟字典

python - 无法在 uwsgi + nginx 部署下使用 tensorflow 模型

docker - 带有自托管 Ubuntu 机器 : docker fails 的 Azure DevOps

Android Verilook 嵌入式 SDK 集成

python - 在 matplotlib 图例中插入图像