如何跨不同主机上的多个 docker 容器运行 mpirun 命令

问题描述 投票:0回答:1

设置说明:

  1. N 个主机包含相同的启用 mpi 的 docker (openmpi) 映像。
  2. 每个主机包含一个图像

目标:

  • 在所有其他主机上的其中一台主机上的 docker 容器中执行包含对 mpirun(通过 subprocess.run)的调用的 python 脚本,以便进程将在其他主机上的 docker 容器内运行。例如,如果我有 3 个主机,则将从第一个主机中的 docker 容器内启动 python 脚本(该容器将有一个包含其他 2 个主机的 IP 地址的主机文件)

问题1:

  • 如何确保 mpirun 命令实际上在其余主机上的 docker 容器内执行
  • 使用具有网络覆盖的 docker swarm 是否是此设置的正确方法以及具体应该如何完成?
  • 启动器 Docker 容器内的主机文件中应包含什么 IP 地址(其他主机的 IP 地址或覆盖网络的地址)
python docker mpi docker-swarm openmpi
1个回答
0
投票
  • 实现此目的的一种方法是创建一个运行命令的集群模式复制作业。然后,每次需要执行新命令时,python 脚本都会执行
    docker service update --args <new command>
    并且新命令将在每个作业上执行。
  • 与此解决方案无关
  • 与此解决方案无关
© www.soinside.com 2019 - 2024. All rights reserved.