Le panneau de la Machine: Aucun espace disponible sur le périphérique
Je suis en train de configurer le Panneau de la Machine avec Panneau de Composer.
Scénario 1 (sans le Panneau de la Machine)
Si je lance docker-compose up -d
sans menu fixe de la Machine, il crée mes 3 conteneurs liés comme destiné (nginx+mongodb+nodejs).
Scénario 2 (avec menu fixe de la Machine)
Puis-je créer une machine virtuelle en utilisant le Panneau de la Machine et de dire Docker pour parler de cette machine avec eval $(docker-machine env streambacker-dev)
.
À ce point, si j'en ssh à mon menu fixe de la machine et exécuter df -h
, j'obtiens:
Si je puis exécutez docker-compose up -d
, je reçois un "aucun espace disponible sur le périphérique" erreur alors que le téléchargement de la dernière conteneur.
"tmpfs" semble être en effet un peu plein après:
La vérification de la --virtualbox-disque-taille option indique que la valeur par défaut est de 20000 MO, je pense que c'est ce que nous pouvons voir que "/dev/sda1" sur les deux photos. Alors, pourquoi sont des conteneurs remplir "tmpfs" n et ce qui est exactement "tmpfs"? Est temporaire du répertoire de téléchargement? Comment puis-je créer plus d'espace pour mes contenants?
Merci!
Pour plus d'informations, je suis en utilisant Docker Machine 0.4.0-rc2 et Docker Composer 1.3.2.
- Le
tmpfs
n'a rien à voir avec--virtualbox-disk-size
. C'est un système de fichiers (comme un disque RAM) monté dans la mémoire et rien n'y est accéder à votre disque. - Merci @h3nrik pour cette information.
- vérifier avec le balançant des trucs du menu fixe, comme balançant des images, balançant les volumes et les supprimer.
docker rmi $(docker images -f dangling=true -q)
etdocker volume rm $(docker volume ls -f dangling=true -q)
Vous devez vous connecter pour publier un commentaire.
Comme dit ci-dessus, le
tmpfs
n'a rien à voir avec--virtualbox-disk-size
. Il semble que boot2docker montetmpfs
en mémoire, si vous avez besoin de consacrer plus de mémoire à votre vm virtualbox. Vous pouvez le faire en spécifiant le--virtualbox-memory
paramètre.Par défaut:
Avec
--virtualbox-memory
ensemble de8096
J'ai eu le même message d'erreur (
[ERROR] InnoDB: Error number 28 means 'No space left on device'
) et de le résoudre de cette façon:1 . Supprimer les orphelins des volumes dans le Panneau, vous pouvez utiliser l'intégré dans le panneau de volume de la commande. La commande intégrée supprime également n'importe quel répertoire dans /var/lib/docker/volumes qui n'est pas un volume, donc assurez-vous de ne rien mettre là vous voulez enregistrer.
Avertissement être très prudent avec ce que si vous avez des données que vous souhaitez conserver
De nettoyage:
Commandes supplémentaires:
Liste balançant volumes:
Liste de tous les volumes:
2 . Également envisager la suppression de toutes les Images inutilisées.
D'abord de se débarrasser de la
<none>
images (ceux-ci sont parfois générés lors de la construction d'une image et si, pour une raison quelconque, la construction de l'image a été interrompu, ils y rester).voici un beau script que j'utilise pour les supprimer
Ensuite, si vous utilisez le Panneau de Composer pour construire les Images localement pour chaque projet. Vous allez vous retrouver avec beaucoup d'images le plus souvent nommé comme votre dossier (par exemple, si votre dossier de projet nommé Bonjour, vous trouverez des images nom
Hello_blablabla
). donc aussi envisager de supprimer toutes ces imagesvous pouvez modifier le script ci-dessus pour les supprimer ou de les supprimer manuellement avec
docker rmi {image-name}
docker rmi $(docker images | grep '^<none>' | awk '{print $3}')
. Retrait cessé de conteneurs peut être fait avecdocker rm $(docker ps -qa --no-trunc --filter "status=exited")
comme décrit ici: stackoverflow.com/a/32723127/619659.docker images | grep "^<none>" | xargs docker rmi
.docker volume prune
Si vous utilisez le Panneau de la Communauté Édition:
Si vous utilisez boot2docker (menu fixe-machine) effacer les volumes qui sont orphelins:
Clair des images inutilisées:
docker system prune
m'a aidédocker system prune
ftwdocker volume prune
pour seulement volumes, système de pruneau ne sera pas effacer le balançant des volumes.A. SUPPRIMER les IMAGES
en utilisant le menu fixe rm ou docker rmi commandes vous pouvez supprimer les images que vous n'avez pas besoin. Existe en fait une image qui aide dans cette tâche (martin/docker-nettoyage-volumes). La base est de commencer selectig à partir de vos images et les conteneurs de la liste:
B. MODIFIER LE SUPPORT de JSON DESCRIPTEUR
il est mentionné dans certains forums. L'idée est d'incrémenter le descripteur situé dans ~/.menu fixe/machine/machines/default/config.json . Le param semble être DiskSize mais je ne sais pas si cela fonctionne dans d'autres systèmes d'exploitation (pas de windows).
C. LINUX REDIMENSIONNER:
dans l'OS de Windows, le panneau de la machine ou de boot2docker est en fait une vm virtualbox, vous pouvez suivre la procédure pour redimensionner le disque. Prenez soin de sauvegarder les fichiers.
La procédure générale est de faire un redimensionnement dans virtualbox et ensuite utiliser un utilitaire appelé gpartd de modifier l'espace perçu par linux dans ses partitions.
Il y a quelques liens à faire cette procédure indiquée ci-dessous:
D. RECRÉER LE menu fixe-LINGE /BOOT2DOCKER
L'idée est de recréer de la valeur par défaut menu fixe-machine. Les commandes suivantes peuvent illustrer vous. Notez que tant que vous êtes à la re-création de la boot2docker, vous aurez perdu le précédent téléchargé support des images.
alors vous pouvez aller à virtual box et de voir le boot2docker de l'espace avec la commande "df -h"
Sur docker osx /j'ai été en mesure d'appuyer sur un bouton
[Déplacer L'Image Du Disque]
et il a réussi le menu fixe.qcow2 (contenant probablement des conteneurs /images)
d'abord - lorsque les machines ont commencé - j'étais encore un
Aucun espace disponible sur le périphérique d'erreur
mais il est résolu peu de temps après.
J'ai rencontré ce problème et pourrait ne pas ajouter de l'espace supplémentaire avec le panneau de l'INTERFACE utilisateur de mac, j'ai installé le panneau avec homebrew et exécuté la commande suivante lors de la création de ma machine:
docker-machine create --driver virtualbox --virtualbox-memory "2048" --virtualbox-disk-size "40000" default
ceci s'ajoute le double de l'espace pour la mémoire et la taille du disque à l'virtualbox que j'avais avant et que vous pouvez ajouter les paramètres d'ici la taille que vous avez besoin que vous voyez l'ajustement