Задать вопрос
@PendalF89

Как настроить Docker Desktop на Windows и WSL2 таким образом, чтобы в volume на хост машине владельцем файлов был текущий пользователь?

В Windows 11 через Docker Desktop и WSL2 запускаю LEMP-стек, в volume прокинуты файлы сайта. Во время работы внутри docker-контейнера создаются файлы в volume от пользователя www-data, а также mysql. С хост-машины я не могу ничего сделать с этими файлами, так как нет прав доступа. ls -lah на хост машине показывает владельца этих файлов www-data и mysql. А у меня, естественно, другой пользователь на хост машине. На MacOS такой проблемы нет, там на хост-машине ls -lah показывает владельца файлов текущего пользователя, а внутри docker-контейнера www-data, либо mysql. При этом, доступ к файлам с хост-машины есть. Вопрос: как настроить докер на Windows таким образом, чтобы в volume на хост машине владельцем файлов был текущий пользователь, а внутри докер-контейнера другой соответствующий пользователь (www-data, mysql), по аналогии с MacOS.
  • Вопрос задан
  • 75 просмотров
Подписаться 1 Простой 7 комментариев
Пригласить эксперта
Ответы на вопрос 2
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Вы почему-то считаете, что директория, монтируемая как volume - это часть хоста. А изнутри контейнера это не так однозначно. Если объекты создаются изнутри, то, разумеется, их владельцем будет тот пользователь, который этим занимается внутри контейнера. Настройте umask на доступ всех подряд или поиграйтесь с группами.
Ответ написан
Комментировать
@Drno
Так и должно быть. Тк докер работает в виртуалке.
А в макос и линукс он рабоиает нативно, да так же имеет другого юзера, но с привелениями sudo эти файлы можно редактировать.

Вообще, правильный вариант, использовать докер в его нативной среде(в среде продакшена), а это как раз линукс

Лично я считаю лучшим вариантом - поднять виртуалку с линукс и там уже крутить докер
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы