用于构建/帮助部署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传递位置作为FragmentPagerAdapter中片段的参数   html Java Jsoup循环打印   java如何使用FileOutputStream写入数据而不丢失旧数据?   java在测试用例类/方法中执行sql before/after/in   java在javafx中注册鼠标处理程序,但处理程序不是内联的   Android嵌入了一个C++库的java代码,不需要TopPLE程序来嵌入它?   片段类内部的java ProgressBar导致setMax方法出现NullPointerException?   带有google app engine的java Activator Play框架   java如何解析星级而不是字符串?   java如何在基本实体中定义通用主键字段?   通过扩展实现Java克隆   使用CipherOutputStream的java递归加密提供一个空字节[]   在运行时提取字段值的Java服务   Java 11和spring boot从spring boot应用程序的fat jar中的依赖项jar加载资源   java尝试使用J2SE枚举所有可用的Wifi网络   使用Java库进行SWIFT MT消息解析   java拆分非逗号分隔的字符串   java为什么toString()不能是静态方法?   java在连接到集群数据库时遇到mongo异常   java访问Hashmap中存储的json有效负载值