在 rootless docker 中执行包含 sudo 命令的 bash 脚本

在 rootless docker 中执行包含 sudo 命令的 bash 脚本

我在无根 docker 环境中工作,我想用 sudo 执行包含一些命令的 shell 脚本,但是我的终端无法识别 sudo 命令(可能是因为它是无根 docker)。我收到以下错误:

sudo: command not found

如何在不更改 shell 脚本的情况下执行它?(我不想手动删除 sudo 命令,在无根 docker 中我只需要忽略 sudo 并执行其余行)。

我尝试为 sudo 创建别名,如下所示.bashrc

alias sudo=''

但这不是一个正确的解决方案,因为对于某些行我们有:

sudo -u username ...

答案1

这可能听起来很疯狂,但我只需安装 sudo 就解决了这个问题!

apt install sudo

此后,rootless docker 与普通 docker 类似。

答案2

在 Docker 上运行 sudo 语句是个坏主意。不过,你始终可以尝试在 docker 外部执行脚本,docker exec -ti --user root container /path/to/script或者使用脚本创建 Dockerfile。

相关内容