docker机与谷歌驱动程序卡在“等待SSH”,同时创build机器

操作系统:Debian Buster

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

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

 $ 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命令中指定的那个core生成了一个SSH密钥并将其与该实例相关联。 但是,docker-machine被卡在“等待SSH可用”,并没有前进。

一段时间后, docker-machine ls给出了以下输出(创build仍然等待SSH)

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

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