Docker MySQL权限与卷

我试图从MySQL启用和挂载日志文件,所以我们可以parsing日志。

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

试图为mysql安装一个自定义的configuration。 我有一个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组成

 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容器做的一件很平常的事情吗?