これは再現が非常に難しく、非常にイライラします。助けやアドバイスにはとても感謝しています。私はOS Xエルキャピタン(10.11.6)上で動作するMac用Dockerを使用しています。要点は、DockerがDocker GCEドライバ(Dockerの公式ドキュメント参照here)を介してGoogle Compute Engine(GCE)で動作しないようだということです。Docker-machine Google(GCE)ドライバが動作しない、インスタンスを作成できない
1:新しい無料のGCP(Googleクラウド)アカウントをhttp://console.cloud.google.com/に登録してください。 Google Cloud SDKは、https://cloud.google.com/sdk/からダウンロードしてインストールしてください。
2:新しいGoogleクラウドプロジェクトを作成します。
3:Googleクラウドコンソールに「APIマネージャ」に移動し、「資格情報」
4をクリックしてください:「資格情報を作成する」を選択し、「サービスアカウントキー」をクリックします。 「Compute Engineのデフォルトサービスアカウント」を選択し、JSONが出力タイプとして選択されていることを確認して、「作成」をクリックします。出力されたJSONファイルをユーザーのルートディレクトリ(/Users/MYUSERNAME
)に移動します。
5:.bash_profile configに次の行を追加します。 export GOOGLE_APPLICATION_CREDENTIALS=/Users/MYUSERNAME/NAME_OF_CREDENTIALS_FILE.json
。ファイルを保存します。
6:端末を終了し、新しい変数を開いて、env変数が設定されるようにします。
7:実行gcloud config set project PROJECT_ID
(PROJECT_IDはGoogle Cloud Consoleで作成したばかりのプロジェクトの名前です)。
8:gcloud auth login
を実行すると、ブラウザタブが開き、Googleにログインして権限を与えます。 [許可する]をクリックします。
9:今楽しい部分は、次のコマンドを実行すると、ドッカーdocumentation(私は--debugフラグを追加しました)あたり:
docker-machine --debug create --driver google --google-project PROJECT_ID vm01
( 'VM01は' の名前でありますここでは、仮想マシン、これはあなたが望む何でもかまいません)
非常に長い出力の終わりに、私は非常に下部にエラーメッセージが締結し、以下を得る:。
(LOTS OF OTHER OUTPUT BEFORE THIS, NOT ABLE TO COPY-PASTE EVERYTHING DUE TO STACKOVERFLOW 30000 CHAR LIMIT)
(vm01) Calling .GetURL
(vm01) Calling .DriverName
Setting Docker configuration on the remote daemon...
(vm01) Calling .GetSSHHostname
(vm01) Calling .GetSSHPort
(vm01) Calling .GetSSHKeyPath
(vm01) Calling .GetSSHKeyPath
(vm01) Calling .GetSSHUsername
Using SSH client type: external
Using SSH private key: /Users/nathan/.docker/machine/machines/vm01/id_rsa (-rw-------)
&{[-F /dev/null -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none [email protected] -o IdentitiesOnly=yes -i /Users/nathan/.docker/machine/machines/vm01/id_rsa -p 22] /usr/bin/ssh <nil>}
About to run SSH command:
printf %s "[Service]
ExecStart=/usr/bin/docker daemon -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock --storage-driver aufs --tlsverify --tlscacert /etc/docker/ca.pem --tlscert /etc/docker/server.pem --tlskey /etc/docker/server-key.pem --label provider=google
MountFlags=slave
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity
Environment=
[Install]
WantedBy=multi-user.target
" | sudo tee /etc/systemd/system/docker.service
SSH cmd err, output: <nil>: [Service]
ExecStart=/usr/bin/docker daemon -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock --storage-driver aufs --tlsverify --tlscacert /etc/docker/ca.pem --tlscert /etc/docker/server.pem --tlskey /etc/docker/server-key.pem --label provider=google
MountFlags=slave
LimitNOFILE=1048576
LimitNPROC=1048576
LimitCORE=infinity
Environment=
[Install]
WantedBy=multi-user.target
(vm01) Calling .GetSSHHostname
(vm01) Calling .GetSSHPort
(vm01) Calling .GetSSHKeyPath
(vm01) Calling .GetSSHKeyPath
(vm01) Calling .GetSSHUsername
Using SSH client type: external
Using SSH private key: /Users/nathan/.docker/machine/machines/vm01/id_rsa (-rw-------)
&{[-F /dev/null -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none [email protected] -o IdentitiesOnly=yes -i /Users/nathan/.docker/machine/machines/vm01/id_rsa -p 22] /usr/bin/ssh <nil>}
About to run SSH command:
sudo systemctl daemon-reload
SSH cmd err, output: <nil>:
(vm01) Calling .GetSSHHostname
(vm01) Calling .GetSSHPort
(vm01) Calling .GetSSHKeyPath
(vm01) Calling .GetSSHKeyPath
(vm01) Calling .GetSSHUsername
Using SSH client type: external
Using SSH private key: /Users/nathan/.docker/machine/machines/vm01/id_rsa (-rw-------)
&{[-F /dev/null -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none [email protected] -o IdentitiesOnly=yes -i /Users/nathan/.docker/machine/machines/vm01/id_rsa -p 22] /usr/bin/ssh <nil>}
About to run SSH command:
sudo systemctl -f start docker
SSH cmd err, output: <nil>:
(vm01) Calling .GetSSHHostname
(vm01) Calling .GetSSHPort
(vm01) Calling .GetSSHKeyPath
(vm01) Calling .GetSSHKeyPath
(vm01) Calling .GetSSHUsername
Using SSH client type: external
Using SSH private key: /Users/nathan/.docker/machine/machines/vm01/id_rsa (-rw-------)
&{[-F /dev/null -o PasswordAuthentication=no -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet -o ConnectionAttempts=3 -o ConnectTimeout=10 -o ControlMaster=no -o ControlPath=none [email protected] -o IdentitiesOnly=yes -i /Users/nathan/.docker/machine/machines/vm01/id_rsa -p 22] /usr/bin/ssh <nil>}
About to run SSH command:
netstat -tln
SSH cmd err, output: <nil>: Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 10.0.3.1:53 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp6 0 0 :::22 :::* LISTEN
Error creating machine: Error running provisioning: Unable to verify the Docker daemon is listening: Maximum number of retries (10) exceeded
notifying bugsnag: [Error creating machine: Error running provisioning: Unable to verify the Docker daemon is listening: Maximum number of retries (10) exceeded]
私(OS X、ドッキングウィンドウマシン0.8.2、ドッカ1.12.3)のために、それは と一緒にエラーが発生したものの、私は、新しいイメージを使用してのアイデアが好き'' ' SSHコマンドの実行について: cat/etc/os-release SSH cmdエラー、出力:終了ステータス255: マシンの作成エラー:エラー検出OS:SSHコマンドの取得中にエラーが発生しました。 ! コマンド:cat/etc/os-release エラー:終了ステータス255 出力: クラッシュレポートのオプトアウト。 '' ' – hamx0r
1)上記のPROJECT_IDをプロジェクトの実際の名前に置き換えてください。2)最初に' gcloud auth login'を実行してください。3. JSONの資格情報ファイルをダウンロードしてくださいGOOGLE_APPLICATION_CREDENTIALSのenv変数で – NateQ
ありがとうございます。今私はドッカーマシンのインスタンスを作成することができます。私はもともと 'eval $(docker-machine env vm01)'でアクティブに設定できない理由を見つけようとしている間に、この投稿を見つけました。このコマンドに対する応答は 'Error checking TLS connection:エラーの確認と再生成/証明書の再生成:ホスト":2376 "の証明書の検証中にエラーが発生しました:tls:DialWithDialerがタイムアウトしました 'docker-machine regenerate-certs [name]'を使用してそれらを再生成します。 これは、Dockerデーモンを起動してコンテナの動作を停止させることをお勧めします。 ' –
hamx0r