文件系统为xfs且存储驱动程序为overlay时Docker卷映射文件损坏

文件系统为xfs且存储驱动程序为overlay时Docker卷映射文件损坏,docker,Docker,在Docker 1.13.0中创建卷映射时,某些文件已损坏 在docker容器中,当“ls-l”打开文件夹时,它显示如下: “??????文件\u corpted\u和\u cant\u access.conf” 无法对其进行编辑或删除。 它只显示“没有这样的文件或目录”。 我认为它不能链接文件inode和path 如何修复它 其他信息 在卷映射之后,我软链接docker容器中的卷映射文件夹 docker run--privileged-d-v/opt/volume\u mapping\u fo

在Docker 1.13.0中创建卷映射时,某些文件已损坏

在docker容器中,当“ls-l”打开文件夹时,它显示如下:

“??????文件\u corpted\u和\u cant\u access.conf”

无法对其进行编辑或删除。 它只显示“没有这样的文件或目录”。 我认为它不能链接文件inode和path

如何修复它

其他信息

在卷映射之后,我软链接docker容器中的卷映射文件夹

docker run--privileged-d-v/opt/volume\u mapping\u folder/:/inside\u container/inside\u folder--restart=always testcontainer

和insde docker容器I软链接文件夹

docker-it testcontainer/bin/bash
ln-s/inside_container/inside_folder/opt/appFolder
touch/opt/appFolder/file_corrpted_和_cant_access.conf

码头工人信息的输出:


服务器版本:1.13.0
存储驱动程序:覆盖
备份文件系统:xfs
支持d_类型:false
日志驱动程序:json文件
Cgroup驱动程序:cgroupfs
插件:
卷:本地
网络:网桥主机macvlan空覆盖
蜂群:不活跃
运行时:runc
默认运行时:runc
初始化二进制文件:docker Init
集装箱版本:03e5862ec0d8d3b3f750e19fca3ee367e13c090e
runc版本:2f7393a47307a16f8cee44a37b262e8b81021e3e
初始版本:949e6fa
安全选项:
赛康普
配置文件:默认值
内核版本:3.10.0-514.6.1.el7.x86_64
操作系统:CentOS Linux 7(核心)
OSType:linux
架构:x86_64
中央处理器:2
总内存:5.671 GiB
ID:2D2E:73MA:BJQ3:WQAJ:BR3W:TYF5:F3MQ:E7S3:KZGV:A64K:ASZK:UEXE
Docker根目录:/var/lib/Docker
调试模式(客户端):false
调试模式(服务器):false
注册处:https://index.docker.io/v1/
实验性:错误
不安全的登记处:
127.0.0.0/8
已启用实时还原:false

今天,我在RHEL 7.3系统上使用Docker 1.13.0运行CentOS映像时遇到了类似的问题。我的容器根文件系统中的文件行为异常。例如,我会尝试删除一个文件,但它不会从文件系统中删除,并显示运行“ls”时发布的相同“?”。我在尝试更改文件的所有权时也遇到了问题。无论如何,我猜Docker 1.13.0在过去(Docker 1.12.5)是devicemapper时将默认存储驱动程序更改为overlay。我将默认设置改回devicemapper,问题就消失了


我不是Docker或Linux文件系统专家,也不确定是否有意将overlay更改为默认设置。

我今天在RHEL 7.3系统上使用Docker 1.13.0运行CentOS映像时遇到了类似的问题。我的容器根文件系统中的文件行为异常。例如,我会尝试删除一个文件,但它不会从文件系统中删除,并显示运行“ls”时发布的相同“?”。我在尝试更改文件的所有权时也遇到了问题。无论如何,我猜Docker 1.13.0在过去(Docker 1.12.5)是devicemapper时将默认存储驱动程序更改为overlay。我将默认设置改回devicemapper,问题就消失了


我不是Docker或Linux文件系统专家,我不确定是否有意将overlay更改为默认设置。

这与xfs文件系统与overlay模式相关

解决方案就是其中之一

  • xfs分区需要格式化,ftype设置为1

  • 使用ext4文件系统而不是xfs

  • 将docker存储驱动程序设置为“devicemapper”


  • 这是与覆盖模式相关的xfs文件系统

    解决方案就是其中之一

  • xfs分区需要格式化,ftype设置为1

  • 使用ext4文件系统而不是xfs

  • 将docker存储驱动程序设置为“devicemapper”


  • thx,将存储驱动程序更改为devicemapper后,问题消失了。thx,将存储驱动程序更改为devicemapper后,问题消失了。