跳转到主要内容

基于Yaml构建Docker镜像的方法。

项目描述

https://travis-ci.org/NLeSC/boatswain.svg?branch=master https://ci.appveyor.com/api/projects/status/5n7uj8ownch05e34/branch/master?svg=true https://api.codacy.com/project/badge/Grade/3271fedeb94b4d8ba24273d9cba0c852 https://zenodo.org/badge/80722427.svg

Boatswain

Boatswain是一个简单的Docker镜像构建系统。

当您有多个相互依赖的Docker镜像时,特别有用。

安装

Boatswain是一个简单的Python脚本,您可以使用pip安装

$ pip install boatswain

用法

为您的项目创建一个名为boatswain.yml的文件,其语法如下,这与docker-compose高度相似。

version: 1.0                    # The version of the boatswain yaml
organisation: boatswain         # Your dockerhub organisation
images:
    image1:pytest:              # the key will be used to tag the image
        context: docker/image1  # The path of the dockerfile
    image2:pytest:
        context: docker/image2
        from: image1:pytest     # This image depends on the other image
    image3:pytest:
        context: docker/image3
        from: image2:pytest
    image4:pytest:
        context: docker/image4
        tag: image12:pytest     # This image will be tagged with this

构建

您可以使用以下命令构建boatswain文件中定义的镜像。这将按顺序调用每个镜像的docker构建过程,以确保依赖项在依赖镜像之前构建。

$ boatswain build

清理

您可以清理boatswain文件中定义的镜像。

$ boatswain clean

推送

您可以使用push命令将构建的镜像推送到Docker Hub。它将被推送到organisation/imagetag在Docker Hub上。

$ boatswain push

额外选项

-h

显示选项

-q, --quiet

不显示任何输出

-k, --keep_building

即使发生错误也要继续构建镜像

--dryrun

实际不执行命令,只是走一下过场

-b <boatswain_file>--boatswain_file <boatswain_file>

覆盖默认的boatswain文件(boatswain.yml)

-f--force

强制构建镜像,即使它们已存在(仅用于构建)

构建调试

当你的构建没有按预期进行时,boatswain可以通过使用

-v

详细模式,显示每个镜像的构建进度

-vv

非常详细模式,显示docker构建过程的输出

--debug

调试模式,显示boatswain的调试信息和docker构建过程的输出

变更日志

本文档记录了Boatswain的所有显著变更。

本项目遵循语义化版本控制

1.0.4 * 将动态字符串消息更新为变量

1.0.3 * 在构建失败时返回非零退出码 * 添加了构建摘要,显示成功和失败构建的镜像 * 添加了持续构建(-k)命令行参数 * 默认情况下,在第一个失败的镜像处停止构建

1.0.2 * 修正了 citation.cff 文件

1.0.1

  • 修复了一些打包问题

1.0.0

  • 修复了push命令的帮助文本

  • 在某些情况下修复了从docker响应中提取镜像ID的问题

  • Windows兼容性

  • Appveyor windows测试通过

0.7.0 (2017-04-03)

  • 在构建定义中添加了‘before’和‘command’键。这是一组需要放置到上下文目录中的命令。

  • 默认详细程度只显示所有镜像的1个进度条

  • 将进度指示改为全白色块

0.6.0 (2017-03-09)

  • 添加了tree命令,可以打印boatswain文件的树状结构

  • 添加了安静和额外详细模式

0.5.1 (2017-02-10)

  • 修复了从docker流中打印unicode文本的问题

0.5.0 (2017-02-10)

  • 实现了push命令

  • 构建现在将贪婪地尝试构建镜像,而不是在第一个错误处抛出异常。

  • 添加了失败的构建的错误消息

  • 标准化返回值(例如,始终为列表)

  • 重构以减少boatswain类中的代码重复

0.4.0 (2017-02-09)

  • 进度计时器现在每秒增加一次

  • 改进了错误报告(不再使用异常)

0.3.0 (2017-02-08)

  • 添加了大量测试

  • 添加了clean命令

  • 更改文件布局从递归到使用from

0.2.0 (2017-02-06)

  • 添加了dry-run选项

  • 添加了仅构建一个镜像的能力

0.1.0 (2017-02-02)

  • 初始发布

项目详情


下载文件

下载适用于您平台的应用程序。如果您不确定要选择哪个,请了解更多关于安装包的信息。

源代码分发

boatswain-1.0.4.tar.gz (16.2 kB 查看哈希值)

上传时间: 源代码

构建分发

boatswain-1.0.4-py2.py3-none-any.whl (18.3 kB 查看哈希值)

上传于 Python 2 Python 3

支持

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