Windows11 Docker Desktop中Ubuntu容器无法运行Docker daemon,dapr init失败怎么解决
问题根因
你当前的操作属于在Docker容器内运行Docker Daemon的Docker in Docker(DinD)场景,默认启动的Ubuntu容器没有权限加载cgroup、操作内核模块,因此内部安装的Docker Daemon无法正常启动。且完全无需在容器内额外安装Docker,直接复用Windows宿主的Docker Desktop环境即可解决Dapr依赖问题。
推荐解决方案(无需在容器内装Docker Daemon)
- 启动Ubuntu容器时直接挂载宿主Docker套接字,执行命令:
docker run -it -v /var/run/docker.sock:/var/run/docker.sock ubuntu:latest bash - 进入容器后仅安装Docker CLI即可:
apt update && apt install -y docker.io - 执行
docker ps验证连通性,正常返回当前运行的容器列表即为配置成功 - 删除之前配置的无效环境变量:
unset DOCKER_HOST - 重新执行
dapr init即可正常完成初始化
备选方案(必须在容器内运行Docker Daemon场景)
- 启动容器时添加特权权限参数:
docker run -it --privileged --name dind-ubuntu ubuntu:latest bash - 进入容器后完整安装Docker组件:
apt update apt install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null apt update && apt install -y docker-ce docker-ce-cli containerd.io
- 后台启动Docker Daemon:
dockerd & - 等待3-5秒后执行
docker ps验证,正常返回结果后即可执行dapr init
报错参考
你遇到的Dapr初始化报错如下:
dapr init⌛ Making the jump to hyperspace...
❌ could not connect to Docker. Docker may not be installed or running
报错截图:
内容的提问来源于stack exchange,提问作者Net205
相关产品推荐
相关产品推荐

