#docker #docker-compose
#docker #docker-compose
Вопрос:
У меня есть несколько контейнеров Docker, страдающих от одной и той же проблемы: после их перезапуска или повторного создания они теряют доступ к некоторым файлам на своих томах, подключенных к хосту. Файлы по-прежнему видны в томе контейнера (обычно /config
), но не распознаются размещенным приложением.
Похоже, это происходит потому, что внутри контейнера файлы создаются как root: root. В моей среде хоста у меня нет docker, работающего от имени root — скорее, он работает как uid = 997 (docker).
Я могу восстановить их доступ к этим файлам, выполнив $ sudo chown -R :docker *
команду из моей среды хоста и перезапустив контейнер.
В среде хоста (ubuntu 20.04.1 LTS) тома находятся в моем каталоге пользователей /home/USER/docker
, где мой пользователь добавляется в группу docker sudo usermod -aG docker ${USER}
Конкретные контейнеры, которые я использую, с которыми возникает эта проблема, следующие:
- pihole / pihole: последняя версия
- homeassistant / home-assistant: стабильный
- plexinc / pms-docker
- дубликат / дубликат
- esphome / esphome
Как я должен изменить свою конфигурацию, чтобы позволить контейнерам docker получать доступ к файлам, которые они сами создали в своих томах?
Комментарии:
1. У меня есть версия того же вопроса, что и pihole. После недавней проблемы с docker на моем Macbook я полностью потерял все свои данные, такие как добавления DNS и зарегистрированные данные. Вы пытаетесь сохранить данные извне, используя -v в вашей команде запуска docker? Можете ли вы опубликовать, как вы его запускаете?