Соглашение с точки зрения базовой технологии файловой системы, по-видимому, заключается в использовании решений для блочного хранения, таких как Cinder, BGFS и т. д. (которые могут использовать Ceph, iSCSI и другие типы блочных файлов) или объектного хранилища, такого как Minio.
Такие решения помогают легко управлять базовым дисковым пространством, а также учитывают неявную потребность в распределенных файловых системах.
Это зависит от вариантов использования, и NFS идеально подходит для случаев, когда производительность не имеет значения, например для записи файлов. Таким образом, контейнер wikijs был бы идеальным кандидатом для NFS, чтобы запись пользовательского контента могла оставаться отдельной от контейнера.
В чем преимущества блочных хранилищ для контейнеров, так это в простоте развертывания в быстрых циклах создания-уничтожения.Как и типичный вариант использования.
Опять же, если вы используете много-много контейнеров с неопределенным сроком службы (например, я использую Nextcloud, Heimdall, pihole и т. д.), то решения для блочного хранения также могут предоставить вам более гибкую схему. Мне нравится идея использования блочного хранилища в этом сценарии, поскольку диск и файловая система обрабатываются приложением/контейнером, а не зависят от внешних факторов. Это может быть или не быть проблемой в реальном мире, но я могу предположить, что могут возникнуть потенциальные проблемы с NFS из-за этих причин или, более конкретно, из-за меньшего количества компромиссов с решением для блочного хранения.
Наконец, и мне нужно это подтвердить, отслеживание томов, связанных с каждым контейнером, само по себе становится задачей. Эти решения для блочного хранения могут обеспечить аккуратный и управляемый способ отслеживать это в циклах создания-уничтожения для резервного копирования и восстановления.