Docker Desktop无法启动,修改/etc/subuid遇权限拒绝问题
问题解决:Docker Desktop启动失败,执行subuid命令权限拒绝
错误原因
你遇到的问题是重定向操作>>没有获得root权限。当你执行sudo echo ":10000:65536" >> /etc/subuid时,只有echo命令是通过sudo以root身份运行的,但>> /etc/subuid这个写入文件的操作是由当前用户的shell处理的,而当前用户没有修改/etc/subuid的权限,所以依然会报"permission denied"。
正确的解决方法
有两种可靠的方式实现追加内容到/etc/subuid:
- 用sudo调用shell执行整个命令
将echo和重定向操作放在root权限的shell中执行:
sudo sh -c 'echo ":10000:65536" >> /etc/subuid'
- 使用tee命令配合sudo
利用tee命令的写入权限,通过sudo赋予其root权限来追加内容:
echo ":10000:65536" | sudo tee -a /etc/subuid
注意:
-a参数表示追加内容,不加的话会覆盖原文件内容,一定要记得加上。
执行完上述任一命令后,再尝试启动Docker Desktop即可。
内容的提问来源于stack exchange,提问作者karjedavpalaa
相关产品推荐
相关产品推荐

