重命名码头机器

时间:2015-12-01 14:08:21

标签: docker docker-machine

如何重命名docker-machine机器?我无法使用docker-machine --helpsubcommand docs

找到它

5 个答案:

答案 0 :(得分:13)

基本上你必须:

  1. 从docker machine store重命名docker-machine的目录(通常在/.docker/machine/machines/
  2. 使用新名称和新路径更新config.json
  3. 重命名虚拟机提供程序中的计算机(VirtualBox,VMware等)
  4. 这是gist for VirtualBox 。有了这个,你可以重命名这样的机器docker-machine-rename default my-default

    这仅适用于使用VirtualBox的情况。如果您正在使用paralells驱动程序或其他东西,则必须使用适合该驱动程序的命令替换vboxmanage ...

    已编辑我收到@DagHøidahl的反馈后更新了脚本

答案 1 :(得分:9)

看起来有一个被放弃的拉取请求: PR 30

在相关问题中,存在关于不允许此命令的争论: Issue 59

答案 2 :(得分:1)

我按照以下步骤在Mac OSX中使用VirtualBox进行docker-compose

  1. 从VirtualBox控制台重命名虚拟机。 (我想你也可以使用vboxmanage modifyvm "$OLD_MACHINE_NAME" --name "$NEW_MACHINE_NAME")
  2. 从VirtualBox控制台中删除虚拟机。请注意不要删除数据,只删除虚拟机。
  3. 转到VirtualBox Media Manager并删除已删除的计算机使用的硬盘和光盘。 (以后需要导入虚拟机)
  4. 在docker目录中重命名虚拟机的目录。通常在$ HOME / .docker / machine / machines中。 mv $OLD_MACHINE_NAME $NEW_MACHINE_NAME
  5. 使用新计算机名替换config.json中旧计算机名称的所有引用,即机器目录中的旧计算机名称。当我将机器重命名为默认值时,在我的情况下它是$ HOME / .docker / machine / machines / default / config.json
  6. 更新指向虚拟机目录子目录中.vbox文件中磁盘映像的目录。您必须确保它们指向新位置。 (在我的情况下是$ HOME / .docker / machine / machines / default / default / default.vbox)
  7. 使用计算机>将虚拟机导回VirtualBox从菜单中添加...选项。选择位于计算机目录子目录中的.vbox文件。 (在我的情况下是$ HOME / .docker / machine / machines / default / default / default.vbox)
  8. 我使用以下版本: docker-machine版本0.13.0,build 9ba6da9 Virtual Box版本5.2.6 r120293

答案 3 :(得分:0)

<强> !!警告:我在下面使用的方法不起作用!!

在最后的重启中,我的客户端版本不匹配。关闭终端并重新启动“Docker Quickstart Terminal”后,我的默认机器被删除并重新创建...... :(

无论如何,对于那些可能在此过程中指出任何错误的人 - 我已将其列在此处。

也许保留名称'default'。目前,我坚持使用VMWare Fusion中托管的机器名称“vm”

我已发布此非答案作为警告,可能会尝试相同并丢失默认计算机中的任何容器。

目标:删除默认计算机并将vm重命名为默认值。然后将新计算机用作默认

我使用的方法并不优雅,[最后] 对我不起作用 ......

  1. 删除docker-machine
      

    docker-machine rm default

  2. 重命名目录
      

    cd~ / .docker / machine / machines
      mv vm默认
      cd default

  3. 手动将所有vm。*文件重命名为默认值。*
      

    mv vm.plist default.plist
        mv vm.vmdk default.vmdk
        mv vm.vmdk.lck default.vmdk.lck
        mv vm.vmsd default.vmsd
        mv vm.vmx default.vmx
        mv vm.vmx.lck default.vmx.lck
        mv vm.vmxf default.vmxf

  4. 编辑default.vmx并在适当的位置使用默认值替换vm
      

    [你需要自己做...]

  5. 在VMWare Fusion中打开新的“默认”VM
    • Finder - &gt;去 - &gt;文件夹 - &gt; 〜/ .docker /机/机
    • 将.vmx文件拖到Fusion
  6. 启动重命名的计算机
      

    $ docker-machine start default
        开始“默认”...
        机器“默认”已启动     等待SSH可用...
        检测供应商...
        已启动的计算机可能具有新的IP地址您可能需要重新运行docker-machine env命令      $ docker-machine env
        检查TLS连接时出错:检查和/或重新生成证书时出错:验证主机“172.16.41.132:2376”的证书时出错:x509:证书对172.16.41.131有效,而不是172.16.41.132
        您可以尝试使用docker-machine regenerate-certs [name]重新生成它们     请注意,这将触发Docker守护程序重启,这将停止运行容器      $ docker-machine regenerate-certs default
        重新生成TLS机器证书?警告:这是不可逆转的。 (是/否):y
        重新生成TLS证书
        等待SSH可用...
        检测供应商...
        将证书复制到本地计算机目录...
        将证书复制到远程计算机...
        在远程守护程序上设置Docker配置...

  7. 此时机器正常 ...但是,尝试另一个docker-machine restart default产生了客户端版本不匹配错误。

    关闭终端并重新启动“Docker Quickstart Terminal”后,使用virtualbox重新生成默认计算机,并删除了我的VMWare托管默认计算机...

答案 4 :(得分:0)

如果您使用docker toolbox创建或启动docker machine,则会有一个脚本文件来配置包括名称在内的机器设置。找到您的docker工具箱路径,如:c:\ Program Files \ Docker Toolbox。 有一个名为start.sh .replace默认名称的脚本作为您机器的名称。

DS.JSONSerializer

最好在更改配置之前删除默认计算机文件。然后重新启动工具箱。