You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/snakefiles/deployment.rst
+10-6Lines changed: 10 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -422,7 +422,7 @@ otherwise, it assumes the given specification to point to an existing environmen
422
422
Running jobs in containers
423
423
--------------------------
424
424
425
-
As an alternative to using Conda (see above), it is possible to define, for each rule, a (docker) container to use, e.g.,
425
+
As an alternative to using Conda (see above), it is possible to define, for each rule, a (Docker) container to use, e.g.,
426
426
427
427
.. code-block:: python
428
428
@@ -448,6 +448,10 @@ it will execute the job within a container that is spawned from the given image.
448
448
Allowed image urls entail everything supported by apptainer (e.g., ``shub://`` and ``docker://``).
449
449
However, ``docker://`` is preferred, as other container runtimes will be supported in the future (e.g. podman).
450
450
451
+
Note that the isolation of jobs running in containers depends on the container engine.
452
+
For example, Docker does not pass any host environment variables to the container, whereas Apptainer/Singularity passes everything.
453
+
To override the default behaviour, consider using ``--apptainer-args`` or ``--singularity-args``, e.g. to pass ``--cleanenv``.
454
+
451
455
Defining global container images
452
456
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
453
457
@@ -633,10 +637,10 @@ and reproduce the data analysis at any time in the future.
633
637
Global workflow dependencies
634
638
----------------------------
635
639
636
-
Often, your workflow will depend on some additional packages that need to be present
640
+
Often, your workflow will depend on some additional packages that need to be present
637
641
along with Snakemake in order to handle actions before any rule is executed.
638
-
Classical examples for this are `pandas <https://pandas.pydata.org/>`_,
639
-
`pep <https://pep.databio.org>`_ (also see :ref:`snakefiles-peps`) and
642
+
Classical examples for this are `pandas <https://pandas.pydata.org/>`_,
643
+
`pep <https://pep.databio.org>`_ (also see :ref:`snakefiles-peps`) and
640
644
:ref:`storage plugins <storage-support>`.
641
645
642
646
Snakemake allows to define such global dependencies using a global ``conda`` directive
@@ -655,8 +659,8 @@ With ``envs/global.yaml`` containing e.g.::
655
659
dependencies:
656
660
- pandas=1.0.3
657
661
- snakemake-storage-plugin-s3
658
-
659
-
Under the hood, this is implemented using `conda-inject <https://github.com/koesterlab/conda-inject>`_,
662
+
663
+
Under the hood, this is implemented using `conda-inject <https://github.com/koesterlab/conda-inject>`_,
660
664
which modifies the python searchpath and the PATH variable on the fly during execution,
661
665
pointing to additional environments that do not alter the environment in which Snakemake
0 commit comments