question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Add support for pinning repo2docker version

See original GitHub issue

One thing missing for fully reproducible environments is a mechanism for pinning the version of repo2docker.

Several people have proposed ideas and it seems we have a plan: repo2docker will start, inspect a /binder/repo2docker.version file that specifies the version (git commit or version) that the user wants to use and then restart/start a new copy of repo2docker in that version.

The way I’d start on this is to experiment with adding a new entrypoint/CLI script that starts the current repo2docker CLI script inside a container together with the right mounts(?). Docker hub has a collection of images for lots of git revisions which we can use.

(related #170)

Issue Analytics

  • State:open
  • Created 5 years ago
  • Comments:11 (8 by maintainers)

github_iconTop GitHub Comments

2reactions
betatimcommented, Jan 3, 2019

IMHO running from the CLI should do the same thing as using repo2docker as a library. This means that running repo2docker https://github.com/org/repo does the following:

  1. fetch the repository
  2. inspect the repository to find the version of repo2docker it specifies; default to the version of repo2docker that is installed
  3. run docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock -e DOCKER_HOST=unix:///var/run/docker.sock jupyter/repo2docker:<r2dversionhere> ... with the ... replaced by the original CLI arguments

This is the MVP I’d try to implement and see what happens/breaks. One thing that could get tricky is to get repo2docker /path/to/local/directory to work properly when forwarding the CLI arguments.

I think almost all uses of repo2docker right now are via the CLI, I don’t know many who use repo2docker as a library. So I think we should aim for pip install jupyter-repo2docker; repo2docker https://gitlab.com/org/repo-with-version-specified-in-it to “just work” as something you can type into a terminal.

0reactions
manicscommented, May 17, 2021

At some point we’ll have to update the R2D base image, so I guess this will become more critical.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Add support for pinning repo2docker version #490 - GitHub
The way I'd start on this is to experiment with adding a new entrypoint/CLI script that starts the current repo2docker CLI script inside...
Read more >
Frequently Asked Questions (FAQ) - Repo2Docker
Repo2docker officially supports the following versions of Python (specified in your environment.yml or runtime.txt file):. 3.7 (added in 0.7, default in 0.8).
Read more >
Creating environment.yml for Python 2 via Binder - repo help
The docs for repo2docker contain a helpful section about how to export an environment.yml file with pinned versions using conda: ...
Read more >
jupyter-repo2docker - PyPI
Using repo2docker. Prerequisites. Docker to build & run the repositories. The community edition is recommended. Python 3.6+. Supported on Linux and macOS.
Read more >
jupyterhub/binder - Gitter
i tried to do as you said (install repo2docker) and ran, but i got stuck early on ... Unfortunately, it's not yet possible...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found