Docker访问来自主机的容器日志

我有一个在AWS EC2实例上运行的docker容器,想知道是否有可能将一个目录挂载到一个容器日志目录,以便我可以访问主机上的文件。

我正在运行的服务有一些日志文件,我想看看,而不是每次访问容器。

我试过的命令。

docker run -d -v $(pwd)/datalogs:/etc/tmp/logdir -p 8000:8000 -p 9000:9000 -p 2181:2181 --name burcon gmantmp/imagecon 

它确实在主机上创build了一个目录,但是它是空的。 是否有可能做到这一点,如果我哪里去错了。

你的run命令看起来不错,它会挂载/etc/tmp/logdir从主机,所以容器将直接写入~/datalogs你想要的。 如果没有输出,则需要确认应用程序实际上正在写入/etc/tmp/logdir

作为一个方面说明,如果你可以configuration容器中的应用程序来写stdout那么你可以使用docker logs来查看容器中发生了什么。 那么你也可以使用不同的日志logging驱动程序 ,这给你很大的灵活性。