Stdpopsim: docker image

Created on 30 Oct 2020  路  5Comments  路  Source: popsim-consortium/stdpopsim

We should create an automated docker image, linked to the official releases. This was brought up in the first workshop.

If someone else doesn't volunteer to set this up, I can work on it (eventually...) since I have experience.

All 5 comments

Hey @agladstein, what would this entail? Is it just a yaml config file, or is there more to it? How are these docker images used in practice?

a docker image is made with a Dockerfile (see for example https://github.com/tskit-dev/msprime/blob/main/Dockerfile). Then the Docker image can be automatically built and updated on Dockerhub (e.g. https://hub.docker.com/r/tskit/msprime/builds). The Docker image, which contains the complete environment, can then be pulled from DockerHub and run anywhere via a Docker or Singularity container (or apparently podman - never heard of podman). Docker containers usually cannot be run on HPC, but Singularity containers can.
In my opinion, they are most useful when running things on different systems and you don't want to have to deal with getting your environment set up multiple times (or maybe you have conflicts in your environment). So, for example, when I run my workflows on different HPC clusters, I just run everything with the same singularity container. I can also give that same singularity container to anyone else who wants to run the workflow and they don't need to install anything.

@castedo set up a slightly different workflow in https://github.com/tskit-dev/containers, which I haven't got caught up on yet.

The workflows I setup are for:

  • personal development/testing environments for msprime, it doesn't actually install msprime, only dependencies for developing and testing are installed: nests
  • batch testing of msprime installation on tons of different Linux distros, only temporarily build images, throws them away after testing msprime installation: polydistro

So the automated docker image building I think is more what @agladstein links to which is for the scenarios of end-users of msprime who want a container with msprime already installed.

Here's a docker file for msprime and another I made for a workshop. This includes SLiM and msprime, (plus some extra stuff) so should be a good place to start.

I also have this docker file that I made for my personal project that has everything I like. Just another example.
https://hub.docker.com/r/agladstein/data_science_popgen_notebook

Was this page helpful?
0 / 5 - 0 ratings

Related issues

agladstein picture agladstein  路  4Comments

agladstein picture agladstein  路  7Comments

mufernando picture mufernando  路  7Comments

grahamgower picture grahamgower  路  5Comments

jeromekelleher picture jeromekelleher  路  4Comments