我正在尝试使用Skaffold将Docker镜像部署到gcloud上的Kubernetes。
作为最小的示例,我在目录中包含以下文件:

  • Dockerfile
  • skaffold.yaml
  • k8s / deployment.yaml

  • 我的Dockerfile非常简单:
    FROM scratch
    ADD bin/helloworld /helloworld
    CMD ["/helloworld"]
    

    我的skaffold.yaml是:
    apiVersion: skaffold/v1alpha1
    kind: Config
    build:
      context: .
      dockerfile: Dockerfile
      artifacts:
      - imageName: test
        workspace: .
      local: {}
    deploy:
      kubectl:
        manifests:
          - k8s/*
    

    当我在目录的根目录中执行skaffold run时,出现此错误:
    Starting build...
    Sending build context to Docker daemon  1.024kB
    [31mERRO[0m[0000] run: running skaffold steps: build: build step: running build: docker build: Error response from daemon: Cannot locate specified Dockerfile: Dockerfile
    

    我在Windows 10上,使用skaffold v0.3.0

    一个普通的docker build .命令可以正常工作,我在另一台Ubuntu机器上测试了skaffold run,该机器具有使用git共享的相同目录,并且在那儿可以正常工作。可能是什么问题?

    最佳答案

    我通过升级到skaffold 0.4.0并将skaffold.yaml更改为解决了这个问题:

    apiVersion: skaffold/v1alpha2
    kind: Config
    build:
      artifacts:
      - imageName: test
        workspace: .
      local: {}
    deploy:
      kubectl:
        manifests:
          - k8s/*
    

    09-26 18:22