Каковы последствия экспорта/var/lib/docker через NFS? Идея состоит в том, чтобы хранить изображения докеров на сервере и экспортировать их на узлы с ограниченной памятью для хранения и запуска контейнеров. Это было бы полезно избежать того, чтобы каждый хост загружал и хранил его собственную библиотеку изображения докеров. Хост может использовать FS-Cache для ограничения передачи данных по сети.Последствия публикации/var/lib/docker через NFS для обслуживания хостов с ограниченной памятью
1
A
ответ
1
Каталог /var/lib/docker
предназначен для исключительного доступа к одному демону и должен никогда не использовать несколькими демонами.
Наличие нескольких демонами одного и того же /var/lib/docker
может привести ко многим проблемам и возможному повреждению данных.
Например, демон хранит состояние в памяти, изображения которого используются (контейнерами), а какие нет; несколько демонов, использующих это изображение, не будут отслеживать это (изображение может быть использовано другим демоном) и удалять изображение во время его использования.
Docker также хранит различные файлы в /var/lib/docker
, такие как хранилище ключей/значений для пользовательских сетей, которое не предназначено для одновременного доступа несколькими демонами.
Цените оперативный ответ. – koshyg
Последующий вопрос о вашем ответе. Разве не хорошо разделять слои и состояния слоев в докере-демонах, чтобы несколько демонов могли обмениваться изображениями, а не загружать их каждый раз при запуске контейнеров того же типа в отдельном демоне? Иными словами, поддерживает ли докер какие-либо функции для обмена загруженными изображениями через демоны, запущенные на разных хостах? – koshyg
Нет, докер не поддерживает общее хранилище графов, в основном по причинам выше (изображение, которое не используется на одном хосте, все еще можно использовать на другом хосте); есть экспериментальный Suppprt для сторонних плагинов драйверов памяти, хотя; см. https://github.com/docker/docker/blob/aabe39be01c70318af57159b235a4ddd8781051b/experimental/plugins_graphdriver.md, например, вот плагин драйвера ceph; https://github.com/hustcat/docker-graph-driver – thaJeztah