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. Withpodman 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