Running docker from a CommandLineTool

Hi Locos,

This probably could have been a comment on the question you linked.

Regardless, in order for someone to assist you, please provide a fully reproducible example (not just the base command attribute) along with any errors that you’re seeing along with what you’re expecting to run?

Speculating with the limited code above, I think you ought to put the docker components in the DockerRequirement section of your CWL CommandLineTool, i.e

requirements:
  DockerRequirement:
    dockerpull: image1:v1

The baseCommand section should then represent the script inside the docker container you are wanting to run. i.e

baseCommand: [ "bash", "myscript.sh" ]

cwltool will handle the -v/--volume parameters based off your inputs and most implementations will assign a rootless random uid for the -u/--user parameter.

2 Likes