cloud build无法找到DockerFile。

8 浏览
0 Comments

cloud build无法找到DockerFile。

我正在尝试使用Google Cloud构建触发器构建我的Docker容器。不幸的是,构建无法找到我的Docker文件。它并不在我的代码库的根目录下,但我以为我可以指定相对路径。显然,我配置错了一些东西。下面是我的cloudbuild.yaml和输出日志。

如果有影响的话,我的代码存储在GitHub上,但我配置了触发器从该代码库拉取。

步骤:

- 名称:'gcr.io/cloud-builders/docker'

参数:

- 'build'

- '--tag=gcr.io/$PROJECT_ID/domain-session-test:$TAG_NAME'

- '--file=session_server/deployments/DockerFiles/minimal.Dockerfile'

- '.'

- 名称:'gcr.io/cloud-builders/docker'

参数:['run', 'gcr.io/$PROJECT_ID/domain-session-test:$TAG_NAME', 'go', 'test']

- 名称:'gcr.io/cloud-builders/gsutil'

参数:['cp', '-r', 'k8s/*', 'gs://$PROJECT_ID-kubernetes-manifests']

镜像:['gcr.io/$PROJECT_ID/domain-session-test:$TAG_NAME']

日志:

开始构建"1c4ee154-2c29-4e81-b884-d64c54841d71"

FETCHSOURCE

在/workspace/.git/中初始化空的Git存储库

来自https://source.developers.google.com/p/MYURL

* 分支c2d8260a49d9972d1b0882c1676184be35b4c33c -> FETCH_HEAD

HEAD现在位于c2d8260触发构建

BUILD

开始步骤#0

步骤#0:已经有图像(具有摘要):gcr.io/cloud-builders/docker

步骤#0:无法准备上下文:无法评估Dockerfile路径中的符号链接:lstat /workspace/Dockerfile:没有该文件或目录

完成步骤#0

错误

错误:构建步骤0“gcr.io/cloud-builders/docker”失败:退出状态1

0
0 Comments

这个问题的出现的原因是cloudbuild.yaml文件假设工作目录与包含cloudbuild.yaml和Dockerfile的目录相同。然而,Cloud Build触发器定义知道在哪里找到cloudbuild.yaml文件,但它显然是在存储库的根目录中执行的工作目录,并且根目录不包含Dockerfile。

要解决这个问题,可以使用以下类似的构建步骤:

# Build the container image

- name: 'gcr.io/cloud-builders/docker'

args: ['build', '-t', 'gcr.io/[PROJECT_ID]/[IMAGE]', '']

另外,也有用户提到了类似的问题。他们尝试使用名为Dockerfile_abcde的Dockerfile,但似乎无法工作。他们尝试使用以下命令:

- name: gcr.io/cloud-builders/docker

args:

- 'build'

- '--tag=gcr.io/$PROJECT_ID/$_IMAGE_NAME'

- '--file=Dockerfile_pipeline'

- './dataflow/pipeline/'

然而,它似乎不能正常工作。如果您需要进一步帮助,您可以访问他们的项目github.com/mmistroni/GCP_Experiments/tree/master/dataflow/…

希望这些解决方法能帮助您解决问题。

0