できない.dev

Docker build できない(Cannot connect to the Docker daemon)

Docker daemon が起動していない、または現ユーザーが docker グループに属していないと build/run の全てが失敗する。
OS別に確認手順が異なる。

#daemon#build#permission#wsl

公開:

要約

docker build 実行時に Cannot connect to the Docker daemon at unix:///var/run/docker.sockerror during connect が出る場合は daemon が起動していないか権限不足
OS別に確認すべき手順が異なる。

よくある原因

  1. daemon 未起動: Docker Desktop が落ちている/Linux で dockerd が止まっている
  2. 権限不足(Linux): docker.sock への RW 権限が無い(docker グループに未所属)
  3. DOCKER_HOST 不正: リモート Docker 用の環境変数が残っている
  4. WSL 連携 OFF(Windows): WSL ディストロから Docker が見えない

解決策

1. daemon 起動確認

# Linux
sudo systemctl status docker
sudo systemctl start docker
 
# macOS / Windows
# Docker Desktop アプリを起動。タスクトレイのクジラアイコンが安定するまで待つ

2. docker グループへ追加(Linux)

sudo usermod -aG docker $USER
# いったんログアウト → 再ログイン(newgrp docker でも可)
docker run --rm hello-world

3. DOCKER_HOST を確認

echo $DOCKER_HOST   # 空のはず。値が入っていれば unset
unset DOCKER_HOST

4. WSL 連携(Windows)

Docker Desktop → Settings → Resources → WSL Integration で対象ディストロを ON。

この記事は役立ちましたか?