用于构建/帮助部署Docker容器的工具。去码头。

dostack的Python项目详细描述


DoBuild
==


Docker Container Builder
----

`DoBuild'根据环境生成由类似于Yaml的合成文件指定的项目容器。
`DoTemple'模板文件(例如DockerFiles、Docker Stack.yaml's)基于环境。



-
pipsi install./dostack



features
--


-使用一个命令生成多个容器
-使用容器间依赖项控制生成顺序
-模板化Dockerfiles,例如,这样一个容器就可以从另一个容器访问,而不必编辑每个生成的dockerfile



Getting Started
----


在项目根目录中创建一个“dobuild.yaml”文件,具有这样的结构:

containers:
pinger:
上下文:./docker/pinger
dockerfile:。/docker/pinger/dockerfile.t


您好:
上下文:。
dockerfile:。/docker/hello/dockerfile.t

hello2:
上下文:./docker/hello2
dockerfile:。/docker/hello2/dockerfile.t
取决于:
-hello

这个例子定义了三个要构建的容器,*pinger*、*hello*和*hello2*。在这里,我们声明*hello2*依赖于*hello*,因此*hello*将始终在*hello2*


之前生成,现在要生成容器,请运行

dobuild

` dobuild`runs`docker build`under the hood for you,所以输出会很熟悉。

但不是*pinger*


模板
——


`dobuild'模板使用[胡子](https://mustache.github.io/mustache.5.html)模板创建文档文件。

例如,上面*hello2*的dockerfile:

from{containers.hello}
运行echo“building{containers.hello2}”
entrypoint echo hello,world,2!

您可以使用{{containers.<;name>;}`来引用当前生成中项目中任何容器的uri。其他可用标记:

-`{{docker.registry}`添加到容器uri的docker注册表(如果已定义)。
-`{{docker.prefix}`添加到容器uri的前缀(如果已定义)。


` dobuild`将用由注册表、前缀和容器名组成的有意义的名称来标记它们。

运行:

dobuild hello\
--registry.example.com\
--prefix owner/helloworld

` dobuild`将容器推送到指定的注册表。


环境变量也可以在环境变量中指定选项。请注意,命令行上的选项会覆盖环境。

dobuild_file=./dobuild.yaml dobuild.yaml的路径
dobuild_registry=registry.example.com docker registry
dobuild_prefix=owner/helloworld container uri prefix
dobuild_push=true建筑

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Spinner选定值未上载到firebase数据库   java如何通过bukkit中的配置添加消息?   java在SharedReference中保存列表的泛型类型   javascript Java小程序未定义   swt在Java中构建控制台应用程序   java OAuth同意屏幕没有突然显示,没有错误?   java webview选择文件安卓不工作   java Spring boot JPA如何从同一连接添加多个数据库?   java JDBC DB2驱动程序计时器线程处于阻塞状态   java我在vscode中运行flatter时看到一个错误在phone中运行应用程序somone能否帮助我plz   Java:生成JSON:如何避免生成不完整的JSON   java Date compareTo()方法始终返回1   当使用Junit runner运行测试时,java Spring自动连线失败   java Android/Sockets如何将信息从主UI线程发送到socket线程?   java Android内存声明全局变量   java如何在JBoss中拥有多个具有相同JNDI名称的数据源?   python在Java中嵌入CPython时,为什么会挂起?   java如何提供深度模拟对象?   java“find:smallint,expected:integer”Hibernate对informix数据库的验证在短时间内失败