在 Docker 容器中显示来自服务器的 celery worker 日志的命令?

Command for displaying the logs of celery worker from the server in Docker container?

我想将 celery 添加到我的 docker 文件中,我添加了该文件,当我将更改部署到服务器时,我能够看到 celery 通过更快地执行作业来完成它的工作。但是,如果我想查看像 "celery -A tasks worker --loglevel=info" 这样的 celery worker 日志,这在本地机器上有效,我能够看到所有日志。 但是,在我的服务器中,由于我只能看到 docker 容器的日志,任何人都可以指导我或告诉我在生产阶段我可以查看 celery 是否正常工作的命令。

这是我的 docker-compose 文件结构:

services:
  "name":
    image: "image_name"
    ports:
      - "ports"
    environment:
      - "environment variables"
    networks:
      - "networks"

  celery_worker:
    build:
      context: ./parsers
    command: celery -A parsers worker --loglevel=info
    volumes:
      - ./parsers:/parsers
    depends_on:
      - "image"

现在,我也想看看celery worker的日志。 目前,我可以通过命令查看服务器日志 sudo docker logs -f "name"

您确定在您构建的 Dockerfile 中,celery 将是从 celery 日志到 stdoutstderr 的符号链接吗?

所以,我的问题的答案是:

  1. 就像我创建了一个 docker 文件并添加了 celery 作为服务,所以这在 docker 容器中制作了一个新的 celery 图像,并检查日志对于芹菜工人,我使用了以下命令 sudo docker logs -f "Image_name_of_celery"

  2. 您可以使用以下命令检查所有 运行 docker 容器和镜像:sudo docker ps。这将显示结果。