Docker Compose 部署 MySQL 遇到錯誤:卷綁定問題如何解決?

Docker Compose 部署 MySQL 遇到錯誤:卷綁定問題如何解決?

docker-compose 部署 mysql 時(shí)遇到錯誤:解決卷綁定的問題

ubuntu 系統(tǒng)中使用 docker compose 部署 mysql 時(shí),你遇到了一個(gè)錯誤,錯誤信息為:

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 目錄會被映射到宿主機(jī)上的 /data/docker/mysql/etc 目錄。然而,你的錯誤信息表明容器找不到 /etc/mysql/conf.d 目錄。

解決方法

根據(jù)錯誤信息,你的宿主機(jī)上的 /data/docker/mysql/etc 目錄中沒有 conf.d 子目錄。這個(gè)目錄在容器的啟動過程中會被用到。

要解決這個(gè)問題,請確保:

  1. 在宿主機(jī)上創(chuàng)建 /data/docker/mysql/etc/conf.d 目錄。
  2. 從容器中復(fù)制 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 部署,錯誤應(yīng)該消失。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊9 分享