「Cannot connect to the Docker daemon. 」と怒られる時の対処法

Gakuです。

docker runコマンドを実行しようとすると「Cannot connect to the Docker daemon. Is the docker daemon running on this host?」と出て怒られたのでその対処法を備忘録として残します。

そもそもこのエラーは何?

「Cannot connect to the Docker daemon. Is the docker daemon running on this host?」
日本語訳:Dockerが立ち上がってますか?dockerデーモンにconnectできないんだけど
って怒られる。

この症状は様々な要因が考えられるが、僕の場合、dockerをインストールしたユーザと別ユーザでdocker runコマンドを実行しようとしたため、エラーが発生した。

再度docker toolboxをインストールしてみる

この記事で書いたように、再度dockerをインストールしてみます。

しかし、これだけではやはりさきほどのエラーが出力されてしまい解決できませんでした。

docker machineが立てられていない?

docker-machine start

を実行したところ、以下エラーが出力されました。

Error: No machine name(s) specified and no "default" machine exists.

「名前を指定しない場合はdefaultのマシンを立ち上げるけど、defaultのマシンは存在しないよ」
的なエラーが出力されました。
ここにピンときて、「docker-machineなるものが必要なのか?」
ってことで、調べて下記コマンドを実行してみました。

docker-machine create --driver virtualbox default
eval "$(docker-machine env default)"

これで再度「docker run hello-world」で正常に出力することが可能となりました。

おわりに

とりあえず解決しましたが、まだまだ理解力が足りないため、あらゆるところではまりそうです。
このエラーが出たら「docker-machine ls」でマシンが立ち上がっているかどうか確認するのは有効な手段であると思います。

コメントを残す

メールアドレスが公開されることはありません。