在無根docker中執行包含sudo指令的bash腳本

在無根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。

相關內容