何があった?
もともと動いていたdocker-composeのデータベースの設定周りをお試でいじった後コンテナを立ち上げたら題名のエラーが出てしまい、imageを全削除してもdockerやpcを再起動しても動かなくなってしまいました。
もちろん検索で一番よく出てくる/var/run/mysqld/mysqld.sock
の追加も試しましたがこちらもうまくいきませんでした。
このエラーの原因
筆者の場合ではdockerfileの間違った使い方(エラー文には出ないsyntaxエラー)によるものでした。
動かない書き方
===前略===
mroonga:
container_name: mroonga
build:
context: .
dockerfile: mroonga.Dockerfile #←この中身が悪かった
volumes:
- ./logs/mysql:/var/log/mysql
- ./local-docker/mysql/mysqld_charset.cnf:/etc/mysql/conf.d/mysqld_charset.cnf
- ./local-docker/mroonga/00-install.sql:/docker-entrypoint-mroonga-initdb.d/00-install.sql
===後略===
解決した方法
下記のように作成者が想定した通りの使い方に戻すことでエラーがなくなりました。
エラーが直った
===前略===
mroonga:
container_name: mroonga
image: groonga/mroonga:mysql-8.0-latest #←dockerfileでカスタマイズするのをやめた
volumes:
- ./logs/mysql:/var/log/mysql
- ./local-docker/mysql/mysqld_charset.cnf:/etc/mysql/conf.d/mysqld_charset.cnf
- ./local-docker/mroonga/00-install.sql:/docker-entrypoint-mroonga-initdb.d/00-install.sql
===後略===
補足
自分の場合はdockerfileが悪かった事によるエラーでしたが、環境変数の設定ミスによっても同じエラーが出ることがあるらしいです。
この記事の中盤くらいに記載があって、指摘内容はmysqlへの接続情報(hostなど)が指定されていないことによるエラーではと書いてあります。
また同じ記事内に、OSなど他ソフトとのバージョンがあっていないとこのエラーが出る指摘もあり、過去の経験的にはこちらもよく発生しそうだと思ったので紹介しておきます。