如何将外部 my.cnf 文件添加到 Docker 中的 Percona 服务器?

How to add external my.cnf file to Percona server in Docker?

我已经使用 Percona 执行此命令创建了 docker 容器:

docker run -v <path-to-files-on-host-machine>:/etc/mysql/conf.d 
--name percona -p 6604:3306 -e MYSQL_ROOT_PASSWORD=12345 -d percona/percona-server:latest \
    --innodb_data_file_path=ibdata1:10M:autoextend:max:1G --sql_mode='' --character-set-server=utf8 --collation-server=utf8_general_ci;

根据 DockerHub 上的 documentation,我的主机中有 my.cnf 的挂载目录,作为 Docker 容器中的 /etc/mysql/conf.d

但是当我启动我的容器时,Percona 不会从我的自定义 my.cnf 中读取设置。我还尝试创建 my.cnf 并在启动时出现错误以使 Percona 崩溃。但是没有效果。

如何将自定义 my.cnf 附加到 Percona Docker 容器?

我的问题是这样解决的:

  • 启动带有附加 STDIN 的容器:docker start -i percona
  • 输出错误:警告:World-writable config file '/etc/mysql/conf.d/my.cnf' is ignored

所以 my.cnf 有错误的权限。 我是这样解决的:chmod 755 /etc/mysql/conf.d/my.cnf