Я работаю в среде rootless docker и хочу выполнить скрипт оболочки, содержащий некоторые команды с sudo, но команда sudo не распознается в моем терминале (вероятно, потому что это rootless docker). Я получаю следующую ошибку:
sudo: command not found
Как выполнить мой скрипт оболочки, не изменяя его? (Я не хочу вручную удалять команды sudo, в docker без прав root мне просто нужно игнорировать sudo и выполнить оставшуюся часть строки).
Я попытался создать псевдоним для sudo следующим образом .bashrc
:
alias sudo=''
,
но это не правильное решение, так как для некоторых строк мы имеем:
sudo -u username ...
.
решение1
Это может показаться безумием, но я исправил проблему, просто установив sudo!
apt install sudo
После этого rootless-докер становится похож на обычный.
решение2
Запуск операторов sudo в Docker — плохая идея. Однако вы всегда можете попробовать выполнить скрипт вне Docker docker exec -ti --user root container /path/to/script
или создать Dockerfile со своим скриптом.