Chaque conteneur Docker sera configuré avec 10 Go d’espace disque, ce qui correspond à la configuration par défaut de devicemapper dans CentOS. Alors, comment puis-je configurer chaque conteneur nouvellement créé avec plus de 10 Go d'espace disque par défaut? (Le serveur hôte est installé avec CentOS 6 et Docker 1.7.1)
Oui, vous pouvez. Utilisez l'attribut dm.basesize
lors du démarrage du démon Docker. Par exemple:
docker daemon --storage-opt dm.basesize=50G ...
Plus d'informations peuvent être trouvées dans les documents officiels .
(facultatif) Si vous avez déjà téléchargé une image via docker pull
, vous devez d'abord la nettoyer. Sinon, elles ne seront pas redimensionnées.
docker rmi your_image_name
Editer la configuration de stockage
vi /etc/sysconfig/docker-storage
Il devrait y avoir quelque chose comme DOCKER_STORAGE_OPTIONS="..."
, changez-le en DOCKER_STORAGE_OPTIONS="... --storage-opt dm.basesize=100G"
Redémarrez le deamon docker
service docker restart
Tirez l'image
docker pull your_image_name
(optionnel) vérification
docker run -i -t your_image_name /bin/bash
df -h
Je me débattais beaucoup avec cela jusqu'à ce que je découvre ce lien http://www.projectatomic.io/blog/2016/03/daemon_option_basedevicesize/ Il s'avère que vous devez supprimer/extraire l'image après avoir agrandi le basesize.
Les réponses ci-dessus suggèrent correctement que nous devons éditer l'attribut dm.basesize de devicemapper, Mais les solutions proposées sont périmées ou ne fonctionnent tout simplement pas dans mon cas.
Premièrement, assurez-vous que votre répertoire de stockage est un devicemapper avec:
docker info | grep "Storage Driver"
vous pouvez également vérifier la taille maximale actuelle du conteneur avec: (10 Go par défaut)
docker info | grep "Base Device Size"
A partir de documentation devicemapper
1) éditez dm.basesize dans le fichier etc/docker/daemon.json, ou créez-en un nouveau s'il n'existe pas
{
"storage-opts": [
"dm.basesize=30G"
]
}
2) redémarrer docker deamon
Sudo systemctl stop docker
Sudo systemctl start docker
3) Exécutez à nouveau la commande ci-dessous pour vérifier si la taille a changé
docker info | grep "Base Device Size"
4) Il est important de mettre à jour les images actuelles pour que le changement soit appliqué