Minikube无法提取本地Docker映像

时间:2018-07-23 16:00:35

标签: docker kubernetes minikube

我正在尝试使用负载平衡器大使为gRPC服务创建映射。为了部署和映射服务,我创建了一个Yaml文件,该文件包含以下几行(以及其他内容):

containers:
      - name: grpc-pep
        image: enm10k
        imagePullPolicy: IfNotPresent
        ports:

部署并运行kubectl get pods时,会收到以下消息:

NAME                                             READY     STATUS         RESTARTS   AGE
ambassador-567f8c7c6-68bx6                       2/2       Running        3          3d
ambassador-567f8c7c6-c2n6z                       2/2       Running        3          3d
ambassador-567f8c7c6-kjznt                       2/2       Running        5          3d
grpc-pep-5f54b8d77b-f4l94                        0/1       ErrImagePull   0          3m

我收到我要访问的图像的ErrImagePull错误消息。 enm10k是一个dockerhub映像,给我的印象是我不应该创建它。但是,即使我创建它,我也会收到以下错误消息:

tex@tex-ThinkPad-P50:~$ docker build -t enk10k .
WARN[0000] Unable to use system certificate pool: requires building with go 1.7 or later 
Error checking context: 'no permission to read from '/home/tex/.cpan/build/CPAN-Meta-YAML-0.018-YA9MFT/lib/CPAN/Meta/YAML.pm''.

当我尝试在非主目录的地方构建它时:

$ docker build -t enm10k .
WARN[0000] Unable to use system certificate pool: requires building with go 1.7 or later 
Sending build context to Docker daemon 980.1 MB
Error response from daemon: unexpected error reading Dockerfile: read /var/lib/docker/tmp/docker-builder360563372/Dockerfile: is a directory

因此,我无法构建图像,找不到图像,并且不确定如何处理它。我已经设置了minikube环境$ eval $(minikube docker-env),并且在yaml文件中几乎使用了imagePullPolicy的所有策略版本。

我不确定该如何处理-希望有更多Docker知识的人可以为我提供帮助。

1 个答案:

答案 0 :(得分:1)

yaml文件有误,因为它缺少存储库名称。

containers:
      - name: grpc-pep
        image: enm10k
        imagePullPolicy: IfNotPresent
        ports:

如果您转到hub.docker.com并搜索enm10k,则会看到3个存储库。 在您的示例中,泊坞窗不知道要提取哪个存储库。

yaml文件应如下所示:

containers:
      - name: grpc-pep
        image: enm10k/grpc-hello-world
        imagePullPolicy: IfNotPresent
        ports:

您还可以查看有关如何获取gRPC and Ambassador的文档。