Docker ZFS上的ddev:服务和x27;db';未能生成:未能复制文件:复制文件范围失败:参数无效

Docker ZFS上的ddev:服务和x27;db';未能生成:未能复制文件:复制文件范围失败:参数无效,docker,docker-compose,zfs,ddev,Docker,Docker Compose,Zfs,Ddev,服务“db”生成失败:复制文件失败:复制文件范围失败:参数无效 之后的任何新项目都会发生这种情况 启动任何ddev项目或使用ddev config创建新项目时,会发生此错误 更新:仅当docker数据(/var/lib/docker默认值)位于ZFS卷上时才会发生这种情况。当我将其移动到EXT4时,问题就消失了 docker或docker compose似乎没有问题,因为我已经成功地启动了这两个项目的示例/hello world容器 我已尝试删除~/.ddev、降级ddev和降级docker。我

服务“db”生成失败:复制文件失败:复制文件范围失败:参数无效 之后的任何新项目都会发生这种情况

启动任何ddev项目或使用
ddev config
创建新项目时,会发生此错误

更新:仅当docker数据(/var/lib/docker默认值)位于ZFS卷上时才会发生这种情况。当我将其移动到EXT4时,问题就消失了

docker或docker compose似乎没有问题,因为我已经成功地启动了这两个项目的示例/hello world容器

我已尝试删除~/.ddev、降级ddev和降级docker。我无法降级docker compose

日志:

config.yml

name: test
type: php
docroot: ""
php_version: "7.3"
webserver_type: nginx-fpm
router_http_port: "80"
router_https_port: "443"
xdebug_enabled: false
additional_hostnames: []
additional_fqdns: []
mariadb_version: "10.2"
mysql_version: ""
provider: default
use_dns_when_possible: true
composer_version: ""
系统:

  • Docker 20.10.1
  • docker compose 1.27.4
  • Manjaro Linux(Arch衍生产品)
  • ZFS 2.0.0-1(根目录上)
码头工人信息

Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Build with BuildKit (Docker Inc., v0.5.1-tp-docker)

Server:
 Containers: 1
  Running: 1
  Paused: 0
  Stopped: 0
 Images: 27
 Server Version: 20.10.1
 Storage Driver: zfs
  Zpool: rpool
  Zpool Health: ONLINE
  Parent Dataset: rpool/root
  Space Used By Parent: 20958640128
  Space Available: 282678809088
  Parent Quota: no
  Compression: off
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 269548fa27e0089a8b8278fc4fc781d7f65a939b.m
 runc version: ff819c7e9184c13b7c2607fe6c30ae19403a7aff
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 5.10.2-2-MANJARO
 Operating System: Manjaro Linux
 OSType: linux
 Architecture: x86_64
 CPUs: 12
 Total Memory: 30.9GiB
 Name: testpc
 ID: BKDP:GAWJ:BUCV:OVP6:QUKY:UQCZ:AESP:V3AN:EXHE:BWJU:4TT7:YPEO
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false
(没有足够的声誉发表评论,但这不是一个完整的答案。)

我遇到了同样的问题,同样是Arch w/ZFS上的Docker。我可以通过传递
DOCKER\u BUILDKIT=0 DOCKER build…
来“修复”它。这似乎是buildkit中的一个问题


我还没有深入研究到底是什么导致了这一问题。

很遗憾,我再也无法将曼哈罗与之相提并论了。但是你能不能把这个脚本的输出概括一下:然后把链接贴在这里?正在构建数据库的全部工作是,我建议您删除所有图像
docker rmi-f$(docker images-q)
-这样,如果有损坏的图像,它可以为您重新提取。@r感谢您查看此图像。我删除了图像并运行了脚本。构建db服务时发生了相同的错误。我刚刚安装了Manjaro 20.2.1,安装了docker(20.10.1)和docker compose(1.27.4),安装了ddev(1.16.5)。没有任何麻烦。很抱歉,就像经常发生的那样,曼哈罗/阿奇欺骗了你。内核5.9.16-1和5.10.2-2都工作正常。我只能建议您完全卸载docker并清除所有数据,然后重新安装。除此之外。。。您的系统有问题。@r谢谢您为我排解了这么多麻烦。我刚刚发现只有docker文件夹位于ZFS卷上时才会发生错误。我把它移到一个外部EXT4格式的SSD上,瞧,至少我可以继续工作。如果您还有更多的指示,请告诉我。@gbyte谢谢您的报告。我建议更改问题的标题:添加zfs。例如,“未能从zfs分区复制文件”,感谢您提供了良好的解决方案。您应该能够在您的环境中使用.zshrc、.profile中的
导出DOCKER_buildkit=0
关闭buildkit,或者其他任何东西。问题是:-您中的一位可以使用他们可以使用的测试用例进行后续操作吗?@r请验证环境变量的解决方法对我不起作用。我将DOCKER_BUILDKIT=0放入/etc/environment并重新登录,只是为了确定。@gbyte您使用的是直接DOCKER还是DOCKER compose。如果使用docker compose,可能还需要将
compose\u docker\u CLI\u BUILD=1
。编辑:在提到的错误用户。谢谢@Jack,是的,我相信ddev使用docker compose,但我仍然得到这些错误,即使在验证两个环境变量设置正确之后。
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Build with BuildKit (Docker Inc., v0.5.1-tp-docker)

Server:
 Containers: 1
  Running: 1
  Paused: 0
  Stopped: 0
 Images: 27
 Server Version: 20.10.1
 Storage Driver: zfs
  Zpool: rpool
  Zpool Health: ONLINE
  Parent Dataset: rpool/root
  Space Used By Parent: 20958640128
  Space Available: 282678809088
  Parent Quota: no
  Compression: off
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 269548fa27e0089a8b8278fc4fc781d7f65a939b.m
 runc version: ff819c7e9184c13b7c2607fe6c30ae19403a7aff
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 5.10.2-2-MANJARO
 Operating System: Manjaro Linux
 OSType: linux
 Architecture: x86_64
 CPUs: 12
 Total Memory: 30.9GiB
 Name: testpc
 ID: BKDP:GAWJ:BUCV:OVP6:QUKY:UQCZ:AESP:V3AN:EXHE:BWJU:4TT7:YPEO
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false