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.0.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce391464ee1974332de2fd36d76c3008af1930abb583a84a4bf07a8ba2868977 |
|
MD5 | c730e459d3dc81c259043760a56cc439 |
|
BLAKE2b-256 | 4fa50dd23710b29adf2e55bfe681ae941afd0fc2e020fbd6f9c38aa9bca40abb |
Hashes for docker_image_size_limit-1.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9d6e59d48df316f9940c05633f6cdcb07ff75b8462d3764f05b734edd9373b10 |
|
MD5 | 529eb6cd42b9af5dc7af08a4cad7e3b9 |
|
BLAKE2b-256 | 7f4a4409b774c9d8c48da7e9bb9db5e82350fa211ec29dca93c5a3d143ae5723 |