首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当设备中有空间时,Docker一直说“设备上没有剩余空间”

当设备中有空间时,Docker一直说“设备上没有剩余空间”
EN

Stack Overflow用户
提问于 2020-04-21 14:30:48
回答 2查看 1.9K关注 0票数 0

我的ec2实例附带了两个卷,一个是/dev/sdb 1,它是根卷,它是8GB,而另一个卷/dev/sdb是500 Gb。在运行sudo fdisk -l时,我可以看到这两个卷。我有一个django服务器运行在这个ec2实例上的docker实例中,当我将一些数据上传到服务器停靠程序"I/O错误,设备上没有空间“时。我怎样才能解决这个问题?

编辑

以下是我的船坞-Compose.yml

代码语言:javascript
复制
# Copyright (C) 2018-2020 Intel Corporation
#
# SPDX-License-Identifier: MIT
#
version: "2.3"

services:
  cvat_db:
    container_name: cvat_db
    image: postgres:10-alpine
    networks:
      default:
        aliases:
          - db
    restart: always
    environment:
      POSTGRES_USER: root
      POSTGRES_DB: cvat
      POSTGRES_HOST_AUTH_METHOD: trust
    volumes:
      - cvat_db:/var/lib/postgresql/data

  cvat_redis:
    container_name: cvat_redis
    image: redis:4.0-alpine
    networks:
      default:
        aliases:
          - redis
    restart: always

  cvat:
    container_name: cvat
    image: cvat
    restart: always
    depends_on:
      - cvat_redis
      - cvat_db
    build:
      context: .
      args:
        http_proxy:
        https_proxy:
        no_proxy:
        socks_proxy:
        TF_ANNOTATION: "no"
        AUTO_SEGMENTATION: "no"
        USER: "django"
        DJANGO_CONFIGURATION: "production"
        TZ: "Etc/UTC"
        OPENVINO_TOOLKIT: "no"
    environment:
      DJANGO_MODWSGI_EXTRA_ARGS: ""
      ALLOWED_HOSTS: '*'
    volumes:
      - cvat_data:/home/django/data
      - cvat_keys:/home/django/keys
      - cvat_logs:/home/django/logs
      - cvat_models:/home/django/models

  cvat_ui:
    container_name: cvat_ui
    restart: always
    build:
      context: .
      args:
        http_proxy:
        https_proxy:
        no_proxy:
        socks_proxy:
      dockerfile: Dockerfile.ui

    networks:
      default:
        aliases:
          - ui
    depends_on:
      - cvat

  cvat_proxy:
    container_name: cvat_proxy
    image: nginx:stable-alpine
    restart: always
    depends_on:
      - cvat
      - cvat_ui
    environment:
      CVAT_HOST: ""
      ALLOWED_HOSTS: "*"
    ports:
      - "8080:80"
    volumes:
      - ./cvat_proxy/nginx.conf:/etc/nginx/nginx.conf:ro
      - ./cvat_proxy/conf.d/cvat.conf.template:/etc/nginx/conf.d/cvat.conf.template:ro
    command: /bin/sh -c "envsubst '$$CVAT_HOST' < /etc/nginx/conf.d/cvat.conf.template > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'"

volumes:
  cvat_db:
  cvat_data:
  cvat_keys:
  cvat_logs:
  cvat_models:
EN

回答 2

Stack Overflow用户

发布于 2020-04-21 15:23:34

有几种可能性。查看本文,看看它是否有用:https://www.maketecheasier.com/fix-linux-no-space-left-on-device-error/

上面写着

进程保留的

删除文件

偶尔,一个文件会被删除,但是进程仍然在使用它。当进程仍在运行时,Linux不会释放与文件相关联的存储。您只需要找到进程并重新启动它。

没有足够的Inodes

文件系统上有一组名为“inodes”的元数据。Inode跟踪有关文件的信息。许多文件系统都有固定数量的inode,因此很有可能在不填充文件系统本身的情况下填充inode的最大分配。您可以使用df检查。

数独df -i /

将使用的节点与总节点进行比较。如果没有更多可用的,不幸的是,你不能得到更多。删除一些无用的或过时的文件以清除inode。

坏代码阻止

最后一个常见的问题是坏的文件系统块。文件系统变坏了,硬盘也死了。除非另有标记,否则您的操作系统很可能会认为这些块是可用的。查找和标记这些块的最佳方法是使用带有-cc标志的fsck。请记住,您不能从正在测试的同一个文件系统中使用fsck。

您还可能希望在Linux交换中发布这个问题,比如https://unix.stackexchange.com/https://serverfault.com/

票数 0
EN

Stack Overflow用户

发布于 2020-04-21 16:32:26

我认为这与您的机器无关,它与您所包含的体积大小限制有关,因为您可以限制这些。您可以使用docker container inspect <container-Id>检查容器并检查与其关联的卷吗?您还可以使用docker volume inspect <volume-Id>命令检查每个卷的Id。

经过一些研究,我更有信心这些可能是问题--检查这个线程--这与https://github.com/moby/moby/issues/5151有一点关系

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61346045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档