Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Easy-to-use wrapper for multi-platform Docker image builds

License

seppzer0/mdocker

Repository files navigation

mdocker

An easy-to-use wrapper for multiplatform Docker image builds.

Contents

Description

mdocker is a simple wrapper over Docker Buildx, which can be used for easy image building targeted for various platforms.

This tool was originally designed as a workaround to a limitation that Buildx has with the --load parameter.

So, the amount of target platforms specified for this wrapper will be equal to the amount of tags generated in local cache.

E.g., if linux/arm64 and linux/amd64 were specified as target platforms for a demo image, you will get demo:arm64 and demo:amd64 built and stored within your local Docker cache.

Usage

mdocker requires an installation of Python 3.10+.

Below is a help message with the description of arguments.

$ python3 -m mdocker --help
usage:  [-h] [--context CONTEXT] [--file FILE] [--platform PLATFORM] [--push]
        name

positional arguments:
  name                 specify a name for the image

options:
  -h, --help           show this help message and exit
  --context CONTEXT    specify a path to build context
  --file FILE          specify a path to Dockerfile
  --platform PLATFORM  specify target platforms (e.g., --platform linux/amd64,linux/arm64)
  --push               push image to remote registry

Installation

From PyPI (recommended)

To install latest mdocker package from PyPI, use:

python3 -m pip install mdocker

Local from source

To install and debug mdocker locally, in the root of repository use:

python3 -m pip install -e .

No installation, direct run from source

To run mdocker without any installation into local cache, in the root of repository use:

export PYTHONPATH=$(pwd)
python3 -m poetry install --no-root
python3 mdocker <arguments>

About

Easy-to-use wrapper for multi-platform Docker image builds

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published