Docker开发工具
docker-dev的Python项目详细描述
#docker和docker compose的开发工具
`docker dev`简化了
开发中涉及docker和docker compose的常见任务。**其主要功能是命名空间docker compose projects**,因此
您可以轻松地为存储库中的每个分支拥有一个项目。
docker compose projects被赋予一个名称,默认为project
目录的名称。这个名字然后被前缀到DOCKER资源(例如,图像,
容器),为DOCKER撰写项目。
BR/>‘DOCKER DEV’将项目名称扩展到包括活动分支名称,并且
然后代理调用“DOCKECOMPOSE”,以便他们引用新项目
名称。例如,如果您的项目名为“foo”,而您的活动git分支
是“master”,docker compose项目名称将被设置为“foo master”。
pypi上提供此工具为
[docker dev](https://pypi.python.org/pypi/docker dev)。
这意味着
“git checkout”与“docker compose”配合得很好。
-在运行“docker compose build”之前运行主机级命令。这在某些环境中是必不可少的,例如Python,如果你在容器的根上安装路径BR/>以获得即时代码重载,那么必须在项目的根部存在一个**蛋信息'BR/>目录。BR/> -很容易运行你的测试套件,并将它们的输出导出到主机。例如,
你可以使用你的测试报告把你的测试报告暴露给你的连续集成
服务。
BR/>开发> BR/> 'DOCKER DEV'代理'DOCKER撰写'子命令'Buff','Up'和'Duff':
-'DOCKER DEVBug ''将运行所有你已经安装Bu/>的预构建钩子(见下文),它也将拉在实际构建映像之前,任何基本映像的最新版本都会
-`docker dev up`确保每次调用时都有新的容器。
-`docker dev down`确保docker
(包括映像,容器和卷)。它需要一个docker compose文件(默认为testing.dc.yml)
,该文件定义了负责运行测试的所有服务。
每个测试服务必须以“test”开头,并且必须将其输出放在
`/tmp/test reports`,因为该目录的内容稍后将导出到
主机。下面是一个docker compose文件的测试示例:
``yaml
版本:“2”
服务:
测试主:
生成:“。”
命令:“test runner--output dir=/tmp/test reports”
```
为了防止名称冲突,运行时在docker compose
项目名称中添加后缀“-test”。
在Docker中运行此命令后,即使测试失败也不行。
` docker dev`将把
活动分支名称附加到docker compose项目的名称中。如果你想覆盖这个行为或者增加对另一个VCS的支持,你需要创建一个计算名称的函数,例如:
``python
`def get_project_name(docker_compose_file_path):
return'suffix'
```
必须在项目的“setup.py”文件中注册该函数
,作为“docker dev.project\u name\u generator”组的入口点。例如,
`` python
设置(
name='your-distribution',
入口点={
‘docker\u dev.project\u name\u generator':[
‘foo=your\u包:获取项目名称',
],
},
)
````
/>要在构建映像之前在主机级别执行例程,可以创建一个预构建挂钩。例如:
``python
def hook(docker_compose_file_path,project_name):
run_some_commands()
```
在组
“docker_dev.pre_build_hooks”下,
“docker dev”将无条件运行所有已安装的预构建挂钩。
编写本文时,只有一个插件可用:
[docker dev python](https://github.com/2degrees/docker dev python)。
cli
运行
“docker dev--help”。
`docker dev`简化了
开发中涉及docker和docker compose的常见任务。**其主要功能是命名空间docker compose projects**,因此
您可以轻松地为存储库中的每个分支拥有一个项目。
docker compose projects被赋予一个名称,默认为project
目录的名称。这个名字然后被前缀到DOCKER资源(例如,图像,
容器),为DOCKER撰写项目。
BR/>‘DOCKER DEV’将项目名称扩展到包括活动分支名称,并且
然后代理调用“DOCKECOMPOSE”,以便他们引用新项目
名称。例如,如果您的项目名为“foo”,而您的活动git分支
是“master”,docker compose项目名称将被设置为“foo master”。
pypi上提供此工具为
[docker dev](https://pypi.python.org/pypi/docker dev)。
这意味着
“git checkout”与“docker compose”配合得很好。
-在运行“docker compose build”之前运行主机级命令。这在某些环境中是必不可少的,例如Python,如果你在容器的根上安装路径BR/>以获得即时代码重载,那么必须在项目的根部存在一个**蛋信息'BR/>目录。BR/> -很容易运行你的测试套件,并将它们的输出导出到主机。例如,
你可以使用你的测试报告把你的测试报告暴露给你的连续集成
服务。
BR/>开发> BR/> 'DOCKER DEV'代理'DOCKER撰写'子命令'Buff','Up'和'Duff':
-'DOCKER DEVBug ''将运行所有你已经安装Bu/>的预构建钩子(见下文),它也将拉在实际构建映像之前,任何基本映像的最新版本都会
-`docker dev up`确保每次调用时都有新的容器。
-`docker dev down`确保docker
(包括映像,容器和卷)。它需要一个docker compose文件(默认为testing.dc.yml)
,该文件定义了负责运行测试的所有服务。
每个测试服务必须以“test”开头,并且必须将其输出放在
`/tmp/test reports`,因为该目录的内容稍后将导出到
主机。下面是一个docker compose文件的测试示例:
``yaml
版本:“2”
服务:
测试主:
生成:“。”
命令:“test runner--output dir=/tmp/test reports”
```
为了防止名称冲突,运行时在docker compose
项目名称中添加后缀“-test”。
在Docker中运行此命令后,即使测试失败也不行。
` docker dev`将把
活动分支名称附加到docker compose项目的名称中。如果你想覆盖这个行为或者增加对另一个VCS的支持,你需要创建一个计算名称的函数,例如:
``python
`def get_project_name(docker_compose_file_path):
return'suffix'
```
必须在项目的“setup.py”文件中注册该函数
,作为“docker dev.project\u name\u generator”组的入口点。例如,
`` python
设置(
name='your-distribution',
入口点={
‘docker\u dev.project\u name\u generator':[
‘foo=your\u包:获取项目名称',
],
},
)
````
/>要在构建映像之前在主机级别执行例程,可以创建一个预构建挂钩。例如:
``python
def hook(docker_compose_file_path,project_name):
run_some_commands()
```
在组
“docker_dev.pre_build_hooks”下,
“docker dev”将无条件运行所有已安装的预构建挂钩。
编写本文时,只有一个插件可用:
[docker dev python](https://github.com/2degrees/docker dev python)。
cli
运行
“docker dev--help”。