Skip to content
forked from containerbase/base

The containerbase project's base image source

License

Notifications You must be signed in to change notification settings

aschleifer/base

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

containerbase base

Build status Docker Image Size (latest) GitHub release (latest SemVer) Licence: MIT codecov

This repository is the source for the Docker images containerbase/base and ghcr.io/containerbase/base. Commits to main branch are automatically build and published.

Local development

You need a recent docker version with buildx >= v0.4.0 plugin installed.

You first need to build the cli before building the docker images.

> yarn install
> yarn build

Base image

If you make changes to the src folder or the Dockerfile, you need to rebuild the containerbase/base image.

docker buildx bake

You can use the following command to ignore remote cache for local testing. This will probably speedup local builds.

docker buildx bake  --set *.cache-from=

Test images

To run one of the tests use the following command, it will run the java tests from test/java.

TAG=java docker buildx bake test

For other test images checkout test folder.

Distro test images

To run the jammy tests use the following command, it will run the test from test/Dockerfile.jammy.

TAG=jammy docker buildx bake test-distro

Apt proxy

You can configure an Apt proxy for the build by specifying an APT_HTTP_PROXY argument.

Example: docker build --build-arg APT_HTTP_PROXY=https://apt.company.com . -t my/image

You can simply export APT_HTTP_PROXY to your local env and our build tools will use your apt proxy for http sources.

Custom base image

To use a custom base image with containerbase/base checkout custom-base-image docs.

Custom Root CA Certificates

To add custom root certificates to the containerbase/base base image checkout custom-root-ca docs.

Temporary disable tool installer

To temporary disable / skip some tool installer set the build arg IGNORED_TOOLS to a comma separated case-insensitive tool names list.

The following sample will skip 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=docker versioning=docker
RUN install-tool node 14.17.3

# renovate: datasource=github-releases packageName=moby/moby
RUN install-tool docker 20.10.7

Custom registries

You can replace the default registries used to download the tools. Checkout custom-registries docs for more details.

Logging

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 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.

Footnotes

  1. https://getpino.io/#/docs/api?id=level-string

About

The containerbase project's base image source

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 38.7%
  • Shell 34.2%
  • Dockerfile 17.9%
  • JavaScript 4.1%
  • Ruby 2.3%
  • Elixir 1.2%
  • Other 1.6%