Ошибка при работе контейнера докеров: на устройстве нет места: "/data/db/journal"

Запуск контейнеров формирует компоновку докеров на Mac, это файл

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"

Запуск докера-компоновки контейнера 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

Основные жалобы на отсутствие свободного места для создания каталога, но я не могу понять, как его исправить.

Ответ 1

Я исправил проблему очистки старых томов с помощью следующей команды:

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

Ссылка: docker-cleanup-volume

Обновление: 13.07.2008

Docker теперь имеет встроенную команду для удаления висячих томов: docker volume prune.

Ответ 2

Dockerfile для изображения mongo показывает, что путь /data/db использует громкость докеров:

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

Ответ 3

Я боролся с этой проблемой на Windows, и никакое количество сокращения, удаления или очистки не помогло.

Мне пришлось воспользоваться опцией Whale> Settings> Reset> "Reset to factory default"..., которая в конечном итоге все-таки исправила.

Ответ 4

Я исправил ошибку, изменив размер диска докера:

enter image description here