nuest / ten-simple-rules-dockerfiles

Ten Simple Rules for Writing Dockerfiles for Reproducible Data Science
https://doi.org/10.1371/journal.pcbi.1008316
Creative Commons Attribution 4.0 International
64 stars 15 forks source link

Discussion - Rule 4. Pin versions #11

Closed psychemedia closed 4 years ago

psychemedia commented 5 years ago

This relates to both any pulled from image, as well as packages installed by the current Dockerfile.

One issue I keep running in to is how best to maintain a Dockerfile that runs with latest package versions compared to one that has explicitly bound package versions.

The result is that my Dockerfile is generally unpinned, using latest, but that I then push particular tagged versions of specific image builds and call on those images when launching containers. The image is thus fixed, but there is probably no way I can easily and directly rebuild it from the Dockerfile. The Dockerfile build process is therefore used to update images that I may then call on explicitly.

nuest commented 4 years ago

The issue of "externalising" things/content outside of the Dockerfile is for now captured in this rule, but also in Rule 3. It should be in, but I'm unsure where it fits best.