web-dev-qa-db-fra.com

Modifier l'emplacement de la machine Docker - Windows

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? 

50
shrivb

C'est ce qui a parfaitement fonctionné pour moi sous Windows 7:

  1. Configurez la variable d'environnement MACHINE_STORAGE_PATH en tant que racine de l'emplacement que vous souhaitez utiliser pour les ordinateurs/VM Docker, le cache, etc.
  2. Installer la boîte à outils Docker
  3. Exécuter le terminal Docker Quickstart

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.

43
Rajesh J Advani

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"

https://cdn-enterprise.discourse.org/docker/uploads/default/optimized/2X/6/6193445cf15811ce18317c727af258adb2d16c9d_1_690x447.jpg

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'environnement MACHINE_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. 

25
VonC

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
19
vlado

Utilisez simplement l'interface graphique de VirtualBox pour déplacer le fichier disk.vmdk:

 enter image description here

  1. Copiez le fichier C:\Users\{myUsername}\.docker\machine\machines\default\disk.vmdk dans un autre dossier, par exemple F:\docker-image\.
  2. Ouvrez VirtualBox, sélectionnez default VM et ouvrez Settings.
  3. Ouvrez Storage, sélectionnez le disk.vmdk actuel et relâchez-le (ou supprimez-le).
  4. Cliquez sur Choose Virtual Hard Disk File... et recherchez le fichier copié dans F:\docker-image\
  5. Un avertissement se produit: VirtualBox se plaint de l'ancien UID VM, puis accédez au menu File, sélectionnez Virtual Media Manager... et relâchez ou supprimez l'ancien disk.vmdk.
  6. Réessayez 4., c'est fait!
  7. Si votre environnement le requiert, effectuez également le déplacement pour boot2docker.iso, dossier de capture instantanée, capture vidéo.
12
ron190

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.

11
ProEns08

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:

  1. Désinstallation de Docker Toolbox et redémarrage de la machine
  2. Ouvrez l'invite de l'administrateur (invite de commande de recherche, maintenez la touche Maj enfoncée, choisissez "Exécuter en tant qu'administrateur")
  3. Suppression de .docker de% USERPROFILE%: rmdir/S% USERPROFILE% .docker
  4. Créez un dossier appelé .docker ailleurs: mkdir a: \. Docker
  5. mklink/J% USERPROFILE% .docker a: \. docker
  6. Fermer la commande Admin
  7. Réinstallez Docker Toolbox
  8. Utilisez le lien Docker Quickstart Terminal pour tout amorcer.
  9. Kitematic peut également être ouvert maintenant (bien que je devais choisir l'option "Utiliser une boîte virtuelle" à la première erreur.
8
paulecoyote

J'ai eu quelques problèmes avec l'une des solutions ci-dessus, mais voici ce qui a fonctionné pour moi:

  • définissez la variable d'environnement MACHINE_STORAGE_PATH pour qu'elle pointe vers votre dossier souhaitédirectory/folder.
  • Installez docker-toolbox comme d'habitude, si cela fonctionne pour vous alors tout va bien, mais pour moi, l'installation était toujours dans le répertoire .docker.
  • Pour résoudre ce problème, j'ai ensuite arrêté et supprimé la machine par défaut créée avec le dossier .docker du répertoire Utilisateurs.
  • Edité le script start.sh et ajouté la ligne en haut:

par exemple.

export MACHINE_STORAGE_PATH=D:\\Docker
  • Exécutez le raccourci terminal Docker Quickstart, qui reconstruit la machine par défaut dans le dossier souhaité
2
DrGun

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:

  1. désinstaller docker

  2. ouvrez le gestionnaire Hyper-V (appuyez sur la touche WIN, puis entrez "Hyper")

  3. 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.

  4. installer docker

  5. vérifier l'emplacement de l'image disque dans les options avancées des paramètres du menu fixe

0
lengxuehx

Ces réponses sont obsolètes, à compter de la dernière version. L'emplacement est configurable dans l'interface utilisateur Paramètres.

https://github.com/docker/for-win/issues/333

0
Paul Knopf

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

0