首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Docker `/var/lib/docker/overlay2`目录不能在overlay2文件系统上

为什么Docker `/var/lib/docker/overlay2`目录不能在overlay2文件系统上
EN

Stack Overflow用户
提问于 2018-10-23 16:00:40
回答 2查看 2.9K关注 0票数 1

/var/lib/docker/overlay2目录在overlay2文件系统上时,Docker启动失败,出现以下错误:

代码语言:javascript
复制
level=error msg="'overlay2' is not supported over overlayfs" storage-driver=overlay2
level=error msg="[graphdriver] prior storage driver overlay2 failed: backing file system is unsupported for this graph driver"
Error starting daemon: error initializing graphdriver: backing file system is unsupported for this graph driver

相关代码似乎是https://github.com/moby/moby/blob/master/daemon/graphdriver/overlay2/overlay.go#L162,但它没有解释其中的原因!

EN

回答 2

Stack Overflow用户

发布于 2018-12-26 20:34:57

我认为您可以使用xfs_info检查/var/lib/docker/overlay2目录,看看overlay2是否支持它。

例如,

代码语言:javascript
复制
$ xfs_info /var/lib/docker/overlay2 | grep ftype
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1

如果输出为ftype=1,则可以在overlay2中支持它。有关更多详细信息,请参阅What is d_type and why Docker overlayfs need it

我希望它能对你有所帮助。:^)

票数 0
EN

Stack Overflow用户

发布于 2019-06-25 19:09:47

正如作者在GitHub commit comment中所解释的那样,overlay on overlay会导致“非常奇怪的行为”,因此目前Docker还不支持。

目前还不清楚您为什么要这样做。但一个常见的原因是在Docker中运行Docker。如果是这种情况,您可以简单地将一个文件夹从主机挂载到容器内的/var/lib/docker,例如:

代码语言:javascript
复制
docker run -d -v /my/storage:/var/lib/docker docker-in-docker-image

此外,在为Docker- In -Docker构建镜像时,请在Docker文件中添加一条VOLUME /var/lib/docker语句,以确保文件夹是挂载点。这也是官方docker:dind镜像的工作方式:https://github.com/docker-library/docker/blob/master/18.09/dind/Dockerfile#L40

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52943984

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档