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

Запуск контейнеров из формы docker-compose на 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"

Запуск docker-compose контейнера 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

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


person irokhes    schedule 27.09.2016    source источник
comment
попробуйте очистить первые контейнеры и изображения докеров – › stackoverflow.com/ вопросы/21398087/   -  person mkorszun    schedule 27.09.2016
comment
Я так уже делал, но ошибка осталась   -  person irokhes    schedule 27.09.2016


Ответы (4)


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

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

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

Обновление: 13 июля 2018 г.

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

person irokhes    schedule 28.09.2016

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

введите описание изображения здесь

person Jeff Tian    schedule 16.01.2019

Dockerfile для образа mongo показывает, что путь /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
person Elton Stoneman    schedule 27.09.2016

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

Мне пришлось использовать параметр Whale > Настройки > Сброс > "Восстановить заводские настройки...", что действительно в конечном итоге помогло.

person Wyck    schedule 11.09.2018
comment
К сожалению, я понятия не имею, что вызвало проблему в первую очередь. Я параноик, что это ошибка/утечка в самом докере. - person Wyck; 11.09.2018