MIT 6.S094 has a Dockerfile[^1] that contains all the software required for taking part in the class. This is a huge boon for getting stuck into the class and its coursework.
MIT 6.S094 has a Dockerfile[^1] that contains all the software required for taking part in the class. This is a huge boon for getting stuck into the class and its coursework.
IMHO, every Dockerfile has left-pad written all over it.
Reproduciblity is all about the starting point. Computers are electronic, so if your computation requires high entropy from some random source and supposed next run there is not enough entropy your experiment may fail. But that's really really really a corner case. Docker image keeps the state of the starting point (kernel, packages, history of bashrc etc) are kept version controlled. It is as if someone gave you a copy of the virtualbox image.
So how do we lock down?
1) When you start with a Dockerfile, specify the version of the packages you are installing
2) When you want to reproduce, you can rebuild an image with that Dockerdile.
3) But most people are just going to use your image which is always the same now or next year. Building image != launching a container using an image.
There's been some effort individually to integrate Docker with Condor (after all, both are just processes running on some host machine).