Using the Container
Invoking a shell inside the container
To invoke a shell session inside the container:
# Docker command docker run -it immcantation/suite:devel bash # Singularity command singularity shell immcantation_suite-devel.sif
Executing a specific command
After invoking an interactive session inside the container, commands can be executed in the container shell as they would be executed in the host shell.
Alternatively, it is possible to execute a specific command directly inside the
container without starting an interactive session. The next example demonstrates
how to execute
$HOME/project mounted to
# Docker command docker run -v $HOME/project:/data:z immcantation/suite:devel ls /data # Singularity command singularity exec -B $HOME/project:/data immcantation_suite_|docker-version|.sif ls /data
Inspecting the container components
The container includes three informational scripts that provide details about the versions of installed software and available pipelines.
versions reportcommand will inspect the installed software versions and print them to standard output.
builds reportcommand will display the build date and changesets used during the image build. This is particularly relevant if you are using the
pipelines reportcommand will display a list of available example pipelines included in the container.
Each command can be run using:
# Docker command docker run immcantation/suite:devel [command] # Singularity command singularity exec immcantation_suite_|docker-version|.sif [command]
Using the container for tutorials
If you would like to run and interact with the Jupyter notebook tutorials from your Docker container, run the following command (replace
devel with a release version if applicable):
docker run --network=host -it --rm -p 8888:8888 immcantation/lab:devel
Note that in the container, Jupyter uses the default port 8888. Once the container is running, you will see a message in the terminal asking you to visit a url similar to http://<hostname>:8888/?token=<token>
Visit the url and open the notebook you want to use.
Note: If you want to save the results locally in your computer, you need to bind the folder where you want to save the results to (<my-out-dir>), and the results folder in the container.
# change my-out-dir to the local directory where you want to have the results saved to docker run --network=host -it --rm \ -v <my-out-dir>:/home/magus/notebooks/results:z \ -p 8888:8888 immcantation/lab:devel