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