2

我正在尝试使用需要使用 docker 的 AWS(EC2 实例)运行 Nextflow 管道,但出现以下错误:

CannotCreateContainerError: Error response from daemon: devmapper: Thin Pool has 0 free data blocks which is less than minimum required 4449 free data blocks. Create more free space in thin pool or use dm.min_free_space option to change behavior

在发现这个错误之后,我的管道完全死了。我在网上找到的这个问题最常见的答案是做一个 docker system prune,这样我可以释放一些空间,但是这样做之后错误仍然存​​在,并且空闲数据块仍然为 0。

我的猜测是我无法访问数据块,但由于这是我第一次使用 Docker,我完全迷路了。

如果有趣的话,如果我运行 docker info:

Client:
 Debug Mode: false

Server:
 Containers: 4
  Running: 0
  Paused: 0
  Stopped: 4
 Images: 22
 Server Version: 19.03.13-ce
 Storage Driver: devicemapper
  Pool Name: docker-docker--pool
  Pool Blocksize: 524.3kB
  Base Device Size: 536.9GB
  Backing Filesystem: ext4
  Udev Sync Supported: true
  Data Space Used: 14.55GB
  Data Space Total: 23.33GB
DOCKER_STORAGE_OPTIONS="--storage-driver devicemapper --storage-opt dm.thinpooldev=/dev/mapper/docker-docker--pool --storage-opt dm.use_deferred_removal=true --storage-opt dm.use_deferred_deletion=true   Data Space Available: 8.782GB
  Metadata Space Used: 4.891MB
  Metadata Space Total: 25.17MB
  Metadata Space Available: 20.28MB
/*
  Thin Pool Minimum Free Space: 2.333GB
  Deferred Removal Enabled: true
  Deferred Deletion Enabled: true
  Deferred Deleted Device Count: 0
  Library Version: 1.02.135-RHEL7 (2016-11-16)
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 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: runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: c623d1b36f09f8ef6536a057bd658b3aa8632828
 runc version: 12644e614e25b05da6fd08a38ffa0cfe1903fdec
 init version: de40ad0 (expected: fec3683)
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 4.14.225-121.362.amzn1.x86_64
 Operating System: Amazon Linux AMI 2018.03
 OSType: linux
 Architecture: x86_64
 CPUs: 1
 Total Memory: 985.5MiB
 Name: ip-172-31-33-79
 ID: QBVF:B7D5:3KRH:3BYR:UU27:XEUW:RWLE:SLAW:F6AG:LKD2:FD3E:LHLQ
 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

关于如何解决这个问题的任何线索?

4

1 回答 1

1

看了你的docker info上面,我注意到两件事:

  1. 您的 Docker 存储驱动程序 (devicemapper) 已弃用,并且
  2. 您的 Amazon Linux AMI 也已弃用。

我认为如果您使用更新的 Amazon Linux 2 AMI,您的新 Docker 将使用 overlay2 存储驱动程序,这是 Docker 的首选存储驱动程序。您不需要升级,但它可能是最简单的尝试,除非您绑定到此实例。

于 2021-07-08T11:41:20.710 回答