Переименовать докерную машину

Как переименовать машину docker-machine? Я не могу найти его с помощью docker-machine --help или в подкомандах.

Ответы

Ответ 1

Похоже, что был отменен запрос на растяжение: PR 30

В смежных вопросах есть дискуссия о том, чтобы не разрешать эту команду: Проблема 59

Ответ 2

В основном вы должны:

  • переименуйте каталог вашей док-машины из хранилища докеров (обычно в /.docker/machine/machines/)
  • обновить config.json с новым именем и новым путем
  • переименовать машину в поставщике виртуальной машины (VirtualBox, VMware и т.д.).

Вот gist для VirtualBox. С помощью этого вы можете переименовать машины следующим образом: docker-machine-rename default my-default

Это будет работать, только если вы используете VirtualBox. Если вы используете драйвер paralells или что-то еще, вам нужно заменить vboxmanage ... соответствующей командой для этого драйвера

EDITED Я обновил script после получения отзывов от @DagHøidahl

Ответ 3

!! ПРЕДУПРЕЖДЕНИЕ: Метод, который я использовал ниже, не работает!

В последнем перезапуске у меня была несоответствие версии клиента. После закрытия терминала и перезапуска "Docker Quickstart Terminal" моя машина по умолчанию была удалена и повторно создана...: (

В любом случае, для тех, кто мог бы указать какую-либо ошибку в процессе - я перечислил его здесь.

Возможно, имя 'default' зарезервировано. На данный момент я придерживаюсь имени "vm" для машины, размещенной в VMWare Fusion

Я опубликовал этот не-ответ как предупреждение для всех, кто может попробовать то же самое, и потерять все контейнеры на машине по умолчанию.


Цель: удалить машину по умолчанию и переименовать vm по умолчанию. Затем используйте новый компьютер по умолчанию

Метод, который я использовал, не является элегантным, и [в конце] не работал у меня...

  • удалить докер-машину

    docker-machine rm default

  • переименовать каталог

    cd ~/.docker/машины/машины
    mv vm default
    cd default

  • вручную переименуйте все файлы 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

  • отредактируйте default.vmx и замените vm по умолчанию в соответствующих местах

    [вам нужно сделать это самостоятельно...]

  • откройте новую виртуальную VM по умолчанию в VMWare Fusion
    • Finder → go → folder → ~/.docker/machine/machines
    • Перетащите файл .vmx в Fusion
  • Запустите переименованную машину

    $Докер-старт по умолчанию
      Запуск "по умолчанию"...
      Запущена машина "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 регенерировать-certs по умолчанию
      Регенерировать сертификаты машины TLS? Предупреждение: это необратимо. (y/n): y
      Регенерация сертификатов TLS
      Ожидание доступа к SSH...
      Обнаружение устройства обеспечения...
      Копирование сертификатов в каталог локального компьютера...
      Копирование сертификатов на удаленный компьютер...
      Настройка конфигурации Docker на удаленном демоне...

В этот момент машина работала нормально... однако попытка другого docker-machine restart default вызвала ошибку несоответствия версии клиента.

После закрытия терминала и перезапуска "Docker Quickstart Terminal" машина по умолчанию была восстановлена ​​с использованием виртуального бокса, и мой удаленный по умолчанию VMWare был удален...

Ответ 4

Если вы используете панель инструментов docker для создания или запуска устройства докеров, есть файл script для настроек конфигурационного компьютера, включая имя. Найдите свой путь к панели инструментов docker, например: c:\Program Files\Docker Toolbox. В качестве имени вашего компьютера есть имя script с именем start.sh.replace по умолчанию.

VM=${DOCKER_MACHINE_NAME-xxxxx}

Лучше всего удалить файлы по умолчанию перед изменением конфигурации. Затем перезапустите панель инструментов.