Skip to content

User_Docker

Isabelle Guyon edited this page Nov 16, 2017 · 19 revisions

This page is a cheat sheet for users (participants or organizers) who want to run their code in their own docker. If you are an organizer, you can specify your new docker as a competition property in the competition YAML file or the editor. Contact us if you need participants to specify their own docker.

Imagine that you want to change/modify the version of Python Codalab competition used by default codalab/default, which points right now to docker-codalab-legacy-worker a.k.a. ckcollab/codalab-legacy.

One way is to:

  1. Install docker. Create a repo e.g. myrepo/codalab
  2. At the prompt, type: docker run -it -u root ckcollab/codalab-legacy /bin/bash
  3. The prompt will look like root@78e82f680994$, make a note of the container ID e.g. 78e82f680994.
  4. Install anything you want at the docker container shell
  5. Exit the shell with exit
  6. docker commit 78e82f680994 myrepo/codalab:legacy (replace legacy by another name or a version number)
  7. docker login
  8. docker push myrepo/codalab:legacy

Another way is to:

  1. Install docker. Create a repo e.g. myrepo/codalab
  2. Folk or download docker-codalab-legacy-worker from Github.
  3. Put the docker image in a new directory and modify Dockerfile:
mkdir codalab
cp /path/to/docker-codalab-legacy-worker/Dockerfile codalab/Dockerfile
cd codalab 
vim Dockerfile
  1. Build docker: docker build -t myrepo/codalab:legacy . Be sure to run the docker build command from within the directory that contains the Dockerfile.

  2. Push your image to the repo: docker push myrepo/codalab:legacy

CREDITS: This page is inspired by this cheat sheet.

Clone this wiki locally