Giter Club home page Giter Club logo

base's Introduction

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. It is not associated with or compatible with the buildpacks.io project. 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 โ†ฉ

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.