使用 docker 和 openfoam 在 /mnt 上安装 sdb

Posted

技术标签:

【中文标题】使用 docker 和 openfoam 在 /mnt 上安装 sdb【英文标题】:mounting sdb on /mnt using docker and openfoam 【发布时间】:2017-05-29 08:01:18 【问题描述】:

我最近在 2016 年 10 月在此站点上发现了题为“如何在 openFOAM 的 docker 版本中挂载卷”的帖子。该帖子自动询问 通过 Docker 版本的 openfoam 安装已安装的(在 bash 或 csh 下)卷。希望下面会对此进行解释。

我的情况是csh下,lsblk的输出是:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sdb      8:16   0   1.8T  0 disk /mnt/hdd
sda      8:0    0 111.8G  0 disk 
├─sda2   8:2    0     1K  0 part 
├─sda5   8:5    0   7.9G  0 part [SWAP]
└─sda1   8:1    0 103.9G  0 part /

然后我运行脚本startOpenFOAM+,也就是下面的 Bash shell 脚本:

#!/bin/bash
# this script will
#   i) Start  OpenFOAM+ container with name 'of_v1612_plus'
#  in the  the shell-terminal.
#  User also need to run xhost+ from other terminal
#  Note: Docker daemon should be running before launching script
#  PostProcessing: User can launch paraview/paraFoam from terminal
#  to postprocess the results
#  Note: user can launch script in different  shell to have OpenFOAM
#  working environment in different terminal
xhost +local:of_v1612_plus
docker start  of_v1612_plus
docker exec -it of_v1612_plus /bin/bash -rcfile /opt/OpenFOAM/setImage_v1612+

我被转储到 Bash shell 中,lsblk 的输出现在是:

bash-4.1$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sdb      8:16   0   1.8T  0 disk 
sda      8:0    0 111.8G  0 disk 
|-sda2   8:2    0     1K  0 part 
|-sda5   8:5    0   7.9G  0 part [SWAP]
`-sda1   8:1    0 103.9G  0 part /etc/sudoers.d

我想问题的答案是将docker run -v .... 行添加到startOpenFOAM+ shell 脚本中。但是,我不确定用什么替换这些点以及在哪里放置命令。

任何帮助将不胜感激。

谢谢,

彼得。

【问题讨论】:

【参考方案1】:

如果我理解,你需要这个:

docker run -v /mnt/hdd:/mnt/hdd .....

但是你没有显示你在哪里docker run,如果你找到了,那就加上-v

重要提示:关于sdb,您不会在容器内看到带有lsblk 的挂载点,因为docker 挂载的是一个目录,而不是一个设备。您只会在 /mnt/hdd 中看到内容

【讨论】:

以上是关于使用 docker 和 openfoam 在 /mnt 上安装 sdb的主要内容,如果未能解决你的问题,请参考以下文章

如何在 openFOAM 的 docker 版本中挂载卷

无法运行 OpenFOAM docker 镜像

HTCondor 与 OpenFOAM

如何在 Docker 窗口中打开 paraView

OpenFoam:在 polyMesh 文件夹中找不到 blockMeshDict 文件

在 Mac OS 上安装 OpenFoam