在没有root访问权限的系统上构建Docker镜像

问题描述 投票:1回答:2

我正在尝试将Dockerfile构建成图像。我想使用一个运行OpenSUSE的系统,它被锁定 - 我没有root访问权限,因此无法安装docker或运行docker守护进程来使用通常的docker build方法。

我已经研究过各种各样的方法,但它们似乎都需要root访问权限,尽管声称要以非特权方式运行。

img似乎很有希望,但运行二进制导致错误failed to use newuidmap并修复这似乎需要修改根拥有的文件。

Buildah似乎也很有希望,但我遇到了类似的需要root修复的uid问题。

docker dockerfile opensuse
2个回答
1
投票

您可以使用buildah构建容器映像,而无需root访问权限。为了做到这一点,你需要set up UID mapping,它需要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)下您无能为力。


-1
投票

如果您询问使用root或sudo运行Docker,您可以使用它。

类型:

 $ sudo gpasswd -a $USER docker

按Enter键然后键入:

$ newgrp docker

现在使用root运行docker

© www.soinside.com 2019 - 2024. All rights reserved.