L'exécution de conteneurs forme docker-compose sur un Mac, c'est le fichier
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"
L'exécution de docker-compose le conteneur Mongo échoue et se ferme. c'est le fichier de log:
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
La plainte principale est qu'il ne reste plus d'espace pour créer un répertoire, mais je ne vois pas comment le réparer.
J'ai résolu le problème lors du nettoyage des anciens volumes avec la commande suivante:
$ docker volume rm $(docker volume ls -qf dangling=true)
Référence: docker-cleanup-volumes
Mise à jour: 07/13/2018
Docker a maintenant une commande intégrée à pour supprimer les volumes en suspens: docker volume Prune
.
Le Dockerfile de l’image mongo montre que le chemin /data/db
utilise un volume Docker:
VOLUME /data/db /data/configdb
Si vous courez:
docker inspect --format '{{ .Mounts }}' <your-container>
Cela vous indiquera où le volume de données est mappé sur votre Mac. S'il s'agit d'un mappage sur un lecteur disposant de peu d'espace, vous pouvez démarrer le conteneur pointant vers un autre emplacement disposant de l'espace:
docker run -d -v <local-path-with-free-space>:/data/db mongo:3.3
Ou ajoutez ceci à votre fichier Compose:
volumes:
- <local-path-with-free-space>:/data/db
Je suis aux prises avec ce problème sous Windows et je n’ai pas eu besoin d’élagage, de suppression ou de nettoyage.
Je devais utiliser l'option Whale> Paramètres> Réinitialiser> "Réinitialiser les paramètres par défaut ..." option, ce que a fait a finalement résolu le problème.