LoginSignup
8

DockerfileでCan't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)のエラーが出た時

Last updated at Posted at 2018-07-16

以下記事はmysqlのコンテナ再実行しなおしたら出来たみたいに書いていますが、もしかしたらそうかもしれないし時間的な問題なだけかも、ただ待ってればよかった?(1分ほど)みたいなことも起きたので記録残しておきます。ちなみに時間が経ったら出来るようになった関連の記事は(記事では出来るまで待つ処理入れたよ系の記事です。)=>URL

正直上のタイトル少しニュアンスが違うかもしれませんが許してください。
他にいいタイトルが思いつきませんでした。:sweat_drops:
ちなみに私はどの場面で出たかというと、コンテナーの中の/buildで(←前に書いた記事ですがきっとそう。)

mysql -uroot -hlocalhost

を打つとエラー内容として
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

と出ました。解決してくれたのは
https://stackoverflow.com/questions/23234379/installing-mysql-in-docker-fails-with-error-message-cant-connect-to-local-mysq

要は先にmysqlのコンテナ作成しといて起動しときなさいよっということでした。

なので一度コンテナーの外に出てmysqlのコンテナの起動が必要だったみたいでした:sweat_drops:

なので

$ docker run -d -p 3306:3306 mysql

を打ちmysql用のコンテナを起動するべきだったみたいです。

無事に
mysql> Jul 16 14:17:01 …
の表示が出ました。

おまけ
もし上のコマンドで途中止まるときは一回

$ docker images

打って
mysqlという名のイメージがあればそのidで

$ docker rmi -f <削除したいイメージid>

をしてから再度行うといいと思います。

イメージが消えない場合はコンテナが作成されていたり起動していたりするのでコマンドで削除したり止めたりするといいと思います。
以下のurlで使いそうなコマンド下の方にまとめてあるので是非
https://qiita.com/sachiko-kame/items/35e0cf07d117c3b92613

道のりは長い…。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8