运行Minikube build-env后无法构建docker映像

时间:2019-09-05 17:56:24

标签: windows docker kubernetes minikube

我在Windows 10中使用Minikube,我想使用本地构建的Docker映像而不是注册表中托管的映像,因此,根据this tutorial,我必须运行以下命令:

使用本地kubernetes和图像:

> minikube docker-env

输出为:

PS C:\WINDOWS\system32> minikube docker-env
$Env:DOCKER_TLS_VERIFY = "1"
$Env:DOCKER_HOST = "tcp://10.98.38.126:2376"
$Env:DOCKER_CERT_PATH = "C:\Users\MyUser\.minikube\certs"
# Run this command to configure your shell:
# & minikube docker-env | Invoke-Expression

要配置外壳,请运行以下命令:

> & minikube docker-env | Invoke-Expression

之后,我需要构建一个新图像:

PS D:\repos\test> docker build -t miImage:v1 .

还有下一个错误:

PS D:\repos\test> docker build -t miImage:v1 .
Sending build context to Docker daemon   8.62MB
Step 1/10 : FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build-env
Get https://mcr.microsoft.com/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

这是错误的,因为我将其配置为使用本地图像,有什么办法可以解决它?

1 个答案:

答案 0 :(得分:1)

您似乎正在使用的计算机无法通过https://mcr.microsoft.com/v2/进行确认,请尝试将简单的GET发送到URL

wget https://mcr.microsoft.com/v2/

如果这是问题,则可以使用其他计算机提取图像,然后将其保存到文件中并将其加载到目标计算机上。

#on a machine connected to internet 
docker pull mcr.microsoft.com/dotnet/core/sdk:2.2
docker save mcr.microsoft.com/dotnet/core/sdk:2.2 > dotnetsdk2_2.tar
# download the file
# on the target machine 
docker load < dotnetsdk2_2.tar

然后,使用该映像的本地版本,构建应该可以正常工作。