This repository is the source for the Docker images containerbase/base and ghcr.io/containerbase/base.
The commits to the main branch are automatically built and published.
Install a recent version of:
You must first build the CLI, before you build the Docker images.
> pnpm install
> pnpm buildIf you make changes to the src folder or the Dockerfile, you must:
- run
pnpm build - rebuild the
containerbase/baseimage
pnpm build
docker buildx bakeYou can use the following command to ignore the remote cache for local testing. This may speed up your local builds.
docker buildx bake --set *.cache-from=To run one of the tests use the following command, it will run the Java tests from test/java.
TAG=java docker buildx bake testFor other test images see the test folder.
To run the noble tests use the following command, it will run the test from test/Dockerfile.distro.
TAG=noble docker buildx bake test-distroTo run the jammy tests use the following command, it will run the test from test/Dockerfile.distro.
TAG=jammy docker buildx bake test-distroYou can configure an apt proxy for the build by setting an APT_HTTP_PROXY argument.
For example: docker build --build-arg APT_HTTP_PROXY=https://apt.company.com . -t my/image
You can export APT_HTTP_PROXY to your local env and our build tools will use your apt proxy for the http sources.
To use a custom base image with containerbase/base read the custom-base-image docs.
To add custom root certificates to the containerbase/base base image read the custom-root-ca docs.
To temporarily disable or skip some tool installer: set the build arg IGNORED_TOOLS to a comma separated case-insensitive tool names list.
For example, the following Dockerfile skips the installation of powershell and node:
FROM containerbase/base
ARG IGNORED_TOOLS=powershell,node
# renovate: datasource=github-releases packageName=PowerShell/PowerShell
RUN install-tool powershell v7.1.3
# renovate: datasource=github-releases packageName=containerbase/node-prebuild versioning=node
RUN install-tool node 20.9.0
# renovate: datasource=github-releases packageName=moby/moby
RUN install-tool docker 20.10.7You can replace the default registries used to download the tools. Read the custom-registries docs for more details.
The new CLI has some new logging features.
You can change the default info log level by setting the CONTAINERBASE_LOG_LEVEL1 environment variable.
If CONTAINERBASE_DEBUG is set to true the CLI will automatically set the log level to debug, if not explicit set.
You can also log to a .ndjson file via CONTAINERBASE_LOG_FILE and CONTAINERBASE_LOG_FILE_LEVEL environment variables.
The default value for CONTAINERBASE_LOG_FILE_LEVEL is debug.