Docker containers are used as they provide and excellent way to have a stable base system for deployment or use. Over the time the number of Docker images has grown and there are now pre-built containers available on DockerHub.
Here is a brief overview of the containers with links to GitHub as well as DockerHub:
- cppinsights-docker-base: GitHub/DockerHub the base image for all other images. The idea is, that this image defines which LLVM/Clang version is used, installs the smallest common packages and export the version number. All other Docker containers derive from it and can add LLVM/Clang packages if necessary with the matching version number. This system helps to keep the containers and with that the environment stable against update to either Ubuntu or LLVM/Clang.
- cppinsights-builder: GitHub/DockerHub the image used by Travis CI to build C++ Insights. It contains only the minimal packages to achieve this task.
- cppinsights-builder-gitpod: GitHub/DockerHub the image is used by GitPod and can also be used for local development (see script/Readme.md). It derives from cppinsights-builder and adds more packages suitable for development like
gdb
.
- cppinsights-webfrontend-container GitHub/DockerHub encapsulated the C++ Insights web fronted and calls the cppinsights-container to execute C++ Insights.
- cppinsights-container GitHub/DockerHub contains a pre-built C++ Insights binary including all the standard libraries required to use it.