Docker容器内无sudo命令、apt等指令执行失败如何解决?
问题原因
出现该报错是因为当前你是以无管理员权限的普通用户身份进入容器,且所用的Docker基础镜像默认未预装sudo工具,无法临时提权执行apt安装操作。
解决方案
方案1:以root身份进入容器操作(最简便)
- 若容器尚未启动,启动时添加
--user root参数指定root身份:
docker run -it --user root <你的镜像名称> /bin/bash
- 若容器已经在运行中,执行exec进入时指定root身份:
docker exec -it --user root <你的容器ID/容器名称> /bin/bash
- 进入容器后直接执行以下命令即可安装nano:
apt update && apt install -y nano
方案2:给当前普通用户配置sudo权限
- 先按照方案1的步骤切换为root身份进入容器,先安装sudo工具:
apt update && apt install -y sudo
- 给普通用户添加sudo免密权限,将
<你的普通用户名>替换为实际使用的用户名:
echo "<你的普通用户名> ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
- 切换回普通用户后,即可正常通过sudo执行安装命令:
sudo apt install -y nano
内容的提问来源于stack exchange,提问作者lucas
相关产品推荐
相关产品推荐

