cloud build无法找到DockerFile。
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
这个问题的出现的原因是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/…。
希望这些解决方法能帮助您解决问题。