我是一个Docker新手。我只是按照官方的指示安装了Docker和Docker桌面。很快,我就开始遇到这样的问题:Docker桌面不显示container。我想这是因为我没有根据post设置具有和不具有sudo权限的相同上下文。但是我不明白为什么我只有“sudo docker context ls”的“default”选项。请帮助我解决这个问题。非常感谢!操作系统:Ubuntu 20.04.5截图
nnsrf1az1#
docker context数据存储在用户的主目录中。当您使用sudo时,这会更改用户和主目录。如果没有sudo,它可能会在/home/yourname/.docker/contexts中查找,但当您使用sudo切换到root时,它也会更改主目录并在/root/.docker/contexts中查找。
docker context
sudo
/home/yourname/.docker/contexts
/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的影响。
$DOCKER_SOCK
/var/run/docker.sock
1条答案
按热度按时间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
完成此清理后,您将恢复到Docker的默认行为,即使用
$DOCKER_SOCK
环境变量或不使用/var/run/docker.sock
。无论您是哪个用户,系统全局Docker套接字文件都是相同的,并且它不会受到sudo
的影响。