К сожалению, не существует такого простого способа добиться этого, как сейчас. Документы Docker предлагают использовать в таких случаях bind mounts или сторонние плагины громкости. Не удалось увидеть план ближайшего будущего для реализации того же.
Однако вы можете сделать это альтернативным способом вручную -
Создание тома (при использовании compose том создается с префиксом текущего каталога (PROJECTNAME)) -
$ docker volume create ${PROJECTNAME}_appData
Создать фиктивный контейнер, скопировать каталог хоста в указанный том и проверить его -
$ docker container create --name dummy -v ${PROJECTNAME}_appData:/root alpine #Create
$ docker cp ${PWD}/source_myfile.txt dummy:/root/myfile.txt #copy
$ docker run -v ${PROJECTNAME}_appData:/root alpine ls -l /root #Verify
Теперь, когда вы делаете docker-compose up -d
, он пропустит создание тома, так как он уже существует.
PS - Я понимаю, что это не стандартное исправление, но это все, что я мог найти в качестве быстрого решения. Для постоянного исправления вы можете использовать сторонние плагины громкости.
https://docs.docker.com/engine/extend/legacy_plugins/
Получить более подробную информацию по этому вопросу -
Ссылка - https://github.com/moby/moby/issues/25245