我在Windows10中使用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
要配置shell,请运行以下命令:
> & 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)
这是抛出的错误,因为我将它配置为使用本地镜像,有什么方法可以修复它吗?
发布于 2019-09-06 03:25:15
看起来您用来构建的机器无法连接到https://mcr.microsoft.com/v2/进行确认,请尝试发送一个简单的GET到
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
然后,使用镜像的本地版本,您的构建应该可以正常工作。
https://stackoverflow.com/questions/57810803
复制相似问题