Удаление / перезапись смонтированного файла на хосте или в контейнере - PullRequest
0 голосов
/ 27 июня 2019

Я подключаю файл на хосте к файлу внутри контейнера докера:

-v /var/mydir/myfile.yml:/cotainerdir/myfile.yml

Я ожидаю, что файл вне контейнера будет отражать изменения, внесенные в файл внутриконтейнер.Например, когда файл внутри контейнера перезаписывается, файл на хосте также перезаписывается.Или когда я удаляю файл на хосте и перезаписываю файл внутри контейнера, файл должен быть создан на стороне хоста.

Но после удаления файла на стороне хоста ссылка на монтирование, похоже, не работает.Почему это происходит?

Я использую docker inspect -f '{{ .Mounts }}' и вижу отношение монтирования там, как и ожидалось.

1 Ответ

0 голосов
/ 27 июня 2019

Я подозреваю, что это потому, что вы отображаете конкретный файл (идентификатор | inode) и, когда вы перезаписываете | удаляете его, сопоставление нарушается.

Альтернативный подход - сопоставить каталог, содержащийфайл (ы), которые вы собираетесь создавать | удаление | перезапись:

docker run .... --volume=var/mydir:/containerdir

Тогда, поскольку каталог будет сохраняться, вы должны (!) иметь возможность создавать и удалять файлы без проблем и измененийна хосте | контейнер будет отражен в основном.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...