gcloud submit : specify Dockerfile with –file parameter doesn’t seem to work

In my project, Dockerfiles are not stored in the same place that the files I want to COPY in my image. Like :

root
     Dockerfiles:
          app_name1:
              dockerfile1
          ...
    folder
          app1
          app2
          ...
cloudbuild

I have a cloudbuild.yaml like that :

steps:
- name: gcr.io/cloud-builders/docker
  args:
  - build
  - '--tag=eu.gcr.io/$PROJECT_ID/${_IMAGE_NAME}:${_STAGE}'
  - **'-f ./Dockerfiles/${_IMAGE_NAME}/Dockerfile'**
  - .
images: [
    'eu.gcr.io/$PROJECT_ID/${_IMAGE_NAME}'
]

and I build the image from root like that :

gcloud builds submit .
      --config=cloudbuild.yaml
      --substitutions [...]
      .

I checked inside my GCP Bucket, the source specified in gcloud submit (.) is successfuly uploaded and so should be accessible in ./workspace/.

But the build fails with the following error :

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

It seems like he doesn’t want to use the Dockerfile specified in the –file argument. And I can’t manage to find an exemple of cloudbuild.yaml using this argument.
Any idea on what’s happening ?

Source: Docker Questions