web-dev-qa-db-fra.com

Redimensionner l'utilisation du disque d'un conteneur Docker

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)

10
Xingjun Wang

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 .

7
johnharris85
  1. (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

  2. 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"

  3. Redémarrez le deamon docker

    service docker restart

  4. Tirez l'image

    docker pull your_image_name

  5. (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.

4
Ondrej Svejdar

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é 

0
Phatee P