Вы можете увидеть, существует ли уже докер-контейнер для вашего программного обеспечения (теперь он известен как GNU Octave). Вы сохраняете контейнер образ на USB-устройстве и запускаете его. Фактически он будет использовать вашу основную файловую систему для хранения запущенного экземпляра и виртуальной файловой системы. Чтобы иметь возможность использовать этот контейнер с вашим домашним каталогом, вы должны проинструктировать docker о привязке-монтировании вашего домашнего тома во время создания контейнера.
Да. Соответствующий код находится вsb_prepare_remount_readonly
(для Linux 4.0, код может быть организован иначе в других версиях ). Логика такова:
MNT_WRITE_HOLD
). EBUSY
).Зарегистрированные модули записи — это файлы, открытые для записи, а также текущие операции по записи метаданных (mkdir
, chmod
и т. д. ). Проверьте вызовы mnt_want_write
, где увеличивается количество зарегистрированных писателей.
Конструкция системы гарантирует, что перемонтирование только для чтения -является барьером для регистрации записи. :Если оно завершается успешно, зарегистрированный модуль записи отсутствует, в частности, в данный момент не может быть открытого для записи файла. операции перемонтирования. После перемонтирования ни один файл не может быть открыт для записи, так что файла, открытого для записи, по-прежнему нет.