【问题标题】:Docker delete file on stop of containerDocker在容器停止时删除文件
【发布时间】:2019-08-11 13:56:24
【问题描述】:

我有一个 django 应用程序,它也使用 cerlery,celery 也创建了一个 .pid 文件,但是如果我使用 docker-compose up 重新启动我的应用程序,celery 无法启动,因为容器中的旧 .pid 文件没有被删除, 我能做些什么来解决这个问题? linux端(debian 9)是否有办法在容器重启或关闭时删除文件?

我的 docker 配置的 sn-p:

celery:
    image: echo_echo
    command: bash -c "celery worker -A echo -l INFO --pidfile="/tmp/celery/celery.pid" "
    volumes:
      - echo:/echo
...

谢谢和br

【问题讨论】:

  • 你能添加你的 docker-compose 配置吗?你在使用卷吗? (我们在 docker 容器中运行 celery 没有问题。)
  • snipped 已添加到问题中。
  • 我们不使用--pidfile 选项,并且重新启动容器也没有问题。你能不试试吗?
  • 相同的结果...否则我根本不会使用那个位置。
  • 如何关机?你确定你使用的是docker-compose down

标签: django docker celery


【解决方案1】:

问题已解决,我只是像这样添加了 (pid) 文件:

--pidfile= --schedule=/var/run/celerybeat-schedule
and also for the worker(s):
--pidfile= --schedule=/var/run/celery-schedule

【讨论】:

    猜你喜欢
    • 2018-01-03
    • 2020-08-13
    • 2022-08-03
    • 2016-03-17
    • 2021-09-27
    • 1970-01-01
    • 2021-09-16
    • 2023-04-05
    • 1970-01-01
    相关资源
    最近更新 更多