-
Notifications
You must be signed in to change notification settings - Fork 359
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
Let FROM <base_image>
in the Dockerfile template be configurable
#909
Conversation
Can we use this PR to make not only the tag but the full base image name configurable via traitlet? This has come up as an idea in #487 (I think) or a related issue about making the base image configurable. I think allowing the person running The other bit of homework to do is finding the ticket/docs where we wrote how long we will use this base image/when we will update. So that we can be consistent with what we promised. |
28df4d7
to
a13c4fd
Compare
I just rebased this. We hard code a bunch of packages - particularly in the R ecosystem - to bionic. I think making the base image configurable would mean we'll have to restrict it to one of two choices (bionic, focal) so the R buildpack knows which versions of things to use. But that seems like a lot of added complexity... |
Can we install R and rstudio from conda instead of depending on the underlying OS? |
@manics unfortunately we can't, as we'll then stop being able to install binary packages from packagemanager.rstudio.com |
Although, perhaps we can get it from https://docs.rstudio.com/resources/install-r/ |
I'm trying out getting R from RStudio tho (#1161) maybe that'll help remove anything distro specific |
Now based on #1161, and I'll try make the base image configurable as well once tests pass. |
tests pass, yay! |
b5d5342
to
d26c1f1
Compare
When do you plan to merge this PR? Thank you @yuvipanda for this as we need to update base image because of public docker registry pull limits |
@mahluk slow going :) Hopefully the tests are fixed up now, and we can figure out how to run these tests. |
@minrk @betatim @manics @consideRatio would love some review on this one now - I think it's ready to go. This doesn't actually change any behavior, just makes that configurable. We can eventually parameterize the base image tests so they run on multiple ones, but I don't think that's needed in this PR |
Tests this repo2docker action PR: jupyterhub/repo2docker-action#96 to test this repo2docker PR: jupyterhub/repo2docker#909
We investigated using this PR now that Ubuntu 18.04 is past its maintenance period. (although still within the extended security maintenance period). It successfully built the image for a jupyterhub deployment when I specified
Since repo2docker is locked into Ubuntu Bionic right now for non-Dockerfile builds, would it be more palatable to permit people to change just the Ubuntu version, and let that update the RStudio package manager URL? Configuration via |
I think outstanding issues are addressed via the docs. To me, making it configurable from the CLI lets repo2docker be configured and there are no changes for the reproducibility of repos via services like binder, where the base image doesn't enter into it. I think we do also need to bump the default distro used in a separate PR, because 18.04 is super old now. |
Yay, would love to get this merged before it hits the 3 year anniversary of June 9 :D |
@minrk aaah, the R test might still be failing because MRAN doesn't work on newer ubuntu? |
@yuvipanda MRAN has is slated for imminent retirement July 1, and may not still be doing any snapshorts? I recommend switching over to Posit package manager, which has snapshots (and binary builds! though it goes back only to Oct 2017; MRAN dated back to 2014). |
we got one more day lol! XD |
Everything passes but the MRAN tests, fixed by #1285 Merging on 3 years to the day! |
\o/ thank you, @minrk! |
This PR makes the base image configurable via a traitlet that can be passed in
to the commandline when calling repo2docker. It keeps the current default (bionic),
but open to making the default change in the future.
This is the first time we're allowing traitlets (other than .appendix) to directly
influence the contents of the built image, definitely affecting reproducibility. I
am not sure if there is a way around that, unfortunately.
References