我在docker容器中以分离模式运行RabbitMQ。我这样做是为了可以使用rabbitmqctl设置一些值。我添加了tail -f /dev/null,这样容器就不会关闭然而,当我这样做时,我没有从Docker容器中得到日志记录。我如何运行rabbitmq-server -detached并将日志记录到“控制台”?
cunj1qz11#
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
s4n0splo2#
一种替代方法是将RABBITMQ_LOG_BASE设置为共享卷目录。在您的停靠文件中,添加:ENV RABBITMQ_LOG_BASE="/var/log/foo"个然后,运行容器:docker run -d -v /var/log/bar:/var/log/foo your_image然后,您可以直接在主机的目录/var/log/bar中获取数据。
RABBITMQ_LOG_BASE
ENV RABBITMQ_LOG_BASE="/var/log/foo"
docker run -d -v /var/log/bar:/var/log/foo your_image
/var/log/bar
2条答案
按热度按时间cunj1qz11#
会给你容器日志。如果rabbitmq记录到一个特定的文件,你可以:
要获取容器ID或名称(如果您不知道),请使用:
s4n0splo2#
一种替代方法是将
RABBITMQ_LOG_BASE
设置为共享卷目录。在您的停靠文件中,添加:
ENV RABBITMQ_LOG_BASE="/var/log/foo"
个然后,运行容器:
docker run -d -v /var/log/bar:/var/log/foo your_image
然后,您可以直接在主机的目录
/var/log/bar
中获取数据。