AWS CannotPullContainerError 没有 space 留在设备 Docker 上

AWS CannotPullContainerError no space left on device Docker

我正在尝试使用大型 docker 图像(图像位于 dockerhub here 上,大约 18GB)作为 AWS 批处理的作业定义。我从 space 中收到关于 运行ning 的以下错误:

CannotPullContainerError: write /var/lib/docker/tmp/GetImageBlob#######: no space left on device

定义作业的 Cloudformation JSON 部分在此处

  "JobDef3": {
      "Type": "AWS::Batch::JobDefinition",
      "Properties": {
        "Type": "container",
        "ContainerProperties": {
          "Image": {
            "Fn::Join": [
              "",
              [
                "cornhundred/",
                "dockerized-cellranger-nick:latest"
              ]
            ]
          },
          "Vcpus": 1,
          "Command": ["some command"],
          "Memory": 3000,
        },
        "RetryStrategy": {
          "Attempts": 1
        }
      }
    },

如何让 AWS 增加 space 可用的数量,以便我可以 运行 此图像?

通过将大文件(~15GB 参考基因组文件)移出 docker 图像并在 [=15= 之后下载它们,我能够 运行 docker 容器] 装容器。我还需要制作自定义 Amazon 机器映像(AMI,请参阅 AWS Batch Genomics 示例)并附加一个卷来处理大型参考基因组文件,因为默认容器不够大。

我遇到了类似的问题。清除未使用的 docker 图像和卷对我不起作用(即 docker container prunedocker system prune

我看到另一个页面说重新启动 docker 为该用户修复了它,但是执行 service docker restart 我得到了这个错误:/etc/init.docker:第 35 行:ulimit:打开文件:无法修改限制:不允许操作

为了尝试解决这个问题,我看到网站提到要更新某些配置文件中的 ulimit 值,但是当我尝试使用更新后的参数保存文件时,我遇到了 写入错误(文件系统已满?)

此时,我意识到(正如您最初显示的错误)我需要清理并删除文件。

我从根文件夹中执行了 du -h 并看到 /var/lib/docker/tmp/ 文件夹(这是我遇到的错误消息的一部分,你在上面发布)用掉了更多磁盘 space 比其他文件夹。

所以我删除了那里的旧文件,我不再收到该错误消息。