运行docker容器时出错:设备上没有剩余空间:“/ data / db / journal”

运行容器在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 – 组成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 

主要抱怨这是没有空间留下来创build一个目录,但我不知道如何解决它。

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

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

参考: docker清理卷

mongo映像的Dockerfile显示/data/dbpath正在使用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 

或者将其添加到您的撰写文件中:

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