当前位置: 首页 > 知识库问答 >
问题:

云构建无法找到DockerFile

潘俊
2023-03-14

我试图使用谷歌云构建触发器构建我的docker容器。不幸的是,构建没有找到我的docker文件。它不在我的存储库的根目录下,但我认为我可以指定一个相对路径。显然我配置错误了。下面是我的cloudbuild.yaml和输出日志。

如果有关系的话——我的代码在github中,但我将触发器配置为从该回购中提取。

steps:
- name: 'gcr.io/cloud-builders/docker'
  args:
  - 'build'
  - '--tag=gcr.io/$PROJECT_ID/domain-session-test:$TAG_NAME'
  - '--file=session_server/deployments/DockerFiles/minimal.Dockerfile'
  - '.'
- name: 'gcr.io/cloud-builders/docker'
  args: ['run', 'gcr.io/$PROJECT_ID/domain-session-test:$TAG_NAME', 'go', 'test']
- name: 'gcr.io/cloud-builders/gsutil'
  args: ['cp', '-r', 'k8s/*', 'gs://$PROJECT_ID-kubernetes-manifests']
images: ['gcr.io/$PROJECT_ID/domain-session-test:$TAG_NAME']

日志:

starting build "1c4ee154-2c29-4e81-b884-d64c54841d71"    
    FETCHSOURCE
    Initialized empty Git repository in /workspace/.git/
    From https://source.developers.google.com/p/MYURL
    * branch c2d8260a49d9972d1b0882c1676184be35b4c33c -> FETCH_HEAD
    HEAD is now at c2d8260 triggering a build
    BUILD
    Starting Step #0
    Step #0: Already have image (with digest): gcr.io/cloud-builders/docker
    Step #0: unable to prepare context: unable to evaluate symlinks in Dockerfile path: lstat /workspace/Dockerfile: no such file or directory
    Finished Step #0
    ERROR
    ERROR: build step 0 "gcr.io/cloud-builders/docker" failed: exit status 1

共有1个答案

竺鸿骞
2023-03-14

当使用.作为Docker上下文时,我遇到了类似的情况。

我犯了这个错误。。。

unable to prepare context: unable to evaluate symlinks in Dockerfile path: lstat /workspace/Dockerfile: no such file or directory

...当使用cloudbuild时。yaml与此类似:

steps:
# Build the container image
- name: 'gcr.io/cloud-builders/docker'
  args: ['build', '-t', 'gcr.io/[PROJECT_ID]/[IMAGE]', '.']
# Push the image to Container Registry
- name: 'gcr.io/cloud-builders/docker'
  args: ['push', 'gcr.io/[PROJECT_ID]/[IMAGE]']
# Deploy image to Cloud Run
- name: 'gcr.io/cloud-builders/gcloud'
  args:
  - 'run'
  - 'deploy'
  - '[SERVICE_NAME]'
  - '--image'
  - 'gcr.io/[PROJECT_ID]/[IMAGE]'
  - '--region'
  - '[REGION]'
  - '--platform'
  - 'managed'
images:
- gcr.io/[PROJECT_ID]/[IMAGE]

而我的Cloud Build触发器定义知道在哪里可以找到cloudbuild。yaml文件,它显然使用repo根目录中的工作目录执行,而repo根目录不包含Dockerfile。

如果我使用类似于下面的构建步骤,问题就解决了。

# Build the container image
- name: 'gcr.io/cloud-builders/docker'
  args: ['build', '-t', 'gcr.io/[PROJECT_ID]/[IMAGE]', '<DIR_CONTAINING_DOCKERFILE>']
 类似资料:
  • 问题内容: 我是Docker的新手,所以请允许我描述我执行的步骤。我在OS X上使用Docker(不是Docker工具箱)。我使用以下命令从Dockerfile构建了映像 Docker确认构建成功。 但是,我在任何地方都找不到图像。我看了这个问题,但是答案是针对Docker工具箱的,并且没有公认的答案所建议的文件夹。 问题答案: 您将可以通过以下命令查看您的docker映像: 并检查哪些容器正在d

  • 问题内容: 是什么引起以下问题?我的Android SDK版本不受支持吗? 问题答案: 可能您需要更新构建工具。 当我尝试从图形界面进行更新时遇到了问题,它没有显示确切的次要版本,因此无法更新。 通过查看终端提供的版本来解决此问题: […] 并使用以下命令安装正确的版本:

  • 问题内容: 我建立不使用包管理器一个相当小的系统(Ubuntu的16.04搬运工图像)(除,,和)。因此,我安装了以下先决条件: 然而,在源根失败,因为 我知道有很多关于Perl项目的解决方案,如何告诉CPAN安装所有依赖项?。但是,使用GNU自动工具和可以解决该问题的选项可能是从到目前为止我还不清楚的环境变量中读取的。 Ubuntu 16.04提供了,但没有命令(这就是我添加源安装的原因)。识别

  • 问题内容: 直到几天前,它仍能正常工作,而当我今天再次尝试构建它时,终端中出现以下错误。我尝试使用多个docker基本映像,但仍给出相同的错误。谁能帮我这个?我不认为我错过了任何东西。如果我错过了,应该早点给我错误,但是现在为什么呢? 而我的docker版本是 这是我的 问题答案: 我刚刚更改了VM Player网络设置。从更改为。现在工作了

  • 问题内容: 我正在尝试为Linux中的离子构建android,但它向我显示了这样的错误 我已经在我的bashrc文件中添加了它 我想我已经给出了路径,但是我不知道为什么它向我显示此错误..请帮助…。 问题答案: Android Home应该是SDK的根文件夹。 编辑 :打开终端并键入这些命令。(是的,在ternimal上,不在bashrc文件中) 然后在同一终端中键入。如果已配置,您将能够从此终端

  • 一旦我升级到Flutter2.5.1,我的项目就停止构建和运行,并出现以下错误: /users/admin/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator_android-2.0.0/android/src/main/java/com/baseflow/geolocator/location/locationmapper.