【发布时间】:2018-03-27 12:55:32
【问题描述】:
我在 docker 容器中以分离模式运行 RabbitMQ。我这样做是为了可以使用 rabbitmqctl 设置一些值。
我添加了 tail -f /dev/null 所以容器不会关闭
但是,当我这样做时,我没有从 docker 容器中获取任何日志记录。
我如何运行 rabbitmq-server -detached 并将日志记录到“控制台”?
【问题讨论】:
我在 docker 容器中以分离模式运行 RabbitMQ。我这样做是为了可以使用 rabbitmqctl 设置一些值。
我添加了 tail -f /dev/null 所以容器不会关闭
但是,当我这样做时,我没有从 docker 容器中获取任何日志记录。
我如何运行 rabbitmq-server -detached 并将日志记录到“控制台”?
【问题讨论】:
docker logs -f [container name or container ID]
会给你容器日志。如果 rabbitmq 记录到特定文件,您可以这样做:
docker exec [container name or container ID] tail -f [PATH to the rabbot mb log file]
如果您不知道容器 ID 或名称,请使用:
docker ps
【讨论】:
另一种方法是将RABBITMQ_LOG_BASE 设置为共享卷目录。
在您的 dockerfile 中,添加:
ENV RABBITMQ_LOG_BASE="/var/log/foo"
然后,运行容器:
docker run -d -v /var/log/foo:/var/log/bar your_image
然后你就可以直接在你的主机里的/var/log/bar目录下获取数据了。
【讨论】:
/var/log/bar:/var/log/foo.