Изменения, внесенные в каталог, монтируемый на связывание, отражаются между хостом / контейнером, но не между контейнером / контейнером? - PullRequest
0 голосов
/ 16 апреля 2020

Я использую bind mounts следующим образом:

  1. Bind mount каталог foo между linux хостом и контейнером A. foo имеет подкаталог bar. Так на хосте: /host/path/foo/bar, должно быть это в контейнере: /container/path/foo/bar

  2. Создайте некоторый подкаталог baz внутри bar (поэтому у нас /host/path/blah/foo/bar/baz на хосте, /container/path/foo/bar/baz. Напишите туда кое-что.

  3. Контейнер A Выход

  4. Создание контейнера B с каталогом монтирования bind foo между linux хостом и этим новым контейнером. foo имеет подкаталог bar.

  5. Чтение из чего-либо в ./foo/bar/baz.

Проблема в том, что baz не появляется (python os.path.exists не показывает его) из контейнера B. Странно, /host/path/blah/foo/bar/baz существует и имеет ожидаемое содержимое, но это не так я не вижу, чтобы быть видимым второму контейнеру.

Для чего бы то ни было, я контролирую от docker до этого python API и передаю его в volumes при запуске A и B: {host_dir: {"bind": container_dir, "mode": "rw"}}

Итак: Почему изменения, сделанные в первом контейнере, видны для хоста, но не для второго контейнера?

...