Docker-machine与google驱动程序在创建计算机时卡在“等待SSH”上

时间:2017-11-04 08:30:33

标签: docker virtual-machine docker-machine gcp google-compute-engine

操作系统:Debian Buster

$ docker-machine version
docker-machine version 0.13.0, build 9ba6da9

我正在尝试使用docker-machine和google驱动程序在GCP上启动计算机。我创建了一个服务帐户密钥,将其保存为json并将GOOGLE_APPLICATION_CREDENTIALS env变量指向该文件。然后,我运行以下命令并获得以下输出

$ docker-machine create --driver google --google-project <my project id> --google-disk-size 20 --google-zone us-east1-d --google-machine-type n1-standard-1 --google-machine-image "coreos-cloud/global/images/coreos-stable-1520-8-0-v20171026" --google-username core --google-use-internal-ip vm-test
Running pre-create checks...
(vm-test) Check that the project exists
(vm-test) Check if the instance already exists
Creating machine...
(vm-test) Generating SSH Key
(vm-test) Creating host...
(vm-test) Opening firewall ports
(vm-test) Creating instance
(vm-test) Waiting for Instance
(vm-test) Uploading SSH Key
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...

当我检查实例时,我看到为用户core(我在create命令中指定的那个)生成了一个SSH密钥并与该实例相关联。但是,docker-machine仍然停留在“等待SSH可用”并且没有继续前进。

过了一会儿,docker-machine ls给出了以下输出(创建仍然停留在等待SSH)

$ docker-machine ls
NAME      ACTIVE   DRIVER   STATE     URL   SWARM   DOCKER   ERRORS
vm-test            google   Timeout                          

1 个答案:

答案 0 :(得分:0)

解决了它。这是因为我使用--google-use-internal-ip所以它尝试使用内部IP而不是公共NAT来连接。