我在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)
这是错误的,因为我将其配置为使用本地图像,有什么办法可以解决它?
答案 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
然后,使用该映像的本地版本,构建应该可以正常工作。