构建Docker映像,并在Fabric中运行Docker容器。
docker-fabric的Python项目详细描述
概述
经过一些准备,Docker图像可以很容易地生成 在开发机器上测试,并转移到生产上 环境。此包支持管理容器配置 以及它们在基于结构的部署中的依赖关系。 Dockerfiles也可以在Fabric任务中轻松实现。
本地Docker客户端可以通过docker-py直接控制。 远程DockerAPI服务使用Fabric的ssh连接。
API访问
此项目基于 Docker-Map,并适应其 容器配置方法。
与Docker Map一样,容器配置可以生成为 对象,从python字典更新,或从yaml文件导入 以便通过api控制远程客户端。Docker面料包括 以下增强功能:
Docker客户端
DockerFabricClient在 结构主机上的容器实例,并启用 创建隧道连接以使用 Fabric的ssh连接。通过使用工具socat,Docker客户端 无需重新配置即可访问远程服务。
客户端配置
DockerClientConfiguration添加运行容器的功能 到每个具有特定Docker设置的结构主机,例如版本 号码。
运行容器配置
ContainerFabric是一个简单的包装器,它结合了Docker Map的 DockerFabricClient,DockerClientConfiguration对象,和 集装箱地图。
基于命令行的访问
通过运行适当的命令提供以下功能 在远程docker命令行中:
- 将资源从容器复制到结构主机。
- 从容器复制资源并将其下载到压缩文件中 柏油球。Docker远程API当前不支持创建 压缩柏油球。
- 从容器复制资源并将其存储在新的空白图像中。
- 生成压缩图像tarball。Docker远程API当前 不支持创建压缩的tarball,但能够 导入它们。
任务
所有必需的容器操作(create,start,stop, remove)和一些高级(例如update)可以从 命令行作为fabric任务并在远程服务上执行, 例如,通过ssh。
此外,此包中还包含以下任务,这些任务可以 直接由面料经营:
- check_version:返回远程docker的版本信息 服务,并在设置权限时提供有用的信息 是的。
- cleanup_containers:删除所有已停止的容器。
- cleanup_images:删除所有未标记的图像,这些图像没有 从属容器或其他从属图像。
- remove_all_containers:停止并删除 远程Docker服务。