跳转到主要内容

将docker-compose封装以实现完美的CI开发

项目描述

使用pip install compoctl安装

为长docker-compose命令提供包装,同时添加了一些应被视为实验性的功能,等待反驳或上游贡献 - 这不会破坏BC,因为compoctl装饰了docker-compose命令。

compoctl apply:docker-compose的单行管道

链式拉取/构建/下线/上线/日志/ps,非常适合黑客攻击和自动化部署

compoctl -f ./foo.yml apply

# will run:
docker-compose -f ./foo.yml pull
docker-compose -f ./foo.yml build
docker-compose -f ./foo.yml down
docker-compose -f ./foo.yml up -d
docker-compose -f ./foo.yml logs
docker-compose -f ./foo.yml ps

compoctl备份

将数据备份到./backup。

示例配置,使其按原样工作

volumes:
- ./backup/postgres:/backup
labels:
  io.yourlabs.backup.cmd: pg_dumpall -U postgres -f /backup/data.dump

这将pg数据导出到./backup/postgres,并将正在运行的docker-compose配置导出到./backup/docker-compose.restore.yml

如果存在,它还将执行docker-compose.backup.yml。这是您启动一个容器并将其挂载到./backup,然后通过网络进行安全备份导出的地方。

为了防止权限问题,容器不应在任何时候写入./backup目录本身。

POC前状态:等待一个示例,该示例将docker-compose.backup.yml链接起来,以启动restic和rclone来备份远程集合的备份(或实现保留策略功能到duplicity)。

compoctl恢复

从./backup复制docker-compose.yml并运行恢复命令。

这是一个破坏性操作,将删除所有卷(除了备份卷),逐个启动每个服务并应用恢复命令。

示例配置,使其按原样工作

volumes:
- ./backup/postgres:/backup
labels:
  io.yourlabs.restore.cmd: psql -U postgres -f /backup/data.dump

注意,在先前的备份命令之前必须配置./backup目录。

此外,集群在恢复操作期间将不可用/关闭。

项目详情


下载文件

下载适用于您平台文件的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

compoctl-0.2.1.post3.tar.gz (4.9 kB 查看哈希值)

上传时间 源代码

由以下支持