跳转到主要内容

未提供项目描述

项目描述

docker-image-size-limit

wemake.services Build status codecov Python Version wemake-python-styleguide

使用简单的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 MB30 MiB
  • 可读的千兆字节:1 GB1 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 (4.8 kB 查看哈希值)

上传时间

构建分布

docker_image_size_limit-2.0.0-py3-none-any.whl (5.9 kB 查看哈希值)

上传时间 Python 3

由以下机构支持

AWSAWS 云计算和安全赞助商 DatadogDatadog 监控 FastlyFastly CDN GoogleGoogle 下载分析 MicrosoftMicrosoft PSF 赞助商 PingdomPingdom 监控 SentrySentry 错误记录 StatusPageStatusPage 状态页面