我的DockerFile包含以下指令:
rm -f plugins.7z
该命令在Docker的早期版本中按预期工作,但在1.13版本中失败.我看到错误:
cannot access plugins.7z: No such file or directory
如果我用基本映像调出一个容器并手动执行命令,则会看到相同的错误.
# ls -lrt
ls: cannot access plugins.7z: No such file or directory
total 12
??????????? ? ? ? ? ? plugins.7z
在Docker Issues中未将其列为已知问题.如何进一步调试问题?
编辑:
>由于IP的原因,我无法在此处发布完整的Dockerfile.另外,可能没有必要.如前所述,即使手动运行容器并尝试执行命令,我也可以模拟问题
>该文件存在,然后尝试删除它
>我错在问题列表中没有类似的错误.这是one
>问题可能与该文件无关.删除文件夹中的其他文件/文件夹也会使它们显示为???.权限
>执行操作的用户是root
要验证d_type支持在您的系统上是否可用,请检查docker info的输出;
Server Version: 1.13.1
Storage Driver: overlay
Backing Filesystem: xfs
Supports d_type: false
Logging Driver: json-file
该要求也描述在release notes for RHEL/CentOS中
Note that XFS file systems must be created with the
-n ftype=1
option enabled for use as an overlay. With the rootfs and any file systems created during system installation,set the--mkfsoptions=-n ftype=1
parameters in the Anaconda kickstart. When creating a new file system after the installation,run the# mkfs -t xfs -n ftype=1 /PATH/TO/DEVICE
command. To determine whether an existing file system is eligible for use as an overlay,run the# xfs_info /PATH/TO/DEVICE | grep ftype
command to see if theftype=1
option is enabled.
要解决此问题,请;或者;
>使用ftype = 1重新格式化设备
>使用其他存储驱动程序.请注意,不建议将默认设备映射器配置(使用环回设备)用于生产,因此需要手动配置.
对于向后兼容性(较早版本的docker允许在没有d_type的系统上运行叠加),docker 1.13将仅在守护程序日志中记录警告(https://github.com/docker/docker/pull/27433),但在以后的版本中将不再支持.