Führen Sie ein Bash-Skript mit dem Sudo-Befehl im Rootless-Docker aus

Führen Sie ein Bash-Skript mit dem Sudo-Befehl im Rootless-Docker aus

Ich arbeite in einer rootless Docker-Umgebung und möchte ein Shell-Skript ausführen, das einige Befehle mit sudo enthält, aber der Befehl sudo wird in meinem Terminal nicht erkannt (wahrscheinlich, weil es sich um einen rootless Docker handelt). Ich erhalte die folgende Fehlermeldung:

sudo: command not found

Wie kann ich mein Shell-Skript ausführen, ohne es zu ändern? (Ich möchte die Sudo-Befehle nicht manuell löschen, in einem Rootless-Docker muss ich das Sudo einfach ignorieren und den Rest der Zeile ausführen).

Ich habe versucht, wie folgt einen Alias ​​für sudo zu erstellen .bashrc:

alias sudo='',

aber es ist keine richtige Lösung, weil wir für einige Zeilen haben:

sudo -u username ....

Antwort1

Das mag verrückt klingen, aber ich habe das Problem einfach durch die Installation von sudo behoben!

apt install sudo

Danach ähnelt der Rootless-Docker einem normalen.

Antwort2

Das Ausführen von Sudo-Anweisungen auf Docker ist keine gute Idee. Sie können jedoch jederzeit versuchen, das Skript außerhalb von Docker auszuführen docker exec -ti --user root container /path/to/scriptoder mit Ihrem Skript eine Docker-Datei zu erstellen.

verwandte Informationen