Skip to content

Dockerfile Architecture

Tan Wei Liang edited this page Jul 27, 2020 · 1 revision

This page briefly describes how the Dockerfiles in this repository have been set up.

Base

The base image consists of a standard Ubuntu 20.04 LTS image with some basic setup common to all images (e.g. updating Linux packages and installing Python/boto3).

Most (if not all) images originate from the same base image. This is to speed up the build process by avoiding unnecessary repetition of build steps.

Language

For some languages, both REPL and Compile execution types depend on the same package. For example, installing default-jdk allows one to use both jshell (for REPL) and javac (for Compile).

Again, in such cases to avoid unnecessary repetition of build steps, a language-specific "base" may be created to serve as an intermediate image.

Execution type

Finally, the entrypoint is defined according to each individual execution type.

Clone this wiki locally