diff --git a/DOCKER.md b/DOCKER.md index e032a82..9d45a16 100644 --- a/DOCKER.md +++ b/DOCKER.md @@ -1,3 +1,40 @@ +# Docker Builds + +### Schema Overview + +`distro name`-`distro version`-`feature`-`stage`-`compiler`-`arch`-`cpu` + +Example: `ubuntu-22.04-full-built-clang-15-amd64-avx512` + +- `distro name` - The name of the operating system distribution. +- `distro version` - The version of the operating system distribution. +- `feature` - The feature level and dependencies packaged into this Construct build. +- `stage` - The deployment stage of the image. +- `compiler` - The name of the compiler toolchain used to build the image. +- `compiler version` - The version of the compiler toolchain used to build the image. +- `arch` - The micro-architecture platform the image was built for. +- `cpu` - The CPU instruction set and/or hardware-features the image was built for. + +### Choosing Images + +1. Choose a `feature`-`stage` level based on your needs. + - `base-built` - Ready for service with minimum required operating dependencies. + - `full-built` - Ready for service with all available features Construct can use. + + > 👉 For best possible service choose a `full-built` image. + +2. Select the appropriate `arch`-`cpu` for your hosting service. + + > 👉 If you are not sure: `amd64-avx` will probably be sufficient. + +3. Remaining choices are narrowed to distribution and compiler. + - Choose the latest version of any combination. + - Older combinations are built for compatibility and integration testing. + + > 👉 If you are not sure: the developers favor `ubuntu` with `clang`. + +## Images + | Fully Featured Builds | Minimal Dependencies | |:---|:---| | [![](https://img.shields.io/docker/image-size/jevolk/construct/ubuntu-22.04-full-built-clang-15-amd64.svg?logoWidth=25&label=ubuntu%2022.04%20amd64&logo=Docker&style=flat-square&color=5965AF)](https://registry.hub.docker.com/r/jevolk/construct/tags) | [![](https://img.shields.io/docker/image-size/jevolk/construct/ubuntu-22.04-base-built-gcc-12-amd64.svg?logoWidth=25&label=ubuntu%2022.04%20amd64&logo=Docker&style=flat-square&color=5965AF)](https://registry.hub.docker.com/r/jevolk/construct/tags)