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è)問題,請確保:
- 在宿主機(jī)上創(chuàng)建 /data/docker/mysql/etc/conf.d 目錄。
- 從容器中復(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)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載。
THE END