Я хочу использовать GIT из контейнера Docker. Использование, как описано на https://hub.docker.com/r/alpine/git/, довольно просто:
docker run -it --rm -v ${HOME}:/root -v $(pwd):/git alpine/git clone ...
Это работает. Один большой недостаток этого заключается в том, что все файлы теперь принадлежат root
, а не текущему пользователю. Я хотел решить эту проблему, но пока не могу.
Моя текущая команда:
docker run -it --rm
--user $(id -u):$(id -g)
-v $HOME:$HOME:rw
-v /etc/passwd:/etc/paswd:ro
-v /etc/group:/etc/group:ro
-v $PWD:$PWD:rw
-w $PWD
alpine/git
clone ...
Здесь я передаю --user $(id -u):$(id -g)
для запуска в качестве текущего пользователя. Кроме того, я передаю $HOME
, /etc/passwd
и /etc/group
, чтобы позволить контейнеру разрешить текущего пользователя и домашний каталог.
Это дает следующую ошибку: No user exists for uid 1000
. Откуда это взялось и как это можно решить?
Информация о версии: docker run -it --rm alpine/git --version
дает git version 2.15.0