deck-chores 使用教程

deck-chores 使用教程

deck-choresA job scheduler for Docker containers, configured via labels.项目地址:https://gitcode.com/gh_mirrors/de/deck-chores

项目介绍

deck-chores 是一个用于 Docker 容器的工作调度器,通过容器标签进行配置。它允许用户在 Docker 容器中定义和调度任务,支持单主机和 Docker Swarm 集群环境。deck-chores 的核心功能包括任务触发、输出日志管理以及任务定义的灵活配置。

项目快速启动

在单主机上启动

通常情况下,您可以在一个容器中运行 deck-chores:

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock funkyfuture/deck-chores:1

或者使用 docker-compose:

version: "3.7"
services:
  officer:
    image: funkyfuture/deck-chores:1
    restart: unless-stopped
    environment:
      TIMEZONE: Asia/Shanghai
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

在 Docker Swarm 上启动

deck-chores 可以在 Docker Swarm 集群中运行,但必须部署在所有节点上:

docker service create --mode global --mount type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock funkyfuture/deck-chores:1

应用案例和最佳实践

定义一个任务

以下是一个在 Docker Compose 文件中定义任务的示例:

version: "3.7"
services:
  wordpress:
    image: wordpress
  mysql:
    image: mariadb
    volumes:
      - /database_dumps:/dumps
    labels:
      deck-chores.dump.command: "sh -c 'mysqldump --all-databases > /dumps/dump-$$(date -Idate)'"
      deck-chores.dump.interval: daily

最佳实践

  1. 使用脚本:推荐使用带有适当 shebang 的脚本来执行任务,这样可以更好地管理输出和错误日志。
  2. 避免中间容器任务触发:在构建镜像时,避免在 deck-chores 监控的主机上构建,以防止中间容器任务触发。

典型生态项目

deck-chores 依赖于以下项目:

  • APScheduler:用于管理任务调度。
  • cerberus:用于处理元数据。
  • docker-py:用于与 Docker 交互。
  • flake8, mypy, pytest, tox:用于测试 Python 代码。

这些项目共同构成了 deck-chores 的生态系统,确保了其稳定性和可靠性。

deck-choresA job scheduler for Docker containers, configured via labels.项目地址:https://gitcode.com/gh_mirrors/de/deck-chores

  • 12
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

管翔渊Lacey

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值