Как смонтировать тома в Docker-выпуске openFOAM

Я запускаю докерскую версию openFOAM. Во время работы 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. Любые идеи приветствуются, я не понимаю докерскую документацию.

1 ответ

Вы не показали нам точно, что вы подразумеваете под "объемами, установленными в /mnt", так что в этом ответе будет много догадок с тем, что вы на самом деле пытаетесь сделать.

Если вы пытаетесь смонтировать блочные устройства на своем хосте и сделать их доступными в вашем контейнере, обычно вы поступите следующим образом:

  • Смонтируйте устройство где-нибудь на вашем хосте (например, в /mnt)
  • Использовать -v аргумент docker run выставить эту точку монтирования внутри контейнера, как в:

    docker run -v /mnt/volume1:/volume1 alpine sh
    

    Приведенная выше командная строка /mnt/volume1 на хосте как /volume1 внутри контейнера.

Если вы обнаружите, что часто запускаете один и тот же контейнер с одним и тем же набором томов, и вам надоели длинные командные строки, просто отбросьте docker run Команда в сценарий оболочки, или рассмотреть возможность использования чего-то вроде docker-compose чтобы помочь автоматизировать вещи.

Другие вопросы по тегам