Docker Compose 部署 MySQL 遇到错误:卷绑定问题如何解决?

docker compose 部署 mysql 遇到错误:卷绑定问题如何解决?

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 子目录。这个目录在容器的启动过程中会被用到。

要解决这个问题,请确保:

  1. 在宿主机上创建 /data/docker/mysql/etc/conf.d 目录。
  2. 从容器中复制 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 遇到错误:卷绑定问题如何解决?的详细内容,更多请关注硕下网其它相关文章!