repo2docker/docs/source/cli.md

2.7 KiB

Command-line usage and API

repo2docker is called with this command:

repo2docker <source-repository>

where <source-repository> is a repository in one of the supported repository providers.

For example, the following command will build an image of Peter Norvig's Pytudes repository:

repo2docker https://github.com/norvig/pytudes

Building the image may take a few minutes.

Pytudes uses a requirements.txt file to specify its Python environment. Because of this, repo2docker will use pip to install dependencies listed in this requirements.txt file, and these will be present in the generated Docker image. To learn more about configuration files in repo2docker visit .

When the image is built, a message will be output to your terminal:

Copy/paste this URL into your browser when you connect for the first time,
to login with a token:
    http://0.0.0.0:36511/?token=f94f8fabb92e22f5bfab116c382b4707fc2cade56ad1ace0

Pasting the URL into your browser will open Jupyter Notebook with the dependencies and contents of the source repository in the built image.

Debug repo2docker with --debug and --no-build

To debug the container image being built, pass the --debug parameter:

repo2docker --debug https://github.com/norvig/pytudes

This will print the generated Dockerfile, build it, and run it.

To see the generated Dockerfile without actually building it, pass --no-build to the commandline. This Dockerfile output is for debugging purposes of repo2docker only - it can not be used by Docker directly.

repo2docker --no-build --debug https://github.com/norvig/pytudes

Build from a branch, commit or tag

To build a particular branch and commit, use the argument --ref and specify the branch-name or commit-hash. For example:

repo2docker --ref 9ced85dd9a84859d0767369e58f33912a214a3cf https://github.com/norvig/pytudes

:::{tip} For reproducible builds, we recommend specifying a commit-hash to deterministically build a fixed version of a repository. Not specifying a commit-hash will result in the latest commit of the repository being built. :::

Set environment variables during builds

When running repo2docker locally you can use the -e or --env command-line flag for each variable that you want to define.

For example:

repo2docker -e VAR1=val1 -e VAR2=val2 ...

You can also configure environment variables for all users of a repository using the configuration file.

(command-line-api)=

Command-line API

:prog: repo2docker