docker-compose エラー - Couldn't connect to Docker daemon
環境
OS: Ubuntu 20.04
Kernel: 5.8.0-43-generic
docker-compose version 1.25.5, build unknown
問題
久しぶりに Docker を使おうという折、docker-compose build
を実行したときに、以下のエラーが返ってきた。
$ docker-compose build
ERROR: Couldn't connect to Docker daemon - you might need to run `docker-machine start default`.
docker-compose up
を実行しても一緒。
$ docker-compose up
ERROR: Couldn't connect to Docker daemon - you might need to run `docker-machine start default`.
エラーメッセージで検索して出てきたエントリーは以下の二件。しかし解決には至らず。
https://qiita.com/munimuni/items/57c48bc1287aef285c75
https://qiita.com/yoskhdia/items/a769b9d05657e4798203
解決
結論から言うと、sudo してなかっただけでした。 sudo したらなんの問題もなくうごきました。 忘れてましたが、そういえば必要でした。
$ sudo docker-compose build
Building mysql
Step 1/4 : FROM mysql
latest: Pulling from library/mysql
... 略
トラブルシュートに苦戦する自分に酔いしれ始めたころに気づいただけに、それはもう恥ずかしい気持ちでいっぱいです。難しいエラーメッセージを検索してウンウン悩む前に確認しましょう。sudo してますか?
言い訳
permission deny! dame!
とか言ってくれればすぐ気づけたんですけどね。いや、言い訳ですけど。
後記
いやいや、そんなバカな。以前から sudo なんてしてたっけ?と思い出して sudo 付けずにコマンドを実行する方法を振り返ると。以下のコマンドで、グループ「docker」に追加され、sudo 無しで docker系のコマンドが実行できるようになるはずでした。
sudo usermod -aG docker ORENONAMAE
しかし、そもそも /etc/group の中に dockerグループが居ません。今の環境はどうやって docker をインストールしたか忘れてしまった(snap install docker だったかな、、、)ので、
- 公式(https://docs.docker.com/engine/install/ubuntu/ )に従って再インストール
sudo usermod -aG docker ORENONAMAE
- PC再起動
という作業を経て、無事に sudo いらずでコマンドを実行できるようになりました。 docker をインストールした過程によっては、私と同じ目に合う方も居るかもしれません。