No project description provided
Project description
docker-image-size-limit
Limit your docker
image size with a simple CLI command.
Perfect to be used inside your CI process.
Read the announcing post.
Installation
pip install docker-image-size-limit
Or use our Github Action or pre-built docker image.
Usage
We support just a single command:
$ disl your-image-name:label 300MiB
your-image-name:label exceeds 300MiB limit by 114.4 MiB
Options
You can specify your image as:
- Image name:
python
- Image name with tag:
python:3.6.6-alpine
You can specify your size as:
- Raw number of bytes:
1024
- Human-readable megabytes:
30 MB
or30 MiB
- Human-readable gigabytes:
1 GB
or1 GiB
- Any other size supported by
humanfriendly
Programmatic usage
You can also import and use this library as python
code:
from docker import from_env
from docker_image_size_limit import check_image_size
oversize = check_image_size(from_env(), 'image-name:latest', '1 GiB')
assert oversize < 0, 'Too big image!' # negative oversize - is a good thing!
We also ship PEP-561 compatible type annotations with this library.
Github Action
You can also use this check as a Gihub Action:
- uses: wemake-services/docker-image-size-limit@master
with:
image: "$YOUR_IMAGE_NAME"
size: "$YOUR_SIZE_LIMIT"
Here's an example.
Docker Image
We have a pre-built image available.
First, pull our pre-built docker image:
docker pull wemakeservices/docker-image-size-limit
Then you can use it like so:
docker run -v /var/run/docker.sock:/var/run/docker.sock --rm \
-e INPUT_IMAGE="$YOUR_IMAGE_NAME" \
-e INPUT_SIZE="$YOUR_SIZE_LIMIT" \
wemakeservices/docker-image-size-limit
Should I use it?
You can use this script instead:
LIMIT=1024 # adjust at your will
IMAGE='your-image-name:latest'
SIZE="$(docker image inspect "$IMAGE" --format='{{.Size}}')"
test "$SIZE" -gt "$LIMIT" && echo 'Limit exceeded'; exit 1 || echo 'Ok!'
But I prefer to reuse tools over
custom bash
scripts here and there.
License
MIT.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for docker_image_size_limit-1.1.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6a5a37d4fa4487f09e8ec87f9626521c500dac73b1d4d43111ec9bac88ce065 |
|
MD5 | 2e9de641c53c04829ff9534dad929f69 |
|
BLAKE2b-256 | 6e660fe1df4a8efdc48635bc70755051348b608cd90736d4fe1e02e843815d07 |
Hashes for docker_image_size_limit-1.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 101425bc782422ec4d74578f7cc453563a5b7ed83e3f248f99c92b39fee09132 |
|
MD5 | 4861f1055d9d6157e0550b64fb056194 |
|
BLAKE2b-256 | ec7303d44d5af92a45b89cdc7dab2ddabab14df1214acf874b3b1f01d53186f6 |