Docker Compose 部署 MySQL 失敗:為何出現(xiàn) “mysqld: Can’t read dir of ‘/etc/mysql/conf.d/’” 錯(cuò)誤?

Docker Compose 部署 MySQL 失敗:為何出現(xiàn) “mysqld: Can’t read dir of ‘/etc/mysql/conf.d/’” 錯(cuò)誤?

docker compose 無法部署 mysql

ubuntu 系統(tǒng)上使用 docker-compose 部署 mysql 時(shí),遇到了無法部署的問題。以下為相關(guān)配置:

version: '3' services:   mysql:      restart: always     image: mysql:8.2     network_mode: bridge     container_name: mysql     environment:       mysql_root_password: root123     command:       --character-set-server=utf8mb4       --collation-server=utf8mb4_general_ci       --explicit_defaults_for_timestamp=true       --lower_case_table_names=1       --max_allowed_packet=128m     volumes:       - /etc/localtime:/etc/localtime:ro       - /data/docker/mysql/mysql:/var/lib/mysql       - /data/docker/mysql/etc:/etc/mysql:ro     ports:       - 3306:3306

采取了以下步驟:

  1. 注釋掉掛載,直接啟動 mysql,成功啟動。
  2. 將容器中的 /var/lib/mysql 復(fù)制到宿主機(jī)指定掛載目錄。
  3. 復(fù)制 /etc/mysql,編寫 my.cnf,并將其放置在宿主機(jī) /data/docker/mysql/etc/mysql/conf.d 下。
  4. 刪除鏡像。
  5. 打開掛載注釋。

此時(shí)出現(xiàn)錯(cuò)誤:

mysqld: can't read dir of '/etc/mysql/conf.d/' (os errno 2 - no such file or directory)

錯(cuò)誤分析

掛載的目錄 /data/docker/mysql/etc 缺少 conf.d 目錄。掛載配置為:

      - /data/docker/mysql/etc:/etc/mysql:ro

導(dǎo)致啟動時(shí)找不到 /etc/mysql/conf.d 目錄。

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