Создание образов Docker в системе без корневого доступа - PullRequest
0 голосов
/ 10 ноября 2018

Я пытаюсь встроить Dockerfile в изображение. Я хотел бы использовать систему под управлением OpenSUSE, которая довольно заблокирована - у меня нет доступа с правами root, и поэтому я не могу установить docker или запустить демон docker, чтобы использовать обычный метод docker build.

Я рассмотрел различные способы сделать это, но все они, кажется, требуют root-доступа в какой-то момент, несмотря на утверждение, что они работают как непривилегированные.

img показалось многообещающим, но запуск двоичного файла приводит к ошибке failed to use newuidmap, и для исправления этой проблемы, по-видимому, требуется изменить файл, принадлежащий корню.

Buildah также показался многообещающим, но я столкнулся с похожими проблемами uid, которые требуют root для исправления.

Ответы [ 2 ]

0 голосов
/ 01 марта 2019

Вы можете создавать образы контейнеров, используя buildah без прав root. Для этого вам необходимо настроить отображение UID , для чего требуется root-доступ - редактирование /etc/subuid:

$ cat /etc/subuid
username:100000:65536
$ ll /etc/subuid
-rw-r--r--. 1 root root 34 Dec  3 14:17 /etc/subuid

Если ваш дистрибутив не предоставляет предварительно заполненную /etc/subuid, которая работает с вашим непривилегированным пользователем, вы ничего не можете сделать, учитывая текущую реализацию ядра Linux (<4.20). </p>

0 голосов
/ 10 ноября 2018

Если вы спрашиваете о запуске Docker с использованием root или sudo, вы можете использовать это.

Тип:

 $ sudo gpasswd -a $USER docker

Нажмите Enter, затем введите:

$ newgrp docker

Теперь запустите Docker с использованием root

...