Не удается создать новые экземпляры docker с помощью docker-machine

#docker-machine

#docker-machine

Вопрос:

Я использую AWS с docker-machine для создания и предоставления своих экземпляров. Я бы использовал эту команду для создания нового экземпляра:

 docker-machine create --driver amazonec2 --amazonec2-instance-type "t2.micro" --amazonec2-security-group zhxw-production-sg zhxw-production-3
  

Около месяца назад это работало нормально. Я только что перешел к созданию новой машины и больше не могу подключиться к ней. Когда я запускаю приведенную выше команду, она застревает на «ожидание доступности SSH …»

 Running pre-create checks...
Creating machine...
(zhxw-production-3) Launching instance...
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
  

На этом этапе он просто зависает. Если я отменю команду и проверю консоль AWS EC2, это предполагает, что она запущена:

введите описание изображения здесь

Когда я запускаю docker-machine ls , это также предполагает, что он запущен, но с ошибками:

 $-> docker-machine ls
NAME                ACTIVE   DRIVER      STATE     URL                         SWARM   DOCKER      ERRORS
zhxw-production-2   -        amazonec2   Running   tcp://3.86.xxx.xxx:2376             v19.03.12   
zhxw-production-3   -        amazonec2   Running   tcp://54.167.xxx.xxx:2376           Unknown     Unable to query docker version: Cannot connect to the docker engine endpoint
  

Я могу подключиться к компьютеру zhxw-production-2 (который работает уже месяц). Просто не новый zhxw-production-3, который я только что запустил.

 $-> docker-machine env zhxw-production-3
Error checking TLS connection: Error checking and/or regenerating the certs: There was an error validating certificates for host "54.167.123.108:2376": dial tcp 54.167.123.108:2376: connect: connection refused
You can attempt to regenerate them using 'docker-machine regenerate-certs [name]'.
Be advised that this will trigger a Docker daemon restart which might stop running containers.
  

Команда regenerate-certs также не помогает. Я не совсем уверен, с чего начать отладку, потому что, насколько я могу судить, docker-machine create команда — это самое начало.

Ответ №1:

Оказалась проблема с SSH в моей среде AWS. У меня был мой общедоступный IP-адрес в белом списке, но он изменился.

Ответ №2:

Я столкнулся с подобной проблемой и обнаружил, что в AWS EC2 AMI не был установлен SSH, поэтому мне пришлось использовать другой AMI, например. Ubuntu.

Ответ №3:

Недавно я столкнулся с той же проблемой и обнаружил, что причиной было изменение общедоступного IP-адреса, когда я включил elastic ip на компьютере. Я не знаю, ваш ли это случай. Возможно, мое решение поможет вам или другим. Он следует:

  • обычно путь к файлу: /User/<name_your_user>/.docker/machine/<name_machine_ploblem> введите описание изображения здесь

  • изменить значение параметра: «IPAdress» введите описание изображения здесь

  • После внесения изменений выполните команду: docker-machine regenerate-certs <name_instance_ec2>

С помощью этих процедур моя проблема была решена. Я надеюсь, что это поможет! обнимаю всех.