Skip to content

JaneliaSciComp/containers

Repository files navigation

Containers

Docker (OCI) containers for reusable workflow plugins. These are used in Nextflow Modules.

Principles

We want containers that:

  1. Are reproducible - if you rebuild the same Dockerfile a year later, you should get basically the same container.
  2. Are optimized - We use standard techniques to speed up builds and we use multistage builds to reduce the size of the final image.
  3. Include metadata - every image includes OCI metadata

Publishing images

Containers in this repository are published as packages in the GitHub Container Registry using these steps:

  1. Obtain a GitHub personal authentication token and save it into your terminal environment as $GITHUB_PACKAGE_TOKEN.

  2. Log into the registry

echo $GITHUB_PACKAGE_TOKEN | docker login ghcr.io --username $USER --password-stdin
  1. Build your image
./build.sh stitching-spark/1.10.0

The build script adds important metadata to the image, and then asks you if you want to push it to GCR.

  1. Reference your image

The image will be available in GHCR, but needs to be made public manually. After that, it can be referenced like this:

ghcr.io/janeliascicomp/toolname:1.0.0