Я пытаюсь докеризовать все службы на своем хост-компьютере. Но у меня возникают следующие проблемы с Docker и разрешениями на том между хостом и докером.
У меня есть хост-машина со следующей структурой папок:
- /data/mysql (user: docker-mysql)
- /data/gitlab (user: docker-gitlab)
- /data/backup (user: share-backup)
Папка /data/mysql:/mnt/mysql
монтируется в контейнер докеров mysql. Контейнер docker mysql создает резервные копии каждые 24 часа, но поскольку контейнер docker запускается от имени пользователя root, эти резервные копии создаются как root пользователя и root root в папке / data / mysql.
Моя цель заключается в том, чтобы файлы в папке / data / mysql создавались от имени пользователя docker-mysql, а не от имени пользователя root.
Я попытался изменить пользователя контейнера докеров на другого пользователя, установив RUN groupadd -r docker-mysql && useradd -r -g docker-mysql docker-mysql
и USER docker-mysql
, но тогда контейнер mysql даже больше не запускается, потому что пользователь docker-mysql
, похоже, не имеет прав root. Я также пробовал это на образе докера Gitlab-CE, но столкнулся с той же проблемой, что запуск Gitlab-CE от имени другого пользователя вызывает ошибки разрешения.
Есть идеи, как записывать файлы, например, на /data/mysql
на хосте с правильным пользователем?