dockerImageId can not be known before dockerFile build

I’m having an issue with the dockerFile component of the spec and cwltool implementation.

If I specify a dockerFile, the build system must execute before the image hash can be known. The human-readable name (repository+tag), can be referenced…but the hash can’t be known until the build is complete.

Perhaps dockerImageId should be called dockerName, as the imageId refers to something specific which is not the human-readable name. Reference: https://docs.docker.com/engine/reference/commandline/images/

Thank you @qwofford for your report

In the CWL v1.2 standard the following is written in Section 5.6: DockerRequirement:

dockerImageId
The image id that will be used for docker run. May be a human-readable image name or the image identifier hash. May be skipped if dockerPull is specified, in which case the dockerPull image id must be used.

Changing the name of dockerImageId in CWL v1.x would break things, but we could consider allowing another name instead. You can make a proposal at Sign in to GitHub · GitHub to do that