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:
Win10's host_dir :
И у меня есть похожее обстоятельство, при котором блогер сказал Вы должны запустить 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
OMG, все еще не работает! Все еще root! ... ...
Мне интересно, работает ли я неправильно или окно Docker -Desktop-For- Windows имеет некоторые хитрости с авторизацией при монтировании.
Спасибо всем!