【发布时间】:2019-11-20 22:08:14
【问题描述】:
Follow the documentation here,Always fail
使用自定义 MySQL 配置文件 MySQL 的默认配置可以在 /etc/mysql/my.cnf 中找到,其中可能包含额外的目录,例如 /etc/mysql/conf.d 或 /etc/mysql/mysql.conf.d。请检查 mysql 映像本身中的相关文件和目录以获取更多详细信息。
如果/my/custom/config-file.cnf是你自定义配置文件的路径和名称,你可以这样启动你的mysql容器(注意这个命令只使用了自定义配置文件的目录路径):
$ docker run --name some-mysql -v /my/custom:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag 这将启动一个新容器 some-mysql,其中 MySQL 实例使用来自 /etc/mysql/my.cnf 和 /etc/mysql/conf.d/config-file.cnf 的组合启动设置,后者的设置优先.
没有cnf文件的配置 许多配置选项可以作为标志传递给 mysqld。这将使您可以灵活地自定义容器,而无需 cnf 文件。例如,如果您想将所有表的默认编码和排序规则更改为使用 UTF-8 (utf8mb4),只需运行以下命令:
$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci 如果您想查看可用选项的完整列表,只需运行:
我的版本 Docker 版本 18.09.7,构建 2d0083d
我运行的命令
docker run --name mysql2 -v /my/custom:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0.16
我的自定义配置文件
[mysqld]
sql_mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
【问题讨论】:
-
可以显示容器日志吗?
-
找到原因了,因为mysql.cnf有777个权限