运行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/db
path正在使用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