Compose
最近因为一些需求可能需要用到 Compose,看了看 Podman Compose 和 Docker Compose,记录一下。
Compose 主要功能:
- 环境隔离(docker)
- 一组服务的起停控制
- 服务之间的依赖管理
Podman compose
项目地址:https://github.com/containers/podman-compose
用爱发电的项目,所有的实现都在 podman_compose.py
中,由于 Podman 没有一个好用的 client ,所以 compose 中所有的 Podman 相关的交互都是通过命令行来完成的,目前处于一个非常早期的状态,最基本的服务依赖都没有实现,不建议使用。
Docker compose
1 | cli/ # 命令行解析 |
Docker 官方提供,所有的 container 都通过 docker python client 进行。service 之间的依赖管理通过拓扑排序实现:
1 | def sort_service_dicts(services): |
执行 docker-compose up
流程:
1 | self.project.up() |