docker之容器日志存储位置及把运行日志记录至文件

  参考:https://www.cnblogs.com/YatHo/p/7866029.html

  docker启动后日志会在以下位置

/var/lib/docker/containers/容器ID/容器ID-json.log

   也可以使用以下命令查看

docker logs 容器ID

   使用docker-compose可以通过配置把日志记录到本地文件中

  目录结构如下,其中mysql下的conf放置配置文件 data为数据库文件 log为mysql运行日志

root@zssj-magic-box:/data/docker-compose# tree -L 2
.
├── docker-compose.yml
└── mysql
    ├── conf
    ├── data
    └── log

   docker-compose.yml

version: '2.0'
services:
  mysql:
    hostname: mysql
    image: mysql:5.7
    ports:
      - 3306:3306
    volumes:
      - ./mysql/conf:/etc/mysql/conf.d
      - ./mysql/data:/var/lib/mysql
    #链接日志文件目录
      - ./mysql/log:/var/log/mysql
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro
    environment:
      MYSQL_ROOT_PASSWORD: 123456  

   my.cnf

[mysqld]
default-time_zone = '+8:00'
#去掉sql_mode的ONLY_FULL_GROUP_BY设置防止查询出现1055错误
sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'
log_error=/var/log/mysql/error.log

   启动docker报错,则进入容器创建文件/var/log/mysql/error.log并设置所属组为mysql

  这样就可以把日志记录设置的log目录了

转载于:https://www.cnblogs.com/minseo/p/11364032.html

<think>好的,用户想了解如何在Docker中查看容器日志。首先,我需要回忆一下Docker的相关命令。记得Docker提供了`docker logs`命令来查看容器日志,这应该是主要的解决方法。接下来需要确认具体的使用方法,比如基本命令格式、常用选项等。 用户的问题可能涉及到查看实时日志、查看最后几条日志或者结合时间戳查看。所以需要分别说明这些情况。例如,使用`-f`或`--follow`选项可以实时跟踪日志输出,类似于`tail -f`的效果。而`--tail`选项可以指定显示最后多少条日志,比如`--tail 100`显示最后100条。时间戳可以通过`-t`或`--timestamps`选项添加。 另外,用户可能不知道如何查看特定时间段的日志,这时候需要提到`--since`和`--until`参数,这两个参数可以过滤指定时间范围内的日志条目。例如,查看过去10分钟的日志或者某个具体时间之后的日志。 还需要注意,容器名称或ID是必须的参数,如果用户不知道容器名称,可能需要先使用`docker ps`命令来列出正在运行的容器,获取对应的名称或ID。这也是一个常见的步骤,可能需要补充说明。 此外,用户可能会遇到日志量过大的情况,如何高效地查看和管理日志也是一个问题。可能还需要提到Docker日志存储位置和配置选项,但根据问题范围,可能暂时不需要深入这部分内容,除非用户进一步询问。 需要确保给出的命令示例正确无误,比如`docker logs my-container`,并且选项的正确拼写,比如`--follow`而不是`-f`,虽然两者都可以,但保持一致性更好。同时,引用用户提供的参考内容,其中引用[2]提到了实时跟随日志输出,所以在回答中要自然地加入引用标识。 最后,生成的相关问题应该覆盖用户可能进一步询问的方向,比如如何跟踪实时日志、如何限制日志条目数量、如何结合时间过滤,以及如何查看特定时间段的日志。这些相关问题可以帮助用户更全面地了解日志管理的各个方面。</think>要查看Docker容器日志,可以使用`docker logs`命令。具体步骤如下: 1. **基础命令格式** ```bash docker logs [容器名称或ID] ``` 例如查看名为`my-container`的日志: ```bash docker logs my-container ``` 2. **实时跟踪日志** 添加`-f`或`--follow`选项可以实时输出日志(类似`tail -f`): ```bash docker logs --follow my-container # 持续输出新日志[^2] ``` 3. **查看末尾N条日志** 使用`--tail`选项限制显示的日志行数: ```bash docker logs --tail 100 my-container # 仅显示最后100条 ``` 4. **显示时间戳** 通过`-t`或`--timestamps`在日志中添加时间信息: ```bash docker logs --timestamps my-container ``` 5. **时间范围过滤** 使用`--since`和`--until`筛选特定时间段: ```bash docker logs --since 2024-01-01T00:00:00 --until 2024-01-01T12:00:00 my-container ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值