我想运行一个在Docker容器中使用MPI的python应用程序。
为此,我需要安装openmpi
模块。
通常,我会安装openmpi-devel
并运行
模块加载mpi
之后。
但是在docker容器中运行它却给我错误:
/ bin / sh:模块:找不到命令
在this stackoverflow question中,我发现这与Docker通常没有的内核权限有关。 通过使用其他特权运行Docker解决了该问题:
docker run-v / lib / modules:/ lib / modules --privileged --cap-add = ALL
这仍然会导致相同的错误。
仅当我启动交互式会话并在其中调用module load mpi
时,此方法才起作用,因为此时已装入卷/lib/modules
。
很好,但是我想使它自动化。
有人知道如何解决此问题并在docker中使用mpirun
吗?
我的Docker映像
FROM fedora:latest
RUN dnf -y update
RUN dnf -y install python python-pip openmpi-devel
RUN module load mpi