我已经下载了“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 容器。