Container

This folder contains various container build instruction files.

  • The DevDockerfile builds a container from github sources and installs some helpful modules and libraries before that.

  • The Dockerfile builds a container from a wheel build. This is used for the official container built.

Note: there are other Dockerfiles for specific purposes. For an onlinevalidator container at accessories/onlinevalidator/Dockerfile and a vscode remote container at .devcontainer/Dockerfile.

Repository

Our main container registry is at quay.io. Its builds are made by github actions (for releases) and pushed to quay.io mwalzer/pymzqc reporitory. Another container repository for the mzqc-validator is at mwalzer/mzqc-validator; see more the accessories documentation for the onlinevalidator.

Container Engine Flavours

Thanks to the intercompatibility of many container systems, we can use different container engines to run pymzqc. This section is meant as a cheat-sheet for quick switching.

Podman

Note: if you don’t specify a name for a container, it will be assigned an autogenerated name (e.g. friendly_cannon). It also means you will create a different container every time you use podman run and keep it if you don’t also specify the --rm option.

Get an image: podman pull quay.io/pypa/manylinux2010_x86_64:latest

Create, run and enter a container named test based an image podman run -ti --name test docker.io/library/python:3.6.9-slim-buster bash Will give you an interactive shell. Issue exit to exit and stop the container. Using podman ps you can check that there is not a running container named manytest. With podman ps -a you can see that the container is here.

To start again and enter inside the container podman start -ia manytest Note that start has many other arguments like --name, --hostname, --network, --mount that might be of interest. See podman docs.

To delete the container podman rm manytest