【问题标题】:Error running docker container: No space left on device: "/data/db/journal"运行 docker 容器时出错:设备上没有剩余空间:“/data/db/journal”
【发布时间】:2017-02-04 17:01:47
【问题描述】:

在 Mac 上运行容器形式 docker-compose,这是文件

api:
  build: .
  volumes:
    - .:/src
    - /src/node_modules
  links:
    - mongo
    - redis
  ports:
    - "3015:3015"
    - "5858:5858"
mongo:
  image: mongo:3.3
  ports:
   - "27017:27017"
redis:
  image: redis
  ports:
   - "6379:6379"

运行 docker-compose up mongo 容器失败并退出。这是日志文件:

MongoDB starting : pid=1 port=27017 dbpath=/data/db 64-bit host=7115a6cce706
db version v3.3.14
git version: 507a5b4d334c1b4bea8fa232fa6b882849608e97
OpenSSL version: OpenSSL 1.0.1t  3 May 2016
allocator: tcmalloc
modules: none
build environment:
    distmod: debian81
    distarch: x86_64
    target_arch: x86_64
options: {}
 ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
See http://dochub.mongodb.org/core/prodnotes-filesystem
error creating journal dir /data/db/journal boost::filesystem::create_directory: No space left on device: "/data/db/journal"
exception in initAndListen std::exception: boost::filesystem::create_directory: No space left on device: "/data/db/journal", terminating
shutdown: going to close listening sockets...
removing socket file: /tmp/mongodb-27017.sock
shutdown: going to flush diaglog...
now exiting
shutting down with code:100

主要抱怨它没有空间用于创建目录,但我不知道如何修复它。

【问题讨论】:

标签: mongodb docker docker-compose


【解决方案1】:

我用下一个命令修复了清理旧卷的问题:

$ docker volume rm $(docker volume ls -qf dangling=true)

参考: docker-cleanup-volumes

更新:2018 年 7 月 13 日

Docker 现在有一个 built in command 用于删除悬空卷:docker volume prune

【讨论】:

    【解决方案2】:

    我通过调整 docker 的磁盘大小修复了错误:

    【讨论】:

      【解决方案3】:

      mongo 映像的 Dockerfile 显示 /data/db 路径正在使用 Docker 卷:

      VOLUME /data/db /data/configdb
      

      如果你运行:

      docker inspect --format '{{ .Mounts }}' <your-container>
      

      这将告诉您数据卷在 Mac 上的映射位置。如果它映射到空间不足的驱动器,您可以启动容器指向另一个有空间的位置:

      docker run -d -v <local-path-with-free-space>:/data/db mongo:3.3
      

      或将其添加到您的 Compose 文件中:

      volumes:
        - <local-path-with-free-space>:/data/db
      

      【讨论】:

        【解决方案4】:

        我一直在努力解决 Windows 上的这个问题,但没有任何修剪、删除或清理的帮助。

        我不得不使用 Whale > Settings > Reset > "Reset to factory defaults..." 选项,确实 最终修复了它。

        【讨论】:

        • 可悲的是,我不知道是什么导致了这个问题。我很怀疑这是 docker 本身的错误/泄漏。
        猜你喜欢
        • 2015-08-30
        • 2015-08-16
        • 2021-06-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-24
        • 2021-09-18
        • 2019-10-16
        相关资源
        最近更新 更多