This repository is a collection of Docker images we use internally for testing out runtimes/frameworks.
Daily builds are run against these images and automatically sent to our DockerHub repository at:
https://gallery.ecr.aws/govtechsg/base-images
All runtimes are built from official sources using the methods documented in the runtimes' official documentation.
- Node.js (
node*)
The images are found in the Public ECR registry, and the names of the different types of images are added as a tag. For example given a type of image called xyz, it will be available under the repository URL public.ecr.aws/govtechsg/base-images:xyz-latest.
Canonical Tag: node*-<NODE_VERSION>
Latest URL: public.ecr.aws/govtechsg/base-images:node-latest
The * is available for versions of Node which satisfy the following criteria:
- is an LTS release
- is the latest non-LTS release
Generally compiled Node.js binary that comes with Yarn.
General compilation allows for debugging and performance profiling.
Available runtime commands:
npmnodeyarn
Images specified here can be uploaded to other repositories if you so wish. The commands are:
The build script creates the build for the specified image:
REPO=__URL_TO_REPO__
IMAGE_NAME=__DIRECTORY_NAME__
./.scripts/.build.sh "${REPO}" "${IMAGE_NAME}"An example to upload to a ECR at public.ecr.aws/yourusername/yourimage:dind-latest:
REPO="public.ecr.aws/yourusername/yourimage"
IMAGE_NAME="dind"
./.scripts/.build.sh "${REPO}" "${IMAGE_NAME}"The publish script in each directory sends your built image to DockerHub and relies on the ./.scripts/.build.sh script being run prior to it. The general format of usage:
REPO=__URL_TO_REPO__
IMAGE_NAME=__DIRECTORY_NAME__
./${IMAGE_NAME}/.publish.sh "${REPO}:${IMAGE_NAME}"A corresponding example to upload to a DockerHub repository at public.ecr.aws/yourusername/yourimage:dind-latest:
REPO="public.ecr.aws/yourusername/yourimage"
IMAGE_NAME="dind"
./${IMAGE_NAME}/.publish.sh "${REPO}:${IMAGE_NAME}"Each directory and type of image has its own publish script because of the different ways they are versioned.