如何在 openFOAM 的 docker 版本中挂载卷
Posted
技术标签:
【中文标题】如何在 openFOAM 的 docker 版本中挂载卷【英文标题】:How to mount volumes in docker release of openFOAM 【发布时间】:2016-10-31 01:21:42 【问题描述】:我正在运行 openFOAM 的 docker 版本。在运行 openFOAM 时,我无法访问在 /mnt
中设置的任何卷。我跑步时可以看到它们:
bash-4.1$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 29.8G 0 disk
|-sda1 8:1 0 200M 0 part
|-sda2 8:2 0 500M 0 part
`-sda3 8:3 0 29.1G 0 part
`-luks-c551009c-5ab5-4526-85fa-45105a445734 (dm-0)
253:0 0 29.1G 0 crypt
|-korora_a00387863--6-root (dm-1) 253:1 0 26.1G 0 lvm /etc/passwd
`-korora_a00387863--6-swap (dm-2) 253:2 0 3G 0 lvm
sdb 8:16 0 465.8G 0 disk
|-sdb1 8:17 0 137.9G 0 part
|-sdb2 8:18 0 158.7G 0 part
`-sdb3 8:19 0 169.2G 0 part
sdg 8:96 1 15G 0 disk
loop0 7:0 0 100G 0 loop
`-docker-253:1-265037-pool (dm-3) 253:3 0 100G 0 dm
`-docker-253:1-265037-10f82f41512f788ec85215e8764cd3c5b0973d548fe4db2fcbcbaf50db6a4b9c (dm-4)
253:4 0 10G 0 dm /
loop1 7:1 0 2G 0 loop
`-docker-253:1-265037-pool (dm-3) 253:3 0 100G 0 dm
`-docker-253:1-265037-10f82f41512f788ec85215e8764cd3c5b0973d548fe4db2fcbcbaf50db6a4b9c (dm-4)
253:4 0 10G 0 dm /
但是,这些都没有出现在/dev
中,所以我不知道如何安装我想要的卷。似乎有比每次使用 openFOAM 时手动安装卷更好的解决方案。欢迎任何想法,我不了解 docker 文档。
【问题讨论】:
【参考方案1】:您还没有向我们确切说明“在/mnt
中设置的卷”是什么意思,因此在这个答案中会有很多猜测,而您实际上正在尝试做什么。
如果您尝试在您的 主机 上安装块设备并使其在您的 容器 中可用,通常的做法是:
将设备安装在主机上的某个位置(例如,/mnt
)
使用docker run
的-v
参数在容器内公开该挂载点,如下所示:
docker run -v /mnt/volume1:/volume1 alpine sh
上述命令行会将主机上的/mnt/volume1
暴露为容器内的/volume1
。
如果您发现您经常使用相同的卷集运行同一个容器,并且您厌倦了冗长的命令行,只需将 docker run
命令放到 shell 脚本中,或者考虑使用类似 @987654329 的命令@ 帮助实现自动化。
【讨论】:
对不起,我不明白。我有一个带有三个分区的第二个硬盘驱动器,这些分区自动设置为挂载在 /mnt 中,并且只想在我处于 openFOAM 时能够访问它们。我真的不明白 docker - openFOAM 是容器吗?当我运行该命令时,我得到: docker: Error parsing reference: "/mnt/volume1" is not a valid repository/tag。我真的不知道我在做什么......以上是关于如何在 openFOAM 的 docker 版本中挂载卷的主要内容,如果未能解决你的问题,请参考以下文章