一个使用Ansible playbooks构建容器镜像的工具
项目描述
ansible-bender
此工具使用Ansible playbooks 将容器进行弯曲并转换为容器镜像。它具有可插拔的构建器选择 - 选择用于构建容器镜像的工具由您自己决定。目前唯一的支持构建器是buildah。未来将支持更多构建器。Ansible-bender (ab) 依赖于Ansible连接插件 来执行构建。
简而言之,Ansible是前端,buildah是后端。
该概念在以下博客文章中描述
寻找维护者 ❤
如果您是 ansible-bender 的用户并且熟悉 Python,请考虑成为维护者。
功能
- 您可以使用 buildah 作为后端来构建您的容器镜像。
- Ansible playbooks 是您的构建配方。
- 您可以通过 CLI 或特定的 Ansible 变量设置各种镜像元数据
- 工作目录
- 环境变量
- 标签
- 用户
- 默认命令
- 暴露的端口
- 您可以在构建过程中执行卷挂载。
- 缓存机制
- 每个任务的结果都会被缓存为容器镜像层。
- 您可以使用
--no-cache
来关闭此功能。 - 您可以通过向任务添加标签
no-cache
来从某个点禁用缓存。
- 您可以通过向任务添加标签
stop-layering
来停止创建新的镜像层。 - 如果镜像构建失败,它会以
-[TIMESTAMP]-failed
的后缀提交并命名(这样您就可以查看内部并解决问题)。 - 该工具尝试在基础镜像中查找 Python 解释器。
- 您可以将构建的镜像推送到远程位置,例如
- 注册表、tarball、docker daemon 等
- podman push 用于执行推送。
文档
您可以在文档中了解更多关于此项目的信息