#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>
-
После внесения изменений выполните команду: docker-machine regenerate-certs <name_instance_ec2>
С помощью этих процедур моя проблема была решена. Я надеюсь, что это поможет! обнимаю всех.