#docker #kubernetes
Вопрос:
Я монтирую AWS efs filesystem
докер в /var/lib/и использую его в качестве резервной файловой системы докера по умолчанию. Драйвер хранилища есть overlay2
. Я вижу в документах, которые поддерживает только xfs and ext
overlay2 . Моя цель состоит в том, чтобы смонтировать эту резервную файловую систему на нескольких компьютерах, чтобы все эти машины имели данные изображения, но многократное монтирование не поддерживается aws ebs(будучи ext4 и поддерживаемой резервной копией fs от overlay2). Один из способов может заключаться в том, чтобы перенести изображения ext4 fs
и cp
данные изображений в efs, но это займет слишком много времени. Что может быть еще одним способом сделать это?
Комментарии:
1. Я не думаю, что вы вообще можете делиться
/var/lib/docker
между машинами.2. Я просто хочу прочитать данные /var/lib/docker(на efs) на этих машинах. Он не будет выступать в качестве каталога по умолчанию для демона docker на этой машине.
3. Мне просто нужна одна машина, которая может записывать данные в efs
/var/lib/docker
и выступать в качестве docker-демона по умолчанию для этой конкретной машины.
Ответ №1:
Короткий ответ — «не делай этого», потому /var/lib/docker
что он не предназначен для совместного использования несколькими демонами. Вы найдете условия гонки, ошибочные данные о сетях и контейнерах, которые не существуют локально, и другие ошибки, которые не будут исправлены/поддержаны.
Вместо этого поместите реестр рядом с вашим кластером, в том же VPC/AZ, и попросите ваши узлы извлечь его из этого кластера. Или посмотрите на работу, проделанную для поддержки estargz во время выполнения, например, containerd, который может запустить контейнер до того, как слои будут полностью удалены.