docker wsl2 上下文缺失

docker wsl2 上下文缺失

我在 Windows 机器上安装了 docker 桌面和 wsl2。在某个时候,我添加了一个远程 docker 上下文并将其设置为默认上下文。现在我再也看不到我的本地 wsl2 上下文了。

在此处输入图片描述

这是我的 docker 桌面配置

在此处输入图片描述

我的 Wsl 配置

在此处输入图片描述

现在 wsl docker 上下文已经消失了,我该如何添加它?

答案1

如果有帮助的话,以下是我的输出docker context inspect default(在带有 Docker Desktop 的 WSL2 上):

[
    {
        "Name": "default",
        "Metadata": {
            "StackOrchestrator": "swarm"
        },
        "Endpoints": {
            "docker": {
                "Host": "unix:///var/run/docker.sock",
                "SkipTLSVerify": false
            }
        },
        "TLSMaterial": {},
        "Storage": {
            "MetadataPath": "\u003cIN MEMORY\u003e",
            "TLSPath": "\u003cIN MEMORY\u003e"
        }
    }
]

不确定,但也许你可以用 来重新创建它docker context create --default-stack-orchestrator swarm --docker host=unix:///var/run/docker.sock default

答案2

我怀疑您已经DOCKER_HOST设置了环境变量,并且default上下文正在拾取它。

如果删除DOCKER_HOST环境变量,default配置文件的端点应该恢复为其默认值npipe:////./pipe/docker_engine

如果您想继续使用DOCKER_HOST,您还可以为 Docker Desktop 创建一个新的上下文,在DOCKER_HOST未设置时从默认值复制,然后使用该上下文作为 Docker Desktop,并default在您想要使用时使用该配置文件DOCKER_HOST

相关内容