Renommer docker machine

Comment puis-je renommer un docker-machine machine? Je ne peux pas le trouver à l'aide de docker-machine --help ou sous-commande docs.

16
demandé sur Dag Høidahl 2015-12-01 17:08:20

5 réponses

on dirait Qu'il y a eu une demande de retrait qui a été abandonnée: PR 30

dans les questions connexes, Il y a un débat sur le fait de ne pas autoriser cette commande: numéro 59

8
répondu Woot4Moo 2015-12-01 14:12:34

Fondamentalement, vous devez:

  1. renommez le répertoire de votre docker-machine à partir de docker machine store (habituellement en /.docker/machine/machines/ )
  2. mise à jour config.json avec le nouveau nom et le nouveau chemin d'accès
  3. renommer machine dans le fournisseur de machine virtuelle (VirtualBox, VMware, etc.)

Voici un gist pour VirtualBox. Avec ceci vous pouvez renommer des machines comme ceci docker-machine-rename default my-default

Cela ne fonctionne que si vous êtes à l'aide de VirtualBox. Si vous utilisez parallels pilote ou autre chose que vous devez remplacer vboxmanage ... avec la commande appropriée pour ce pilote

EDITED j'ai mis à jour le script après avoir reçu les commentaires de @DagHøidahl

12
répondu Alex Proca 2016-03-04 19:04:21
  1. renommer la machine virtuelle à partir de la console VirtualBox. (Je suppose que vous pouvez aussi utiliser vboxmanage modifyvm "$OLD_MACHINE_NAME" --name "$NEW_MACHINE_NAME")
  2. supprimer la machine virtuelle de la console VirtualBox. Être conscient de ne pas supprimer les données, seulement la machine virtuelle.
  3. allez à VirtualBox Media Manager et retirez les disques durs et les disques optiques utilisés par la machine qui a été retirée. (Il est nécessaire de importer la machine virtuelle plus tard)
  4. renommer le répertoire pour la machine virtuelle dans le répertoire docker. Généralement dans $HOME/.menu fixe/machine/machines. mv $OLD_MACHINE_NAME $NEW_MACHINE_NAME
  5. remplacer toutes les références à l'ancien nom de machine dans la configuration.json, qui est dans le répertoire machine, avec le nouveau nom de machine. Comme je renommais une machine par défaut, dans mon cas c'était $HOME/.menu fixe/machine/machines/default/config.json
  6. mettre à jour les répertoires pointant vers les Images du disque .fichier vbox qui se trouve dans un sous-répertoire du répertoire de la machine virtuelle. Vous devez vous assurer qu'ils sont pointant vers le nouvel emplacement. (Dans mon cas, il était de $HOME/.menu fixe/machine/machines/default/default/default/.vbox)
  7. importer la machine virtuelle vers VirtualBox avec la Machine > Ajouter... option dans le menu. Choisissez la .fichier vbox qui se trouve dans le sous-répertoire du répertoire machine. (Dans mon cas c'était $MAISON./menu fixe/machine/machines/default/default/default/.vbox)

j'utilise les versions suivantes: docker-version de la machine 0.13.0, construire 9ba6da9 Virtual Box Version 5.2.6 r120293

1
répondu Alberto 2018-02-07 08:38:16

!! Avertissement: la méthode que j'ai utilisée ci-dessous n'a pas fonctionné !!

lors du redémarrage final, j'ai eu un problème de version du client. Après avoir fermé le terminal et redémarré le" Docker Quickstart Terminal " mon par défaut machine a été supprimée et recréée... : (

de toute façon, pour ceux qui pourraient être en mesure de signaler une erreur dans le processus - Je l'ai énuméré ici.

peut-être que le nom 'default' est réservé. Pour le moment je suis coller avec le nom "vm" pour la machine hébergée dans VMware Fusion

j'ai posté ce pas de réponse comme un avertissement pour toute personne qui pourrait essayer la même chose et perdre tous les conteneurs dans la machine par défaut.


but: supprimer la machine par défaut et renommer vm par défaut. Puis utilisez la nouvelle machine par défaut

La méthode que j'ai utilisé n'est pas très élégant, et [à la fin] ne fonctionne pas pour moi...

  1. supprimer docker-machine

    menu fixe-machine rm par défaut

  2. renommer le répertoire

    cd ~/.menu fixe/machine/machines

    mv vm par défaut

    cd par défaut

  3. renommer manuellement toute la vm.* les fichiers par défaut.*

    mv vm.plist par défaut.plist

    mv vm.vmdk par défaut.vmdk

    mv vm.vmdk.lck par défaut.vmdk.lck

    mv vm.vmsd défaut.vmsd

    mv vm.vmx par défaut.vmx

    mv vm.vmx.lck par défaut.vmx.lck

    mv vm.vmxf par défaut.vmxf

  4. modifier la valeur par défaut.VMX et remplacer vm par défaut aux endroits appropriés

    [vous devez le faire vous-même...]

  5. ouvrir le nouveau "par défaut" machine virtuelle dans VMWare Fusion
    • Finder - > - > dossier -> ~ / .menu fixe/machine/machines
    • faites Glisser le .fichier vmx en Fusion
  6. démarrer la machine renommée

    $ menu fixe-machine de démarrage par défaut

    En commençant "par défaut"...

    La Machine "par défaut" a été lancé.

    En attendant que SSH soit disponible...

    La détection de la provisioner...

    Les machines lancées peuvent avoir de nouvelles adresses IP. Vous devrez peut-être exécutez de nouveau l' docker-machine env la commande.

    $ menu fixe-machine env

    Vérification des erreurs TLS connexion: vérification des erreurs et / ou régénération des certs: il y avait une erreur de validation des certificats pour l'hôte "172.16.41.132:2376": x509: le certificat est valide pour 172.16.41.131, pas pour 172.16.41.132

    Vous pouvez essayer de les régénérer en utilisant docker-machine regenerate-certs [name].

    Sachez que cela déclenchera le redémarrage d'un démon Docker qui cessera de fonctionner. conteneur.

    $ menu fixe-machine à régénérer-certs par défaut

    Régénérer les certs de la machine TLS? Avertissement: ceci est irréversible. (y/n): y

    Régénérer les certificats TLS

    En attendant que SSH soit disponible...

    La détection de la provisioner...

    Copier des certs dans le répertoire local de la machine...

    Copier des certs sur la machine distante...

    Paramétrage de la configuration du Docker sur le démon distant...

a ce point la machine a fonctionné fine... cependant, tenter une autre docker-machine restart default produit une erreur d'inadéquation de la version du client.

après la fermeture du terminal et le redémarrage du "Docker Quickstart Terminal" la machine par défaut a été régénérée en utilisant la virtualbox et ma machine par défaut hébergée par VMWare a été supprimée...

0
répondu DerekC 2016-03-04 09:55:00

si vous utilisez la boîte à outils docker pour créer ou démarrer la machine docker, il y a un fichier script pour configurer les paramètres de la machine, y compris le nom. Trouvez le chemin de votre boîte à outils docker comme: C:\Program Files\Docker Toolbox. Il y a un script nommé start.sh .remplacez le nom par défaut comme nom de votre machine.

VM=${DOCKER_MACHINE_NAME-xxxxx}

il est préférable de supprimer vos fichiers machine par défaut avant de modifier la configuration. Puis de redémarrer la boîte à outils.

0
répondu Sarah 2017-10-25 07:20:28