基于Yaml构建Docker镜像的方法。
项目描述
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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a11ab910ebc1c24e5ede33913b93f21ddb1d06e523cf5473c655b529f863f623 |
|
MD5 | e7ba0e2bfd406aca58221d772d0a2168 |
|
BLAKE2b-256 | dac4d6bc02a4ca94b094ab2274a4d264dd13a45ab83a97b63f909847668615f4 |
boatswain-1.0.4-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f8603cee1191b23e5505b7dcb35bf3c6238aca504ecce5470225ccff74dd6af5 |
|
MD5 | 45736aca85ce6736169faa350ac2d22d |
|
BLAKE2b-256 | bf9dcbd14619be079784ed4785957120bc7b5e40488342de2aa96106264c5905 |