gpt4 book ai didi

docker - 有没有一种好的和安全的方法来允许非 root 用户启动 docker 镜像?

转载 作者:行者123 更新时间:2023-12-01 15:29:06 26 4
gpt4 key购买 nike

我有一个场景,我想让非 root 用户启动一个 docker 镜像并运行它。这是一个非常简单的图像 - 我们有一个愚蠢的专有软件,它坚持阻止某个端口,使该软件无法并发运行。我正在考虑用 docker 解决这个问题。

问题是普通用户(它是编译过程的一部分)应该能够启动它。我如何以一种理智和安全的方式来解决这个问题?

最佳答案

如果需要 docker命令是静态的,创建一个简单的启动脚本,存储在/usr/local/bin并使其可执行。在 /etc/sudoers 中输入允许所需的用户在没有密码的情况下使用 sudo 运行此命令。
例如创建文件 /usr/local/bin/alpine.docker :

#! /bin/sh
docker run --rm -it alpine sh
使脚本安全(非 root 用户不应该能够编辑它):
sudo chown root:root /usr/local/bin/alpine.docker
设置合理的权限并使其可执行:
sudo chmod 554 /usr/local/bin/alpine.docker
/etc/sudoers 中创建条目与 visudo :
username  ALL = (root) NOPASSWD: /usr/local/bin/alpine.docker
现在用户 username可以运行 sudo alpine.docker没有密码。

警告:
不要将用户添加到组 docker如果他们不应该有 root 权限。
笔记:
对于此解决方案,您需要安装 sudo .但是用户 username不需要是组成员 sudo .
笔记2:
使用 policykit/ pkexec 可以进行类似的设置.但我对它并不熟悉。

关于docker - 有没有一种好的和安全的方法来允许非 root 用户启动 docker 镜像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50874840/

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