具有卷的Docker MySQL权限

时间:2017-10-06 14:57:34

标签: mysql docker docker-compose

我正在尝试从mysql启用并挂载日志文件,以便我们可以解析日志。

在Linux系统上运行docker和docker-compose:

尝试为mysql安装自定义配置。我有conf.d/custom.cnf我挂载

[mysqld_safe]
log_error=/var/lib/mysql/log/mysql_error.log

[mysqld]
log_error=/var/lib/mysql/log/mysql_error.log

general_log_file        = /var/lib/mysql/log/mysql.log
general_log             = 1

log_slow_queries       = /var/lib/mysql/log/mysql-slow.log
long_query_time = 2
log-queries-not-using-indexes

使用我的docker-compose

version: '2'
services:
  mysql:
    env_file: "env/mysql.env"
    container_name: mysql
    image: mysql:5.7.13
    logging:
      driver: json-file
      options:
        max-size: 50m
    network_mode: host
    restart: always
    ports:
      - "3306:3306"
    volumes:
      - "./mysql_data:/var/lib/mysql"
      - "./config/mysql/conf.d:/etc/mysql/conf.d"

但它没有启动MySQL。当我进入容器并运行mysqld时,它只退出而没有日志消息。

当我运行/etc/init.d/mysql start时,我会看到有关权限的错误消息。像

这样的东西

(Errcode: 13 - Permission denied)

2017-10-06T14:55:48.688986Z 0 [ERROR] --initialize specified but the data directory exists and is not writable. Aborting.

这样做的正确方法是什么?我希望我不必运行任何权限更改...而且我确定这是人们使用MySQL容器时非常常见的事情?

0 个答案:

没有答案