Docker Desktop启动失败:dockerd触发invalid freelist panic(M1 Ventura)
Docker Desktop启动失败:dockerd触发"invalid freelist" panic(M1 Ventura环境)
环境信息
- MacOS Ventura 13.4(M1芯片)
- Docker Desktop 4.20.0(Docker Engine版本24.0.2)
报错详情
dockerd启动时触发panic,核心报错为invalid freelist page: 0, page type is unknown<00>,完整调用栈如下:
[2023-06-01T12:08:48.871257668Z][dockerd][I] panic: invalid freelist page: 0, page type is unknown<00> [2023-06-01T12:08:48.871260793Z][dockerd][I] [2023-06-01T12:08:48.871267251Z][dockerd][I] goroutine 1 [running, locked to thread]: [2023-06-01T12:08:48.872935418Z][dockerd][I] github.com/docker/docker/vendor/go.etcd.io/bbolt.(*freelist).read(0xaaaae7120ef3?, 0xffff5ef7b000) [2023-06-01T12:08:48.872946084Z][dockerd][I] /go/src/github.com/docker/docker/vendor/go.etcd.io/bbolt/freelist.go:267 +0x1d8 [2023-06-01T12:08:48.872952793Z][dockerd][I] github.com/docker/docker/vendor/go.etcd.io/bbolt.(*DB).loadFreelist.func1() [2023-06-01T12:08:48.872952959Z][dockerd][I] /go/src/github.com/docker/docker/vendor/go.etcd.io/bbolt/db.go:415 +0xac [2023-06-01T12:08:48.873508584Z][dockerd][I] sync.(*Once).doSlow(0x400023d848?, 0xaaaae77efce0?) [2023-06-01T12:08:48.873517334Z][dockerd][I] /usr/local/go/src/sync/once.go:74 +0x104 [2023-06-01T12:08:48.873522043Z][dockerd][I] sync.(*Once).Do(...) [2023-06-01T12:08:48.873522418Z][dockerd][I] /usr/local/go/src/sync/once.go:65 [2023-06-01T12:08:48.873524418Z][dockerd][I] github.com/docker/docker/vendor/go.etcd.io/bbolt.(*DB).loadFreelist(0x400023d680?) [2023-06-01T12:08:48.873524543Z][dockerd][I] /go/src/github.com/docker/docker/vendor/go.etcd.io/bbolt/db.go:408 +0x48 [2023-06-01T12:08:48.873526626Z][dockerd][I] github.com/docker/docker/vendor/go.etcd.io/bbolt.Open({0x400102e9f0, 0x2a}, 0x0?, 0x0) [2023-06-01T12:08:48.873526793Z][dockerd][I] /go/src/github.com/docker/docker/vendor/go.etcd.io/bbolt/db.go:290 +0x3a0 [2023-06-01T12:08:48.873822126Z][dockerd][I] github.com/docker/docker/builder/builder-next.newGraphDriverController({_, *}, {_, *}, {0x4000ba6ac8, {0x4000ef99b0, 0x18}, {0x40002265a0, 0x24}, {0x4000eb7470, ...}, ...}) [2023-06-01T12:08:48.873825501Z][dockerd][I] /go/src/github.com/docker/docker/builder/builder-next/controller.go:196 +0x4b8 [2023-06-01T12:08:48.873831584Z][dockerd][I] github.com/docker/docker/builder/builder-next.newController({_, *}, {_, *}, {0x4000ba6ac8, {0x4000ef99b0, 0x18}, {0x40002265a0, 0x24}, {0x4000eb7470, ...}, ...}) [2023-06-01T12:08:48.873831793Z][dockerd][I] /go/src/github.com/docker/docker/builder/builder-next/controller.go:60 +0x94 [2023-06-01T12:08:48.874771334Z][dockerd][I] github.com/docker/docker/builder/builder-next.New({_, _}, {0x4000ba6ac8, {0x4000ef99b0, 0x18}, {0x40002265a0, 0x24}, {0x4000eb7470, {0xaaaae7afa2a0, 0x40009b32b0}, ...}, ...}) [2023-06-01T12:08:48.874782043Z][dockerd][I] /go/src/github.com/docker/docker/builder/builder-next/builder.go:113 +0x114 [2023-06-01T12:08:48.874786459Z][dockerd][I] main.newRouterOptions({0xaaaae7af7248, 0x4000afc630}, 0x4000bab400, 0x4000abc000) [2023-06-01T12:08:48.874786626Z][dockerd][I] /go/src/github.com/docker/docker/cmd/dockerd/daemon.go:351 +0x60c [2023-06-01T12:08:48.874788584Z][dockerd][I] main.(*DaemonCli).start(0x4000bf6d40, 0x4000c4ab60) [2023-06-01T12:08:48.874788751Z][dockerd][I] /go/src/github.com/docker/docker/cmd/dockerd/daemon.go:265 +0xe08 [2023-06-01T12:08:48.874790709Z][dockerd][I] main.runDaemon(...) [2023-06-01T12:08:48.874791001Z][dockerd][I] /go/src/github.com/docker/docker/cmd/dockerd/docker_unix.go:14 [2023-06-01T12:08:48.874792834Z][dockerd][I] main.newDaemonCommand.func1(0x4000808300?, {0x4000c4abd0?, 0x7?, 0x7?}) [2023-06-01T12:08:48.874792959Z][dockerd][I] /go/src/github.com/docker/docker/cmd/dockerd/docker.go:39 +0xa8 [2023-06-01T12:08:48.874795043Z][dockerd][I] github.com/docker/docker/vendor/github.com/spf13/cobra.(*Command).execute(0x4000808300, {0x400004e090, 0x7, 0x7}) [2023-06-01T12:08:48.874945043Z][dockerd][I] /go/src/github.com/docker/docker/vendor/github.com/spf13/cobra/command.go:916 +0x5c8 [2023-06-01T12:08:48.874947543Z][dockerd][I] github.com/docker/docker/vendor/github.com/spf13/cobra.(*Command).ExecuteC(0x4000808300) [2023-06-01T12:08:48.874951793Z][dockerd][I] /go/src/github.com/docker/docker/vendor/github.com/spf13/cobra/command.go:1044 +0x35c [2023-06-01T12:08:48.874951959Z][dockerd][I] github.com/docker/docker/vendor/github.com/spf13/cobra.(*Command).Execute(...) [2023-06-01T12:08:48.874963709Z][dockerd][I] /go/src/github.com/docker/docker/vendor/github.com/spf13/cobra/command.go:968 [2023-06-01T12:08:48.874963876Z][dockerd][I] main.main() [2023-06-01T12:08:48.874966168Z][dockerd][I] /go/src/github.com/docker/docker/cmd/dockerd/docker.go:109 +0x1a8 [2023-06-01T12:08:48.883981959Z][dockerd][I] EOF
解决方案
该报错由Docker构建器的bolt数据库(builder-state.db)损坏引发,重装Docker Desktop不会自动清理此文件,需手动处理:
- 完全退出Docker Desktop(右键点击顶部菜单栏Docker图标,选择「Quit Docker Desktop」)
- 打开终端,执行命令删除损坏的数据库:
rm ~/Library/Containers/com.docker.docker/Data/docker/builder-state.db - 重新启动Docker Desktop
若问题仍存在,可尝试清理Docker全部状态数据(注意:此操作会删除所有镜像、容器、卷等数据):
rm -rf ~/Library/Containers/com.docker.docker/Data
之后重新启动Docker Desktop即可。
内容的提问来源于stack exchange,提问作者ianoz69
相关产品推荐
相关产品推荐

