linux “Docker上下文ls”和“sudo Docker上下文ls”没有相同的设置选项

8ftvxx2r  于 2023-01-20  发布在  Linux
关注(0)|答案(1)|浏览(115)

我是一个Docker新手。我只是按照官方的指示安装了Docker和Docker桌面。很快,我就开始遇到这样的问题:Docker桌面不显示container。我想这是因为我没有根据post设置具有和不具有sudo权限的相同上下文。但是我不明白为什么我只有“sudo docker context ls”的“default”选项。请帮助我解决这个问题。非常感谢!
操作系统:Ubuntu 20.04.5
截图

nnsrf1az

nnsrf1az1#

docker context数据存储在用户的主目录中。当您使用sudo时,这会更改用户和主目录。如果没有sudo,它可能会在/home/yourname/.docker/contexts中查找,但当您使用sudo切换到root时,它也会更改主目录并在/root/.docker/contexts中查找。

**在原生Linux上不需要Docker Desktop。**通过操作系统的软件包管理器安装Docker(Docker文档现在称之为“Docker Engine”)就足够了。如果您在单用户系统上,您可以使用grant your ordinary user access to the Docker socket,但要注意,使用此访问权限来获得整个主机的根权限几乎是微不足道的。

卸载Docker Desktop时,存在additional files in your home directory you need to remove

rm -rf $HOME/.docker/desktop
$EDITOR $HOME/.docker/config.json
# and remove `credsStore` and `currentContext`

完成此清理后,您将恢复到Docker的默认行为,即使用$DOCKER_SOCK环境变量或不使用/var/run/docker.sock。无论您是哪个用户,系统全局Docker套接字文件都是相同的,并且它不会受到sudo的影响。

相关问题