cwltool.docker
==============

.. py:module:: cwltool.docker

.. autoapi-nested-parse::

   Enables Docker software containers via the {u,}docker or podman runtimes.



Classes
-------

.. autoapisummary::

   cwltool.docker.DockerCommandLineJob
   cwltool.docker.PodmanCommandLineJob


Module Contents
---------------

.. py:class:: DockerCommandLineJob(builder, joborder, make_path_mapper, requirements, hints, name)

   Bases: :py:obj:`cwltool.job.ContainerCommandLineJob`

   .. autoapi-inheritance-diagram:: cwltool.docker.DockerCommandLineJob
      :parts: 1


   Runs a :py:class:`~cwltool.job.CommandLineJob` in a software container using the Docker engine.


   .. py:attribute:: docker_exec
      :value: 'docker'



   .. py:method:: get_image(docker_requirement, pull_image, force_pull, tmp_outdir_prefix)

      Retrieve the relevant Docker container image.

      :returns: True upon success



   .. py:method:: get_from_requirements(r, pull_image, force_pull, tmp_outdir_prefix, image_base_path = None)


   .. py:method:: append_volume(runtime, source, target, writable = False, skip_mkdirs = False)
      :staticmethod:


      Add binding arguments to the runtime list.



   .. py:method:: add_file_or_directory_volume(runtime, volume, host_outdir_tgt)

      Append volume a file/dir mapping to the runtime option list.



   .. py:method:: add_writable_file_volume(runtime, volume, host_outdir_tgt, tmpdir_prefix)

      Append a writable file mapping to the runtime option list.



   .. py:method:: add_writable_directory_volume(runtime, volume, host_outdir_tgt, tmpdir_prefix)

      Append a writable directory mapping to the runtime option list.



   .. py:method:: create_runtime(env, runtimeContext)

      Return the list of commands to run the selected container engine.



.. py:class:: PodmanCommandLineJob(builder, joborder, make_path_mapper, requirements, hints, name)

   Bases: :py:obj:`DockerCommandLineJob`

   .. autoapi-inheritance-diagram:: cwltool.docker.PodmanCommandLineJob
      :parts: 1


   Runs a :py:class:`~cwltool.job.CommandLineJob` in a software container using the podman engine.


   .. py:attribute:: docker_exec
      :value: 'podman'



