Docker: git операции не разрешены в каталоге dir, который монтируется из Win10 в контейнер, на котором выполняется ubuntu - PullRequest
2 голосов
/ 20 марта 2020

Company P C - это Win10 и не может принести собственную LP, и я хочу развиваться в Linux, поэтому я готовлюсь установить docker на Windows и запустить контейнер Linux на котором я выполняю свое развитие.

--- background ---

Я установил Docker Desktop for Windows (19.03.8) в Win10 и вытащил образ Ubuntu.
I запустите контейнер Ubuntu с -v, чтобы смонтировать host_dir моего win10 в slave_dir.
контейнера. 1011 * до монтирования уже было репо git с каталогом .git в host_dir.
Через s sh с помощью root user я редактирую файл в slave_dir в контейнере, и когда я хочу зафиксировать изменения, появляется следующая ошибка:

root@5f8d7d02ee70:~/slave_dir# git status
fatal: failed to read object 36fa53e7ecb9d1daa454fc82f7bd7310afa335b7: Operation not permitted

Я думаю, что-то не так с git Authority между Win10 и моим Linux -контейнером

Linux -контейнера slave_dir:
enter image description here

Win10's host_dir :
enter image description here

И у меня есть похожее обстоятельство, при котором блогер сказал Вы должны запустить docker с --user и параметр --user должен совпадать с вашим логином на хосте

Поэтому я попытался сделать следующее:

docker run -it --name test --user Leo -p 127.0.0.1:5001 -v host_dir:slave_dir image_name /bin/bash

К сожалению, slave_dir uid и * 10 48 * все еще root.

В Cygwin на Win10 я использую id, чтобы найти uid и gid моего логина,
и повторный запуск docker с помощью uid / gid напрямую.

docker run -it --name test --user 4344296:1049089 -p 127.0.0.1:5001 -v host_dir:slave_dir image_name /bin/bash

enter image description here

OMG, все еще не работает! Все еще root! ... ...
Мне интересно, работает ли я неправильно или окно Docker -Desktop-For- Windows имеет некоторые хитрости с авторизацией при монтировании.
Спасибо всем!

1 Ответ

5 голосов
/ 22 марта 2020

похоже на проблему с Docker 2.2.0.4. Исправление этой проблемы можно найти по этой ссылке (у меня сработало).

TL; DR: Удалите разрешение только для чтения из. git папка в windows.

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