Я использую bind mounts следующим образом:
Bind mount каталог foo
между linux хостом и контейнером A
. foo
имеет подкаталог bar
. Так на хосте: /host/path/foo/bar
, должно быть это в контейнере: /container/path/foo/bar
Создайте некоторый подкаталог baz
внутри bar
(поэтому у нас /host/path/blah/foo/bar/baz
на хосте, /container/path/foo/bar/baz
. Напишите туда кое-что.
Контейнер A
Выход
Создание контейнера B
с каталогом монтирования bind foo
между linux хостом и этим новым контейнером. foo
имеет подкаталог bar
.
Чтение из чего-либо в ./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"}}
Итак: Почему изменения, сделанные в первом контейнере, видны для хоста, но не для второго контейнера?