Skip to content

hellosze/exercism-docker

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Exercism Docker

Here are Docker images that can be used to quickly get up and running with the online code learning platform Exercism. Part of the experience of learning a new programming language is setting up the tooling and environment, but it's not always desirable to install a lot of software just to experiment with a new language. This project aims to use containerization to isolate the Exercism track environment from the rest of the host system. Not affiliated with Exercism, Inc.

Installation

Requires Docker.

Build the base Docker image:

make build_base_image

Build a track-specific image:

TRACK=<track-name> make build_track_image

E.g.:

make build_base_image && TRACK=python make build_track_image

Usage

Run a track's container (requires an exercism.org CLI token):

TOKEN=<my-exercism-token> \
  TRACK=<track-name> \
  make run_track

Running the above command will drop you into a bash prompt on the running container. Exercism track code is saved in the /workspace directory on the container, which is mounted from ./workspace on the host machine in the root directory of this project. On the container, you can use the exercism CLI tool to download exercises, e.g.:

root@68483403b74e:/workspace/python# exercism download --exercise=hello-world --track=python

Supported Tracks:

The TRACK environment variable for the above usage commands is cpp, e.g.

TOKEN=<my-exercism-token> TRACK=cpp make run_track

Local port 4000 will be bound to the nrepl port on the container, but this can be overridden with an env var, e.g.:

LEIN_REPL_PORT=4444 \
  TOKEN=<my-exercism-token> \
  TRACK=clojure \
  make run_track

About

Docker images for Exercism tracks

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dockerfile 72.2%
  • Shell 22.2%
  • Makefile 5.6%