-
Notifications
You must be signed in to change notification settings - Fork 271
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Alternative Methods of Extending Images? #550
Comments
One usage pattern is to build (or extend) a container at the time you want to snapshot, tag it appropriately --- and then in the future access that container image. Instead of hoping to remake it identically in the future. |
While true, in my mind, my feeling is that long-term storage of container images could be non-trivial... Whereas most people can be expected to keep the dockerfile (+ Renv) that they use. Is there a warning that images should be stored or else reproducibility may be broken in the future? |
Rocker's "versioned stack" builds on Ubuntu LTS for all system libraries, while the This isn't the same as being bitwise frozen -- it will receive "security patches", so if for those whose definitions of 'reproducible' is "I need to be able to reproduce the precise behavior including vulnerabilities and bugs", the only solution is to store the image and never rebuild it. Note that it would not only be unreasonably large to include 'every possible system library', but is also not technically possible. For instance, the repositories frequently contain different versions of software that are incompatible, installing one system library can cause another library to be uninstalled. |
If you need an image that includes almost all system libraries, you could use the R-universe or R-hub builder images. If you fix these with a hash (do not use tags), you should get the same version of the system libraries every time. |
@cboettig That makes sense to me--so if I understand what you're saying, it's a mix of likely-not a concern + not possible to solve for the versioned stack of rocker, right? Either way, maybe the documentation could be updated with a note regarding why storing the image might be necessary? |
Hello,
I was looking at the guide for extending rocker images and I noticed that
apt-get update
andapt-get install...
are necessary for installing certain packages. I was wondering if it'd be feasible for the/some rocker image to simply have all the possible system libraries already installed?Please correct me if I'm wrong--but my understanding is that having that requiring
apt-get
operations in the Dockerfile risks making the Docker images non-reproducible if the latest version of the system library changes in some way. And if the system library changes in a major way, then the non-reproducibility could be quite severe...The text was updated successfully, but these errors were encountered: