Estou trabalhando em um ambiente docker sem root e quero executar um script shell que contém alguns comandos com sudo, mas o comando sudo não é reconhecido em meu terminal (provavelmente porque é um docker sem root). Estou tendo o erro a seguir:
sudo: command not found
Como posso executar meu script de shell sem alterá-lo? (Não quero deletar manualmente os comandos sudo, em um docker sem root só preciso ignorar o sudo e executar o resto da linha).
Tentei criar um alias para o sudo da .bashrc
seguinte maneira:
alias sudo=''
,
mas não é uma solução correta, pois para algumas linhas temos:
sudo -u username ...
.
Responder1
Isso pode parecer loucura, mas resolvi o problema apenas instalando o sudo!
apt install sudo
Depois disso, o docker sem root é semelhante a um normal.
Responder2
Executar instruções sudo no Docker é uma má ideia. No entanto, você sempre pode tentar executar o script fora do docker docker exec -ti --user root container /path/to/script
ou criar um Dockerfile com seu script.