Skip to main content

An easy-to-use wrapper for multi-platform Docker image builds.

Project description

mdocker

An easy-to-use wrapper for multi-platform Docker image builds.

Contents

Description

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

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

Note: There are, however, some workarounds and progress towards this issue.

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 BCONTEXT] [--file DFILE] [--platforms PLATFORMS] [--push] name

positional arguments:
  name                  specify a name for the image

options:
  -h, --help            show this help message and exit
  --context BCONTEXT    specify a path to build context
  --file DFILE          specify a path to Dockerfile
  --platforms PLATFORMS
                        specify target platforms (e.g., --platforms 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>

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mdocker-0.3.0.tar.gz (9.8 kB view hashes)

Uploaded Source

Built Distribution

mdocker-0.3.0-py3-none-any.whl (7.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page