Docker build できない(Cannot connect to the Docker daemon)
Docker daemon が起動していない、または現ユーザーが docker グループに属していないと build/run の全てが失敗する。
OS別に確認手順が異なる。
公開: 更新:
要約
docker build 実行時に Cannot connect to the Docker daemon at unix:///var/run/docker.sock
や error during connect が出る場合は daemon が起動していないか権限不足。
OS別に確認すべき手順が異なる。
よくある原因
- daemon 未起動: Docker Desktop が落ちている/Linux で
dockerdが止まっている - 権限不足(Linux):
docker.sockへの RW 権限が無い(docker グループに未所属) - DOCKER_HOST 不正: リモート Docker 用の環境変数が残っている
- 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-world3. DOCKER_HOST を確認
echo $DOCKER_HOST # 空のはず。値が入っていれば unset
unset DOCKER_HOST4. WSL 連携(Windows)
Docker Desktop → Settings → Resources → WSL Integration で対象ディストロを ON。
実行例
実際に上記の手順を GitHub Actions Runner(Ubuntu 24.04 / Docker 28.0.4)で動かすと、DOCKER_HOST に不正なソケットパス unix:///var/run/does-not-exist.sock が残った状態では終了コード 1 でビルドが失敗し、unset DOCKER_HOST を実行した直後の再ビルドでは終了コード 0 で正常完了することが確認できる。
$ docker build --progress=plain -t daemon-demo .
ERROR: failed to connect to the docker API at unix:///var/run/does-not-exist.sock; check if the path is correct and if the daemon is running: dial unix /var/run/does-not-exist.sock: connect: no such file or directory
build の終了コード: 1$ echo $DOCKER_HOST
unix:///var/run/does-not-exist.sock$ unset DOCKER_HOST$ docker build --progress=plain -t daemon-demo .
#0 building with "default" instance using docker driver
#1 [internal] load build definition from Dockerfile
#1 transferring dockerfile: 63B 0.0s done
#1 DONE 0.0s
#2 [auth] library/alpine:pull token for registry-1.docker.io
#2 DONE 0.0s
#3 [internal] load metadata for docker.io/library/alpine:3
#3 DONE 0.3s
#4 [internal] load .dockerignore
#4 transferring context: 2B done
#4 DONE 0.0s
#5 [1/2] FROM docker.io/library/alpine:3@sha256:28bd5fe8b56d1bd048e5babf5b10710ebe0bae67db86916198a6eec434943f8b
#5 resolve docker.io/library/alpine:3@sha256:28bd5fe8b56d1bd048e5babf5b10710ebe0bae67db86916198a6eec434943f8b done
#5 sha256:28bd5fe8b56d1bd048e5babf5b10710ebe0bae67db86916198a6eec434943f8b 9.22kB / 9.22kB done
#5 sha256:79ff19e9084a00eece421b2523fb93e22d730e2c0e525905de047e848e56d95f 1.02kB / 1.02kB done
#5 sha256:d529dd0c6e5597ac7e4a3e2dea65c3fcc6173f4cae713c409265c1dd9914a11b 611B / 611B done
#5 DONE 0.0s
#6 [2/2] RUN echo ok
#6 0.159 ok
#6 DONE 0.4s
#7 exporting to image
#7 exporting layers
#7 exporting layers 0.7s done
#7 writing image sha256:ccab1dda556402638cbdc98b9c59f0b7f461818649f2887347dd758c3b9087e3 done
#7 naming to docker.io/library/daemon-demo done
#7 DONE 0.7s
build の終了コード: 0(0 なら解消)— 2026-08-06 時点の出力