J'utilise Docker Toolbox sous Windows 7 pour exécuter Docker. (version 1.9.1 de docker)
Il se trouve que le poste de travail fixe son VM dans C:\Utilisateurs\nom d'utilisateur\.docker\machine\machines\default. Et lorsque je valide les images, la taille de VM à cet emplacement s’emballe. Depuis Windows, le luxe de l’espace disponible sur le disque C.
Est-il possible de changer l'emplacement de la machine par défaut?
C'est ce qui a parfaitement fonctionné pour moi sous Windows 7:
Docker Toolbox va maintenant créer tous les fichiers à l'emplacement indiqué par MACHINE_STORAGE_PATH.
METTRE À JOUR:
Notez que la création d'une nouvelle VM avec le nouveau chemin de stockage n'est pas idéale, car les scripts du terminal Docker Quickstart ne semblent pas fonctionner avec des éléments non nommés "par défaut".
Si vous avez déjà une VM dans le lecteur C:, la solution la plus simple consiste à accéder à Oracle VirtualBox et à supprimer la VM "par défaut", désinstallez Docker Toolbox, supprimez C:\Users \. <nom d'utilisateur> .docker \, puis suivez les 3 étapes ci-dessus.
Remarque: la désinstallation et la réinstallation de Docker Toolbox peuvent ne pas être nécessaires. Mais je n'ai pas testé sans elle.
Mettre à jour
Pour déplacer également les certificats Docker, définissez la variable DOCKER_CERT_PATH
pour qu'elle pointe vers le chemin du nouveau lecteur. Merci à @Nutle pour le tuyau.
Depuis 2015, il y a maintenant (juin 2017) HYPER-V, ce qui vous permet de définir où vous voulez que vos VHDX
files _:
Voir Docker pour Windows 1.13.0, 2017-01-19 (stable) }:
Les fichiers VHDX contenant des images et des volumes non montés sur l'hôte peuvent être déplacés (à l'aide de l'onglet "avancé" de l'interface utilisateur)
Cela modifiera le %APPDATA%\Docker\settings.json
avec une ligne:
"MobyVhdPathOverride":"C:\\Users\\Public\\Documents\\Hyper-V\\New folder\\MobyLinuxVM.vhdx"
Voir ce fil pour plus d'informations .
Réponse originale
Actuellement 2015, docker-machine force l'utilisation de %USERPROFILE%
:
Voir libmachine/mcnutils/utils.go#L17-L25
Comme indiqué dans numéro 499 :
Entre-temps, comment les utilisateurs pourront-ils spécifier où les fichiers
.docker/machine/*
sont stockés?vous pouvez spécifier
--storage-path
sur la ligne de commande ou utiliser la variable d'environnementMACHINE_STORAGE_PATH
.
(Vous pouvez le voir implémenté dans PR 1941 )
_ { Joost Den Boer } _ souligne dans les commentaires _
Je viens d'essayer '
-s <path>
' sur un Mac et cela semble bien fonctionner.
Ce qui n'est peut-être pas évident, c'est que l'option de chemin d'accès précède la commande.
L'exécution de "docker-machine -s /Volumes/other/location' create --driver=virtualbox
" a créé une nouvelle image VirtualBox à l'autre emplacement.
Vous pouvez déplacer le répertoire .docker
vers un autre lecteur et créer un point de jonction avec celui-ci.
Veuillez noter que les raccourcis habituels ne fonctionneront pas.
Par exemple:
Déplacer le répertoire .docker
de C:\Users\username
à D:\
et courir:
C:\Users\username>mklink /j .docker D:\.docker
Junction created for .docker <<===>> D:\.docker
Utilisez simplement l'interface graphique de VirtualBox pour déplacer le fichier disk.vmdk
:
C:\Users\{myUsername}\.docker\machine\machines\default\disk.vmdk
dans un autre dossier, par exemple F:\docker-image\
.VirtualBox
, sélectionnez default
VM et ouvrez Settings
.Storage
, sélectionnez le disk.vmdk
actuel et relâchez-le (ou supprimez-le).Choose Virtual Hard Disk File...
et recherchez le fichier copié dans F:\docker-image\
File
, sélectionnez Virtual Media Manager...
et relâchez ou supprimez l'ancien disk.vmdk
.4.
, c'est fait!Mettez ces deux commandes lorsque vous exécutez le terminal de démarrage rapide de docker.
Je suppose que votre nouvel emplacement est "D:\docker" et votre nouveau nom d'ordinateur est "docker1"
export MACHINE_STORAGE_PATH=D:\\docker
docker-machine create --driver=virtualbox docker1
Cela devrait créer une nouvelle machine avec le nom spécifié dans votre nouvel emplacement.
Je ne pouvais pas utiliser la méthode de variable d'environnement MACHINE_STORAGE_PATH. Il a continué à se plaindre des certificats manquants lors de la première initialisation de la machine. Toujours sous Windows 7, vous devez donc utiliser la boîte à outils Docker.
J'ai contourné le problème en:
J'ai eu quelques problèmes avec l'une des solutions ci-dessus, mais voici ce qui a fonctionné pour moi:
MACHINE_STORAGE_PATH
pour qu'elle pointe vers votre dossier souhaitédirectory/folder..docker
..docker
du répertoire Utilisateurs.start.sh
et ajouté la ligne en haut:par exemple.
export MACHINE_STORAGE_PATH=D:\\Docker
J'ai trouvé que beaucoup de ces réponses étaient à court de données, du moins elles ne fonctionnaient pas dans mon environnement: Win10 PRO, docker desktop community 2.0.0.3. Enfin, j'ai résolu ce problème par cette méthode:
désinstaller docker
ouvrez le gestionnaire Hyper-V (appuyez sur la touche WIN, puis entrez "Hyper")
Modifiez les paramètres par défaut emplacements du disque dur virtuel _ dans les paramètres Hyper-V (et non sur les paramètres VM) et confirmez.
installer docker
vérifier l'emplacement de l'image disque dans les options avancées des paramètres du menu fixe
Ces réponses sont obsolètes, à compter de la dernière version. L'emplacement est configurable dans l'interface utilisateur Paramètres.
Créez un fichier appelé c:\programdata\docker\config\daemon.json avec le contenu ci-dessous, où e:\images est l'emplacement où vous souhaitez stocker toutes vos images, etc., redémarrez le menu fixe.
{"graph": "e:\images"}
Cela a fonctionné comme un charme
Référence - https://forums.docker.com/t/where-are-are-images-stored/9794/11