当前位置: 首页 > 知识库问答 >
问题:

php - docker容器日志能否设置存储到别的路径?

孙星鹏
2024-01-26

使用docker运行了php容器, nginx容器
通常查看日志都是使用docker logs php或nginx
发现默认的这些日志是存储在容器目录中的
如 "/var/lib/docker/containors/php/php.json" "/var/lib/docker/containors/nginx/nginx.json"
有什么办法能让日志统一存储在别的位置,
如"/home/logs" 目录下?

共有2个答案

叶茂才
2024-01-26

可以啊 用nginx举例子

docker run -d -v /home/logs:/var/log/nginx nginx:latest
夹谷星河
2024-01-26

可以使用Docker的日志驱动程序来实现将Docker容器的日志存储到其他路径。日志驱动程序是Docker配置的一部分,用于控制容器的日志行为。

要更改日志驱动程序并指定日志路径,可以在Docker守护程序的配置文件或运行时命令行中设置以下标志:

  1. 在Docker守护程序的配置文件中设置:

在Docker守护程序的配置文件(/etc/docker/daemon.json)中添加以下内容:

{  "log-driver": "json-file",  "log-opts": {    "path": "/home/logs/container.log",    "max-size": "10m",    "max-file": "3"  }}

这将使用json-file日志驱动程序,并将日志文件存储在"/home/logs/container.log"路径下。max-sizemax-file选项用于控制日志文件的最大大小和保留的日志文件数量。

保存配置文件后,重新启动Docker守护程序以使更改生效。

  1. 在运行时命令行中设置:

在启动Docker守护程序时,可以使用以下命令行选项来设置日志驱动程序和路径:

dockerd --log-driver=json-file --log-opt path=/home/logs/container.log --log-opt max-size=10m --log-opt max-file=3

这将使用json-file日志驱动程序,并将日志文件存储在"/home/logs/container.log"路径下。max-sizemax-file选项与之前的配置相同。

请注意,更改日志驱动程序和路径可能会影响容器日志的完整性和可管理性。确保在进行更改之前仔细考虑对现有系统和应用程序的影响。

 类似资料:
  • 我已经成功地设置了Elasticsearch、Kibana等,当我运行:'sudo systemctl status Elasticsearch'时,它都运行得很好。 但是,当我执行“sudo systemctl status logstash”时,这是输出: 它无法启动logstash,我在网上读了很多文章,说这可能与路径或配置有关,但我没有找到一个正确的工作解决方案。 我已经下载了JDK,并遵

  • 我的ec2实例上运行了几个Docker容器。 我想将这些容器中的日志直接保存到Logstash(弹性云)。 当我试图手动安装Filebeat时,一切正常。我使用 我把它拆开,换了文件。yml配置到 这很好,我可以在Kibana中搜索应用程序“myapp”后找到我的日志。 然而,当我试图从Docker运行Filebeat时,没有成功。 这是我的docker compose中的filebeat部分。y

  • 本文向大家介绍Docker 容器日志分析,包括了Docker 容器日志分析的使用技巧和注意事项,需要的朋友参考一下 查看容器日志 先使用  docker run -it --rm -d -p 80:80 nginx:1.15.8-alpine 命令启动一个nginx容器。如果没有异常,会得到容器ID如  d2408a7931c95a3a83ffeca2fba887763cf925a67890ef3

  • 「Allen 谈 Docker 系列」 DaoCloud 正在启动 Docker 技术系列文章,每周都会为大家推送一期真材实料的精选 Docker 文章。主讲人为 DaoCloud 核心开发团队成员 Allen(孙宏亮),他是 InfoQ 「Docker 源码分析」专栏作者,已出版《Docker 源码分析》一书。Allen 接触 Docker 近两年,爱钻研系统实现原理,及 Linux 操作系统。

  • 我的目标:我需要收集从运行的tomcat容器到Filebeat容器的tomcat日志。 问题:我不知道如何从Tomcat容器中获取收集的日志文件。 到目前为止我尝试过的内容:我尝试创建一个docker卷并将tomcat日志添加到该卷中,并从filebeat容器访问该卷,但没有成功。 docker-containers:包含3个主子目录(Tomcat、Nginx和Postgres)。ENV文件和do

  • 我有一个Java应用程序,基于Java8 OpenJDK。它运行在一个限制为20GB的docker容器中。 tomcat的-xms和-xmx设置如下: -xms=容器内存的60%(由cgroup指定)-so 12gb-xmx=容器内存的80%(由cgroup指定)-so 16gb 通常情况下是使用MaxRAM还是-xmx,还是两者都设置有什么好处? 如果我使用MaxRAM而不是-xmx,java将