Docker 从主机访问容器日志
Docker access container logs from the host machine
我在 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
它确实在主机上创建了一个目录,但它是空的。是否可以这样做,如果我哪里出错了。
您的 run
命令看起来不错,它将从主机挂载 /etc/tmp/logdir
,因此容器将根据需要直接写入 ~/datalogs
。如果没有输出,您需要确认应用程序确实正在写入 /etc/tmp/logdir
。
附带说明一下,如果您可以将容器中的应用配置为写入 stdout
,那么您可以使用 docker logs
查看容器中发生的情况。然后你也可以使用不同的logging drivers,这给了你很大的灵活性。
我在 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
它确实在主机上创建了一个目录,但它是空的。是否可以这样做,如果我哪里出错了。
您的 run
命令看起来不错,它将从主机挂载 /etc/tmp/logdir
,因此容器将根据需要直接写入 ~/datalogs
。如果没有输出,您需要确认应用程序确实正在写入 /etc/tmp/logdir
。
附带说明一下,如果您可以将容器中的应用配置为写入 stdout
,那么您可以使用 docker logs
查看容器中发生的情况。然后你也可以使用不同的logging drivers,这给了你很大的灵活性。