Как это работает, когда общая папка Docker выбрасывает экземпляры. Следует ли рассматривать одновременную модификацию контейнеров с одним файлом?

По сути, у нас должен быть только один поток для записи одного файла. Но в среде докеров должны ли мы позаботиться об одновременной проблеме с общим файлом?

Выходят две проблемы,

  1. Как Docker поддерживает общие тома. Как выполняется синхронизация файлов между экземплярами.
  2. Поддерживает ли докер одновременную запись в общий файл.

1 ответ

В идеале вам следует вообще избегать обмена файлами между контейнерами. Это особенно плохо работает в средах с несколькими хостами, таких как Docker Swarm или Kubernetes: нет "синхронизации файлов между экземплярами". Лучше всего общаться между контейнерами с помощью четко определенного сетевого API, чаще всего HTTP.

Если у вас есть несколько контейнеров на одном хосте, которые монтируют один и тот же контент, Docker здесь не предоставляет никакой специальной поддержки. Он действует так же, как если бы у вас было несколько процессов на одном хосте, обращающихся к одному и тому же физическому файлу. Вы несете ответственность за реализацию блокировки файлов и других механизмов синхронизации.

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