DockerRequirement

Indicates that a workflow component should be run in a Docker container, and specifies how to fetch or build the image. If a CommandLineTool lists DockerRequirement under hints (or requirements), it may (or must) be run in the specified Docker container. The platform must first acquire or install the correct Docker image as specified by dockerPull, dockerImport, dockerLoad or dockerFile. The platform must execute the tool in the container using docker run with the appropriate Docker image and tool command line. The workflow platform may provide input files and the designated output directory through the use of volume bind mounts. The platform should rewrite file paths in the input object to correspond to the Docker bind mounted locations. That is, the platform should rewrite values in the parameter context such as runtime.outdir, runtime.tmpdir and others to be valid paths within the container. When running a tool contained in Docker, the workflow platform must not assume anything about the contents of the Docker container, such as the presence or absence of specific software, except to assume that the generated command line represents a valid command within the runtime environment of the container. ## Interaction with other requirements If EnvVarRequirement is specified alongside a DockerRequirement, the environment variables must be provided to Docker using --env or --env-file and interact with the container's preexisting environment as defined by Docker.

Members

Mixins

__anonymous
mixin genCtor
Undocumented in source.
__anonymous
mixin genIdentifier
Undocumented in source.
__anonymous
mixin genDumper
Undocumented in source.

Static variables

class_
auto class_;

Always 'DockerRequirement'

Variables

dockerFile_
Either!(None, string) dockerFile_;

Supply the contents of a Dockerfile which will be built using docker build.

dockerImageId_
Either!(None, string) 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.

dockerImport_
Either!(None, string) dockerImport_;

Provide HTTP URL to download and gunzip a Docker images using `docker import.

dockerLoad_
Either!(None, string) dockerLoad_;

Specify a HTTP URL from which to download a Docker image using docker load.

dockerOutputDirectory_
Either!(None, string) dockerOutputDirectory_;

Set the designated output directory to a specific location inside the Docker container.

dockerPull_
Either!(None, string) dockerPull_;

Specify a Docker image to retrieve using docker pull.

Meta