构建Docker镜像时遇buildkit启动错误,多GitHub项目均复现
问题描述
克隆多个公开GitHub项目构建Docker镜像时,持续触发以下错误:
[+] Building 14.6s (1/1) FINISHED => ERROR [internal] booting buildkit 14.6s => => pulling image moby/buildkit:buildx-stable-1 12.7s => => creating container buildx_buildkit_default 1.9s ------ > [internal] booting buildkit: ------ Error response from daemon: crun: creating cgroup directory `/sys/fs/cgroup/systemd/docker/buildx/libpod-86ba89f2fa100371f55620a538087d7e63a80541ae3b69b4919483f52ff616fa`: No such file or directory: OCI runtime attempted to invoke a command that was not found `docker-compose` process finished with exit code 17
对应的Docker Compose配置:
# Docker Compose 文件参考(https://docs.docker.com/compose/compose-file/) version: '3' # 定义服务 services: # 应用服务 app: # 为该服务构建Docker镜像的配置 build: context: . # 使用当前目录下指定Dockerfile构建的镜像 dockerfile: Dockerfile ports: - "8080:8080" # 将容器暴露的8080端口转发到主机的8080端口 restart: unless-stopped depends_on: - redis # 该服务依赖redis,需先启动redis environment: # 向服务传递环境变量 REDIS_URL: redis:6379 networks: # 要加入的网络(同一网络的服务可通过名称通信) - backend # Redis服务 redis: image: "redis:alpine" # 使用公开的Redis镜像构建redis服务 restart: unless-stopped networks: - backend networks: backend:
解决方法
- 手动创建缺失的cgroup目录
按错误提示的路径补全目录层级,执行:sudo mkdir -p /sys/fs/cgroup/systemd/docker/buildx sudo chmod -R 755 /sys/fs/cgroup/systemd/docker/buildx - 重启Docker服务
让Docker重新加载cgroup配置:sudo systemctl restart docker - 临时禁用BuildKit(快速 workaround)
如果上述操作无效,可临时关闭BuildKit模式再构建:
若需要长期禁用,编辑export DOCKER_BUILDKIT=0 docker-compose build/etc/docker/daemon.json添加以下内容,然后重启Docker:{ "features": { "buildkit": false } } - 检查并升级组件版本
确保crun和Docker为最新稳定版,避免因版本不兼容导致cgroup创建失败。
内容的提问来源于stack exchange,提问作者Mahedi
相关产品推荐
相关产品推荐

