docker-compose 部署 mysql 时遇到错误:解决卷绑定的问题
在 ubuntu 系统中使用 docker compose 部署 mysql 时,你遇到了一个错误,错误信息为:
mysqld: can't read the directory of '/etc/mysql/conf.d/' (os error 2 - no such file or directory)
问题分析
你提供的 docker compose 配置文件中的卷绑定为:
- /data/docker/mysql/etc:/etc/mysql:ro
这意味着 docker 容器中的 /etc/mysql 目录会被映射到宿主机上的 /data/docker/mysql/etc 目录。然而,你的错误信息表明容器找不到 /etc/mysql/conf.d 目录。
解决方法
根据错误信息,你的宿主机上的 /data/docker/mysql/etc 目录中没有 conf.d 子目录。这个目录在容器的启动过程中会被用到。
要解决这个问题,请确保:
- 在宿主机上创建 /data/docker/mysql/etc/conf.d 目录。
- 从容器中复制 my.cnf 等必要文件到该目录。
修改后的 docker compose 配置文件如下:
volumes: - /data/docker/mysql/mysql:/var/lib/mysql - /data/docker/mysql/etc:/etc/mysql:ro - /data/docker/mysql/etc/conf.d:/etc/mysql/conf.d:ro # 添加 conf.d 卷绑定
确保上述步骤完成后,重新启动 docker compose 部署,错误应该消失。
以上就是Docker Compose 部署 MySQL 遇到错误:卷绑定问题如何解决?的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系 yyfuon@163.com