gpt4 book ai didi

ubuntu - 是否可以从我不是管理员的系统上的容器中构建容器?

转载 作者:行者123 更新时间:2023-12-04 19:10:12 28 4
gpt4 key购买 nike

我想在本地构建奇点接收器,而不是依赖奇点集线器并将有限的每日构建配额浪费在修复愚蠢的语法错误上。但是,我不是运行容器的机器上的管理员。我想在 Singularity hub 上构建一个容器,我是一个管理员,可以在其中构建其他其他容器。但是,我尝试构建一个可以使用 sudo 的容器。和 su让我觉得这是不可能的。有没有办法设置一个容器,我可以在其中构建容器,如果是这样,我目前的方法有什么问题?

我的食谱中有以下代码来创建用户“ubuntu”,密码为“ubuntu”,并且是“sudo”组的成员:

Bootstrap:docker
From:ubuntu:xenial
#...some other stuff that doesn't matter here...
%post
apt-get update
apt-get install -y sudo

useradd ubuntu
echo "ubuntu:ubuntu" | chpasswd
usermod -aG sudo ubuntu

该配方在 Singularity hub 上成功构建。但是,我不能使用 sudosu容器内:
$singularity build --sandbox xenial shub://path/to/my/container:xenial
<container builds with some warnings about my account being non-root>
$singularity shell xenial
Singularity: Invoking an interactive shell within container...

Singularity xenial$ su ubuntu
Password: #I type "ubuntu"
su: Authentication failure
Singularity xenial$ sudo whoami
sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set
Singularity xenial$ls -l /usr/bin/sudo
-rwxr-xr-x. 1 hbraunDSP dip 136808 Jun 10 22:53 /usr/bin/sudo

这是否太不安全而无法实现?如果可能的话,我如何制作一个可以用来构建容器的容器?

最佳答案

奇点坐骑 /etc/passwd默认情况下,容器内可用的用户与主机上的用户相同。所以新的ubuntu就图像而言,当您被炮击时,您添加的用户并不存在。

如果您想在运行另一个图像时构建奇点图像,至少需要 sudo singularity shell ...所以你保留你的 sudo/root 权限。

或者,如果您使用 --privileged,则可以从 Docker 容器内部构建奇点镜像。选项。

关于ubuntu - 是否可以从我不是管理员的系统上的容器中构建容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57777170/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com