Ejecutando contenedores desde docker-compose en una Mac, este es el archivo
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"Ejecutar docker-compose hasta el contenedor mongo falla y sale. este es el archivo de registro:
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:100La queja principal es que no queda espacio para crear un directorio, pero no sé cómo solucionarlo.
Solucioné el problema limpiando los volúmenes antiguos con el siguiente comando:
$ docker volume rm $(docker volume ls -qf dangling=true)Referencia: docker-cleanup-volumes
Actualización: 13/07/2018
Docker ahora tiene un comando incorporado para eliminar volúmenes colgantes: docker volume prune .
El Dockerfile para la imagen de mongo muestra que la ruta /data/db está usando un volumen de Docker:
VOLUME /data/db /data/configdbSi tu corres:
docker inspect --format '{{ .Mounts }}' <your-container>Eso le dirá dónde se mapea el volumen de datos en su Mac. Si se está asignando a una unidad que tiene poco espacio, puede iniciar el contenedor apuntando a otra ubicación que tenga espacio:
docker run -d -v <local-path-with-free-space>:/data/db mongo:3.3O agregue esto a su archivo Compose:
volumes: - <local-path-with-free-space>:/data/db