Skip to content

Commit 2f0949e

Browse files
committed
Include Dockerfile in image
Addresses #55
1 parent 6610738 commit 2f0949e

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

docs/running-eoaps.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,17 @@ also ways to run CWL files and complete Application Packages locally.
55

66
## Understanding and debugging xcengine container images
77

8+
### The base image
9+
810
When generating a container image, xcengine uses a
911
[micromamba](https://mamba.readthedocs.io/en/latest/user_guide/micromamba.html)
1012
image as a base. If you need to investigate or
1113
debug an xcengine image, or if you're just curious about its structure, you may
1214
find the [micromamba-docker
1315
documentation](https://micromamba-docker.readthedocs.io/) useful.
1416

17+
### Entry points
18+
1519
xcengine sets a custom entry point to run its own runner script, so any commands
1620
provided when running a container from an xcengine image with `docker run`
1721
will be applied as arguments to the xcengine runner. For instance, for an
@@ -33,6 +37,15 @@ as well, like this:
3337
This resets the entry point to the usual micromamba-docker entry point, which
3438
sets up the Python environment, then runs bash within that environment.
3539

40+
### The Dockerfile and environment file
41+
42+
To aid reproducibility, the Dockerfile and environment file used to set up the
43+
container image are both included in the image itself, in the `/tmp`
44+
directory. The rest of the code and configuration for the image is in the
45+
`/home/mambauser` directory. In combination with the publicly available
46+
micromamba base image, each xcengine image thus contains the resources
47+
necessary to reproduce its own build process.
48+
3649
## Running with cwltool
3750

3851
[cwltool](https://www.commonwl.org/user_guide/introduction/quick-start.html)

xcengine/core.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,7 @@ def _build_image(self) -> docker.models.images.Image:
302302
dockerfile = textwrap.dedent(
303303
"""
304304
FROM mambaorg/micromamba:1.5.10-noble-cuda-12.6.0
305+
COPY Dockerfile Dockerfile
305306
COPY environment.yml environment.yml
306307
RUN micromamba install -y -n base -f environment.yml && \
307308
micromamba clean --all --yes

0 commit comments

Comments
 (0)