在 Win 10 中安装 Linux 容器的 Docker For Desktop 无法运行 hello-world 映像

在 Win 10 中安装 Linux 容器的 Docker For Desktop 无法运行 hello-world 映像

我已经下载了“Docker for Windows Installer”,并在 Windows 10 机器上使用选项“Linux Container”运行安装程序。安装成功。Hyper-v 已启用。虚拟化也已启用。

我可以成功运行命令 docker --version。但是当我尝试运行“docker run hello-world”时,我收到以下错误:

在本地 C:\Program Files\Docker\Docker\Resources\bin\docker.exe 中找不到图像‘hello-world:latest’:守护程序的错误响应:获取https://registry-1.docker.io/v2/library/hello-world/manifests/latest:等待连接时请求被取消(等待标头时超出 Client.Timeout)。请参阅“C:\Program Files\Docker\Docker\Resources\bin\docker.exe run --help”。

当我选择切换到 Windows 容器时,我可以成功运行 docker 镜像。但当我切换回 Linux 容器时,我又遇到了同样的问题。

我已经在设置中检查了 DNS 8.8.8.8,也尝试过重新启动 docker,但到现在没有任何帮助。

此外,当我切换到 Windows 容器并尝试运行 Dockerfile 时,出现以下错误:

将构建上下文发送到 Docker 守护程序 113.2kB 步骤 1/4:来自 java:8 8:从库/java 映像中提取操作系统“linux”无法在此平台上使用

请帮我。

答案1

安装最新版本后,我的问题解决了。我能够在 Linux 和 Windows 上运行容器。hello-world 映像正在运行。

我已采取以下步骤:

 1. Uninstall Docker for Desktop.
 2. Remove docker folder and files from AppData : Local and Roaming.
 3. Remove docker folder from Program data
 4. Remoce .docker inside <C:\Users\UserName\> folder.
 5. Remove temp files
 6. Download latest version (my version :  2.3.0.2)
 7. Install Docker
 8. Enable Kubernetes.

我现在可以构建 docker 镜像并运行容器,使用 kubernetes,编排一切运行良好。但我正在使用 Linux 容器。因为我不想要 Windows 容器。

相关内容