未提供项目描述
项目描述
docker-image-size-limit
使用简单的CLI命令限制您的docker
镜像大小。非常适合用于CI流程中。
阅读发布帖子。
安装
pip install docker-image-size-limit
或使用我们的Github Action或预构建docker镜像。
用法
我们支持单个命令
$ disl your-image-name:label 300MiB
your-image-name:label exceeds 300MiB limit by 114.4 MiB
添加--max-layers
标志以同时检查您的镜像中可能存在的最大层数
# If your image has 7 layers:
$ disl your-image-name:label 300MiB --max-layers=5
your-image-name:label exceeds 5 maximum layers by 2
# If your image has 5 layers:
$ disl your-image-name:label 300MiB --max-layers=5
# ok!
选项
您可以将镜像指定为
- 镜像名称:
python
- 带有标签的镜像名称:
python:3.6.6-alpine
您可以将大小指定为
- 原始字节数:
1024
- 可读的兆字节:
30 MB
或30 MiB
- 可读的千兆字节:
1 GB
或1 GiB
- 任何其他由
humanfriendly
支持的尺寸
程序化使用
您还可以将此库导入并作为python
代码使用
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!
我们还将与这个库一起提供与PEP-561兼容的类型注解。
GitHub Action
您还可以将此检查作为GitHub Action使用。
- uses: wemake-services/docker-image-size-limit@master
with:
image: "$YOUR_IMAGE_NAME"
size: "$YOUR_SIZE_LIMIT"
以下是一个示例。
Docker镜像
我们有可用的预构建镜像。
首先,拉取我们的预构建Docker镜像
docker pull wemakeservices/docker-image-size-limit
然后您可以像这样使用它
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
我应该使用它吗?
您可以使用此脚本代替
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!'
但在这里,我更喜欢重用工具而不是到处编写自定义bash
脚本。
许可证
MIT。
项目详情
关闭
docker_image_size_limit-2.0.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 591703b475964fd12d9b7c04fb5b6d71a6306e45f3bc10fef8e92d62520a12f1 |
|
MD5 | cbb9f91ffa98338a9862ffaae1a3d2b6 |
|
BLAKE2b-256 | 57081a8338dc0f05649b553de9474797066fc34f1a87a105eb9b213a2fc1e1df |
关闭
docker_image_size_limit-2.0.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 52f16a1e628f97842fe0c6bf9f0c5a64a7a18e718c9a3adf41e659233667ec37 |
|
MD5 | d8fbc52eb8d8c8456345735afb891031 |
|
BLAKE2b-256 | d45872d88aa79ceb6cbc20e8e99ff72b25d0d341978295ed68d17f2aafedb97d |