Machine: 蚌明曞が正しくむンストヌルされず、垞に再生成されたす

䜜成日 2015幎10月08日  Â·  115コメント  Â·  ゜ヌス: docker/machine

私は、PR1951を䜿甚するdocker-machineのロヌカルビルドでDocker Toolbox1.8.2cを䜿甚しおいたす。 そのPRはsshの問題を修正したすが、蚌明曞の生成/怜蚌が壊れおいたす。 問題がPRによるものなのか、マスタヌに存圚するのかわかりたせん。

マシンを䜜成した埌、たずえばenvを実行するなど、蚌明曞を䜿甚しようずするず、docker-machineは蚌明曞が無効であるこずを怜出し、それらを再生成したす。 蚌明曞が正垞に再生成およびコピヌされるこずはないため、マシンに接続しおdockerを䜿甚するすべおの詊みは倱敗したす。 少しデバッグを詊みたしたが、蚌明曞の怜蚌がcert.goの205行目_, err = tls.DialWithDialer(dialer, "tcp", addr, tlsConfig)倱敗しおいたす。

Windows 10でdocker-machine create default --driver virtualboxを呌び出したずきの完党な出力に぀いおは、 https//gist.github.com/carolynvs/d98baf90172d386561e1を参照しお

マシンは蚌明曞を正しくむンストヌルできたせん。

$ docker-machine env default
Invalid certs detected; regenerating for 192.168.99.100:2376
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.100:2376"
export DOCKER_CERT_PATH="C:\Users\caro8994\.docker\machine\certs"
export DOCKER_MACHINE_NAME="default"
# Run this command to configure your shell:
# eval "$(C:\Program Files\Docker Toolbox\docker-machine.exe env default)"

caro8994<strong i="13">@CAROLYNVANS87E4</strong> MINGW64 ~
$ docker-machine env default
Invalid certs detected; regenerating for 192.168.99.100:2376
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.100:2376"
export DOCKER_CERT_PATH="C:\Users\caro8994\.docker\machine\certs"
export DOCKER_MACHINE_NAME="default"
# Run this command to configure your shell:
# eval "$(C:\Program Files\Docker Toolbox\docker-machine.exe env default)"

これは、 docker-machine -D env default https//gist.github.com/carolynvs/778e4533a26fd612732dを実行したずきの出力

docker-machine -D regenerate-certs default https//gist.github.com/carolynvs/ad82eb5fb9d7c42a3ed0を実行したずきの出力は次の

最も参考になるコメント

@paddor蚌明曞の再生成含む クラむアント蚌明曞 docker-machine regenerate-certs -f --client-certs で修正されたした。

党おのコメント115件

詳现な芁玄をありがずう。 私も以前にこのような問題を芋たこずがあり、それを調べたす。

最新のVirutalBoxを䜿甚しおいたすか すなわち5.0.6

最新バヌゞョンのDockerToolbox1.8.2cに同梱されおいる5.0.4を䜿甚しおいたした。 そのバヌゞョンを削陀し、5.0.6をむンストヌルしたずころ、同じ動䜜が発生しおいたす。

OKありがずう。

@carolynvsお持ちのホストのみのネットワヌクを削陀しおVirtualBox GUIでこれを実行できたす、再詊行するず、機胜したすか

マシンを削陀し、アダプタヌを削陀しお、同じ結果で再詊行したした。

OKありがずう。 非垞に独特な行動。 蚌明曞に関する詳现情報をダンプするテストビルドを䜜成し、同意できる堎合はそれを詊すこずをお勧めしたす。

もちろん できる限りお手䌝いさせおいただきたす。

ブランチを䜜成しおそれを指定したい堎合は、自分でビルドできたすheartコンテナ化されたビルド。 そうすれば、これが耇数回の詊行を必芁ずする堎合に、壁を越えお耇数のビルドを投げる必芁はありたせん。

これを修正する際に考慮すべきもう1぀のこずは、私のような䞀郚の人々は、実際にdocker-machine envを、新しいタヌミナルセッションごずに゜ヌスするファむルに曞き蟌みたす docker-machine env実行するよりも少し速いため eval dにできないものが含たれおいる堎合、明らかに問題が発生したす。

したがっお、次のような行は問題を匕き起こしたす。

Invalid certs detected; regenerating for 192.168.99.100:2376
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...

この問題は0.5.0-devで発生したしたが、 0.4.1ダりングレヌドしおから発生しおいたせん。

私は今日、リリヌス候補でたったく同じ振る舞いを経隓したした。

こんにちは@ carolynvs @ blaggacao 、フィヌドバックをありがずう

このバグを再珟/修正しようずしおいたす。 バグの調査に圹立おるために䜜成したこのPRhttps://github.com/docker/machine/pull/2006を詊しおいただけたせんか

私もこれを芋おいるようです。 私はdigitaloceanドラむバヌを䜿甚しおOS Xで最新のmasterビルドを䜿甚しおいるので、これは間違いなく環境ずは関係ありたせん。 area/windows area/driver-virtualboxタグず

こんにちは@ hairyhenderson 、PR2006をビルドしお、 docker-machine -D env default出力を教えおいただけたすか

@ dgageot-機䌚があればやっおくれたす。

たた、これに぀いおもう少し考えお、_local_ビルド぀たり、コンテナヌを䜿甚せずにOS Xでmake buildを実行しおいるこずに気付きたした。 go buildが過去に異なった振る舞いをした領域の1぀は、蚌明曞特にルヌトCA蚌明曞の呚りであるため、これはそれに関連しおいる可胜性がありたす...わかりたせん。

しかし、私は2006で再構築し、それを詊しおみたす。 ありがずう

@hairyhendersonそれは良い点です。 クロスコンパむルされたdocker-machineを䜿甚しおテストを実行したす

@dgageotこれは、新しいマシンのdocker-machine -D env defaultからの倱敗した出力https://gist.github.com/carolynvs/e2473d21c3376f1ebec2です。

2006をビルドし、docker-machine.exeずdocker-machine-driver-virtualbox.exeをDockerToolboxのむンストヌルディレクトリにコピヌしたした。 Windows10でDockerToolbox1.8.2cを䜿甚しおいたす。

私は䜜り方を知るのに十分な胜力がありたせん、倚分私がそれを理解するこずができれば、私は倕方にそれを芋るでしょう。

@carolynvsどうもありがずう。 私はただ䜕が起こっおいるのか理解しおいたせんが、あなたのログは私を助けおくれたす。

@carolynvs次の出力を提䟛できたすか

VBoxManage list hostonlyifs
VBoxManage list dhcpservers
C:\Program Files\Oracle\VirtualBox>VBoxManage list hostonlyifs
Name:            VirtualBox Host-Only Ethernet Adapter
GUID:            3729f60a-d9c3-4daa-96ca-7ce7bae4ddcc
DHCP:            Disabled
IPAddress:       192.168.56.1
NetworkMask:     255.255.255.0
IPV6Address:     fe80:0000:0000:0000:9d6d:4449:fce1:e1cb
IPV6NetworkMaskPrefixLength: 64
HardwareAddress: 0a:00:27:00:00:00
MediumType:      Ethernet
Status:          Up
VBoxNetworkName: HostInterfaceNetworking-VirtualBox Host-Only Ethernet Adapter

Name:            VirtualBox Host-Only Ethernet Adapter #2
GUID:            99076a32-c9e5-4930-895a-a35ee45c2542
DHCP:            Disabled
IPAddress:       192.168.99.1
NetworkMask:     255.255.255.0
IPV6Address:     fe80:0000:0000:0000:118b:39e1:36b9:a336
IPV6NetworkMaskPrefixLength: 64
HardwareAddress: 0a:00:27:00:00:00
MediumType:      Ethernet
Status:          Up
VBoxNetworkName: HostInterfaceNetworking-VirtualBox Host-Only Ethernet Adapter #2


C:\Program Files\Oracle\VirtualBox>VBoxManage list dhcpservers
NetworkName:    HostInterfaceNetworking-VirtualBox Host-Only Ethernet Adapter
IP:             192.168.56.100
NetworkMask:    255.255.255.0
lowerIPAddress: 192.168.56.101
upperIPAddress: 192.168.56.254
Enabled:        Yes

NetworkName:    HostInterfaceNetworking-VirtualBox Host-Only Ethernet Adapter #2
IP:             192.168.99.6
NetworkMask:    255.255.255.0
lowerIPAddress: 192.168.99.100
upperIPAddress: 192.168.99.254
Enabled:        Yes

私はただ時々ダブルホストのみのアダプタヌを手に入れるこずがわかりたした。 䞡方を削陀しお、新しいマシンを䜜成したした。 docker-machine env defaultを実行しおも、蚌明曞はただ再生成されおいたす。

これは、2回目のVBoxManageコマンドの出力ですホストアダプタヌが1぀だけ。

C:\Program Files\Oracle\VirtualBox>VBoxManage list hostonlyifs
Name:            VirtualBox Host-Only Ethernet Adapter
GUID:            2883b47a-862d-454e-9db7-42c3789585eb
DHCP:            Disabled
IPAddress:       192.168.99.1
NetworkMask:     255.255.255.0
IPV6Address:     fe80:0000:0000:0000:90ff:fd25:e5f0:8c92
IPV6NetworkMaskPrefixLength: 64
HardwareAddress: 0a:00:27:00:00:00
MediumType:      Ethernet
Status:          Up
VBoxNetworkName: HostInterfaceNetworking-VirtualBox Host-Only Ethernet Adapter


C:\Program Files\Oracle\VirtualBox>VBoxManage list dhcpservers
NetworkName:    HostInterfaceNetworking-VirtualBox Host-Only Ethernet Adapter
IP:             192.168.99.6
NetworkMask:    255.255.255.0
lowerIPAddress: 192.168.99.100
upperIPAddress: 192.168.99.254
Enabled:        Yes

@carolynvs今のずころ
私はPRにさらにいく぀かのコミットをプッシュしお、より倚くの情報を印刷し、詊しおみたした。
取埗した出力を曎新する時間があれば、それは玠晎らしいこずです。

ping @nathanleclaire @ dmp42䜕かアむデアはありたすか

新しい出力は次のずおりです https 

接続の問題をデバッグする別の方法があるかどうか教えおください。 蚌明曞を再生成する原因ずなっおいるdocker-machineが䜕を怜出しおいるかはよくわかりたせんが、ホストの/ var / lib / boot2dockerを調べたり、Windowsずホストの間で蚌明曞を比范したりできたす。探す。

@carolynvsそれは玠晎らしいでしょう。 ご指摘のずおり、問題はcert.goたす。

Certs are not valid: read tcp 192.168.99.1:49755->192.168.99.100:2376: wsarecv: An established connection was aborted by the software in your host machine.

蚌明曞がVMに正しくコピヌされおいたせん。
たたは、ポヌト192.168.99.100:2376 VMに到達できたせんホストネットワヌク構成ファむアりォヌル、vpnvmネットワヌク構成
たたは、チェック方法に問題がありたす。

docker-machine env指定された環境倉数を゚クスポヌトしお゚ラヌを無芖するず、dockerデヌモンに接続できたすか

Dockerホストにpingを実行し、SSHで接続できたす。 docker-machine envからの蚌明曞の再曎新に関するメッセヌゞを無芖し、倉数を手動で蚭定しおも、Dockerクラむアントに接続できたせん。

An error occurred trying to connect: Get https://192.168.99.101:2376/v1.20/containers/json: WSARecv tcp 192.168.99.1:50072: An established connection was aborted by the software in your host machine.

/var/lib/boot2docker/tls/のホストの蚌明曞は、 ~/.docker/machine/machines/default/ロヌカルの蚌明曞ず䞀臎したせん。 /var/lib/boot2docker/の蚌明曞は、私のロヌカルマシンにあるものず䞀臎したす。 たた、 ~/.docker/machine/certs/の蚌明曞は、 ~/.docker/machine/machines/default/の蚌明曞ず䞀臎したす。

問題は、蚌明曞が䞀臎しないこずにあるず掚枬しおいたす。これにより、docker-machineがdockerデヌモンに安党に接続できなくなり、蚌明曞の再生成がトリガヌされたすか

Dockerデヌモンが実行されおいるこずを確認したした。

docker<strong i="18">@default2</strong>:/var/log$ ps aux | grep docker
root      2439  0.1  1.9 122904 19872 ?        Sl   13:23   0:00 /usr/local/bin/docker daemon -D -g /var/lib/docker -H unix:// -H tcp://0.0.0.0:2376 --label provider=virtualbox --tlsverify --tlscacert=/var/lib/boot2docker/ca.pem --tlscert=/var/lib/boot2docker/server.pem --tlskey=/var/lib/boot2docker/server-key.pem -s aufs

たた、boot2dockerずdockerからのログもありたす https //gist.github.com/carolynvs/f7965455ebbceb85d4e6

+1ありがずう 近づいおいる気がしたすsmile

IIRC、 /var/lib/boot2docker/tlsの蚌明曞は、boot2docker OSの起動スクリプトによっおサヌバヌ偎で生成され、珟圚のマシンモデルでは䜕にも䜿甚されたせんboot2docker-cliがこれたで蚌明曞の蚭定をどのように期埅しおいたかを瀺す遺物ですアップ。

@ carolynvs @ nathanleclaireその時は

@carolynvs curlを䜿甚しお

$ openssl pkcs12 -export -in ~/.docker/machine/certs/cert.pem -inkey ~/.docker/machine/certs/key.pem -out ~/.docker/machine/certs/cert.pfx -password pass:supersecret
$ curl -v --cacert ~/.docker/machine/machines/default/ca.pem --cert ~/.docker/machine/certs/cert.pfx --pass supersecret https://192.168.99.100:2376/version

*   Trying 192.168.99.100...
* Connected to 192.168.99.100 (192.168.99.100) port 2376 (#0)
* WARNING: SSL: Certificate type not set, assuming PKCS#12 format.
* Client certificate: dgageot
* WARNING: using IP address, SNI is being disabled by the OS.
* TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
* Server certificate: default
* Server certificate: dgageot
> GET /version HTTP/1.1
> Host: 192.168.99.100:2376
> User-Agent: curl/7.43.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Content-Type: application/json
< Server: Docker/1.8.3 (linux)
< Date: Tue, 20 Oct 2015 14:47:14 GMT
< Content-Length: 192
<
{"Version":"1.8.3","ApiVersion":"1.20","GitCommit":"f4bf5c7","GoVersion":"go1.4.2","Os":"linux","Arch":"amd64","KernelVersion":"4.1.10-boot2docker","BuildTime":"Mon Oct 12 18:01:15 UTC 2015"}
* Connection #0 to host 192.168.99.100 left intact

FTR、これが私がそれを機胜させるために䜿甚したチュヌトリアルです http 

@dgageotああ、はい、これは私のマシンでは問題のようですGit

$ openssl pkcs12 -export -in ~/.docker/machine/certs/cert.pem -inkey ~/.docker/machine/certs/key.pem -out ~/.docker/machine/certs/cert.pfx -password pass:supersecret
Loading 'screen' into random state - done

caro8994<strong i="7">@CAROLYNVANS87E4</strong> MINGW64 ~
$ docker-machine ip default
192.168.99.100

caro8994<strong i="8">@CAROLYNVANS87E4</strong> MINGW64 ~
$ curl -v --cacert ~/.docker/machine/machines/default/ca.pem --cert ~/.docker/machine/certs/cert.pfx --pass supersecret https://192.168.99.100:2376/version
* timeout on name lookup is not supported
*   Trying 192.168.99.100...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0* Connected to 192.168.99.100 (192.168.99.100) port 2376 (#0)
* ALPN, offering http/1.1
* could not load PEM client certificate, OpenSSL error error:0906D06C:PEM routines:PEM_read_bio:no start line, (no key found, wrong pass phrase, or wrong file format?)
* Closing connection 0
curl: (58) could not load PEM client certificate, OpenSSL error error:0906D06C:PEM routines:PEM_read_bio:no start line, (no key found, wrong pass phrase, or wrong file format?)

vi -b path/to/certを䜿甚しお〜/ .docker / machine / certs内のすべおの蚌明曞をチェックし、UNIXの行末があるこずを確認したした。 たた、次のコマンドを䜿甚しお、opensslがそれらを読み取れるかどうかを確認しようずしたした。

$ openssl x509 -in .docker/machine/certs/cert.pem -inform PEM -text -noout

これが問題のように思われるので、私は蚌明曞をいじくり回し続けたす。 たぶん、別のマシンで詊しおみお、それがWindows10のものかどうかを確認しおください。

@carolynvsお疲れ様でした 明日の朝パリ時間に確認したす

こんにちは@carolynvs 、 ca.pemでもこのコマンドを詊したしたか

openssl x509 -in ~/.docker/machine/machines/default/ca.pem -inform PEM -text -noout

-----BEGIN CERTIFICATE-----で始たり、 -----END CERTIFICATE-----終わるこずを正しく確認できたすか。 前埌はありたせん。

@carolynvs䜕が起こっおいるのかわからないこずを認めなければなりたせん。 挠然ず関係しおいるように芋えるこのPRを詊したしたか。

この䞭間の芁玄を確認しおもかたわない堎合は、黙っおこれに頭を悩たせるこずができたす。

  • 蚌明曞はコピヌされたすが、読み取るこずができたせんか

確かに、あなたはすでにチェックしたした http 
他の人の参考のために眮いおおきたす。

生成されたpfxファむルの代わりに--certず--keyを䜿甚しお別のcurlコマンドを詊したずころ、接続できたした。

$ curl --cacert ~/.docker/machine/machines/bugtest/ca.pem --cert ~/.docker/machine/machines/bugtest/cert.pem --key ~/.docker/machine/machines/bugtest/key.pem https://$(docker-machine ip bugtest):2376/version
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   192  100   192    0     0   1761      0 --:--:-- --:--:-- --:--:--  1761{"Version":"1.8.3","ApiVersion":"1.20","GitCommit":"f4bf5c7","GoVersion":"go1.4.2","Os":"linux","Arch":"amd64","KernelVersion":"4.1.10-boot2docker","BuildTime":"Mon Oct 12 18:01:15 UTC 2015"}

docker-machine envの出力を詳しく芋るず、悪い蚌明曞パスであるず思われるものを゚クスポヌトしおいるこずがわかりたす。 私のMacでは、これは.docker / machine / machine /を指したす。以䞋の出力では、.docker / machine / certsを指しおいたす。

$ docker-machine env bugtest
Certs are not valid: remote error: bad certificate
Invalid certs detected; regenerating for 192.168.99.102:2376
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.102:2376"
export DOCKER_CERT_PATH="C:\Users\caro8994\.docker\machine\certs"
export DOCKER_MACHINE_NAME="bugtest"
# Run this command to configure your shell:
# eval "$(C:\Program Files\Docker Toolbox\docker-machine.exe env bugtest)"

環境倉数を手動で蚭定し、蚌明曞のパスを本来あるべきものに倉曎した埌、Dockerクラむアントに接続できたす。

おそらく、docker-machineが接続できるかどうかをテストしおいるずきに、間違った蚌明曞を䜿甚しおいたすか

蚌明曞を怜蚌するずきにデバッグ情報を远加し、最初にdocker-machineが䜿甚しおいるものを䜿甚しお手動で接続し、次に䜿甚する必芁があるず思うものを䜿甚しおみたした。

caro8994<strong i="16">@CAROLYNVANS87E4</strong> MINGW64 ~
$ docker-machine env bugtest
HOST URL=192.168.99.102:2376
CA CERT PATH=C:\Users\caro8994\.docker\machine\certs\ca.pem
SERVER CERT PATH=C:\Users\caro8994\.docker\machine\machines\bugtest\server.pem
SERVER KEY PATH=C:\Users\caro8994\.docker\machine\machines\bugtest\server-key.pem
Certs are not valid: read tcp 192.168.99.1:50658->192.168.99.102:2376: wsarecv: An established connection was aborted by the software in your host machine.
Invalid certs detected; regenerating for 192.168.99.102:2376
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.102:2376"
export DOCKER_CERT_PATH="C:\Users\caro8994\.docker\machine\certs"
export DOCKER_MACHINE_NAME="bugtest"
# Run this command to configure your shell:
# eval "$(C:\Program Files\Docker Toolbox\docker-machine.exe env bugtest)"

caro8994<strong i="17">@CAROLYNVANS87E4</strong> MINGW64 ~
$ curl --cacert ~/.docker/machine/certs/ca.pem --cert ~/.docker/machine/machines/bugtest/server.pem --key ~/.docker/machine/machines/bugtest/server-key.pem https://$(docker-machine ip bugtest):2376/version
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (35) error:14094412:SSL routines:ssl3_read_bytes:sslv3 alert bad certificate

caro8994<strong i="18">@CAROLYNVANS87E4</strong> MINGW64 ~
$ curl --cacert ~/.docker/machine/certs/ca.pem --cert ~/.docker/machine/machines/bugtest/cert.pem --key ~/.docker/machine/machines/bugtest/key.pem https://$(docker-machine ip bugtest):2376/version
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   192  100   192    0     0    472      0 --:--:-- --:--:-- --:--:--   472{"Version":"1.8.3","ApiVersion":"1.20","GitCommit":"f4bf5c7","GoVersion":"go1.4.2","Os":"linux", "Arch":"amd64","KernelVersion":"4.1.10-boot2docker","BuildTime":"Mon Oct 12 18:01:15 UTC 2015"}

だから私は2぀の疑わしいものを芋たす

  1. DOCKER_CERT_PATHは、.docker / machine / machine /の代わりに.docker / machine / certsを䜿甚しおいたす
  2. Validateは、cert.pemずkey.pemの代わりにserver.pemずserver-key.pemを䜿甚しおいたす。 各蚌明曞の目的はわかりたせんが、正しくないようです。

本圓に圹立぀はずの@carolynvsに感謝したす。 報告されたすべおを芁玄する前に、 https//github.com/docker/machine/pull/2006の最新バヌゞョンを詊しおみお

これが䜿甚しおいる蚌明曞です

ホストURL = 192.168.99.1022376
CA CERT PATH = C\ Users \ caro8994.docker \ machine \ certsca.pem
SERVER CERT PATH = C\ Users \ caro8994.docker \ machine \ machines \ bugtest \ server.pem
サヌバヌキヌパス= C\ Users \ caro8994.docker \ machine \ machines \ bugtest \ server-key.pem

これは私自身のデバッグ情報によるものであり、すべおのプラグむンをビルドしおいるため、ビルドに長い時間がかかるPRではありたせん。 スマむル

OK、今は混乱しおいるので、芁玄しおみたす。

あなたはそれを確認できたすか

  • ~/.docker/machine/certs/ca.pemは~/.docker/machine/machines/bugtest/ca.pemず同じです
  • ~/.docker/machine/certs/cert.pemは~/.docker/machine/machines/bugtest/cert.pemず同じです
  • ~/.docker/machine/certs/key.pemは~/.docker/machine/machines/bugtest/key.pemず同じです
  • docker cliをサヌバヌに到達させるこずができたした。 そのずき、 DOCKER_CERT_PATHのどの倀を䜿甚したしたか
  • Macでは、 docker-machine env bugtestは、 DOCKER_CERT_PATH="~/.docker/machine/certs"ではなくDOCKER_CERT_PATH="~/.docker/machine"を゚クスポヌトしたす。

よろしくお願いしたす

@carolynvs FTR、

ブレむンダンプでごめんなさい

  • ca.pem、cert.pem、およびkey.pmは、 ~/.docker/machine/certsず~/.docker/machine/machines/bugtest䞡方で同じです。
  • DOCKER_CERT_PATHを~.docker/machine/machines/bugtestに蚭定するず、Dockerクラむアントが機胜したした
  • 私のMac動䜜したすでは、 docker-machine envはDOCKER_CERT_PATH="~/.docker/machine/machines/bugtest"たす。 Windows 10そうではありたせんでは、同じコマンドがDOCKER_CERT_PATH="~/.docker/machine/certs"

これは私の脳のダンプにありたしたが、倱われた可胜性がありたす。 docker-machineが蚌明曞を怜蚌しおいるずき、server.pemずserver-key.pemを䜿甚しおdockerデヌモンに接続しようずしおいたす。 これはずおも怪しいようです。

OK。 @nathanleclaireず@ehazlettに電話しお救助したしょう。 あなたはそれを釘付けにしたず思いたすが、今、私はプロゞェクトに慣れおいないので、なぜこれほど倚くの重耇した蚌明曞があり、なぜ正しい蚌明曞を䜿甚しないのか理解できたせん。

ビルドのヒントをありがずう

以䞋はPR2006の最新ビルドからの関連する出力であり、完党な出力は次のずおりです https 

Reading CA certificate from C:\Users\caro8994\.docker\machine\certs\ca.pem
Reading server certificate from C:\Users\caro8994\.docker\machine\machines\bugtest\server.pem
Reading server key from C:\Users\caro8994\.docker\machine\machines\bugtest\server-key.pem

閉じた/再び開いたノむズでごめんなさい。 私は手探りしたした

Oivey。 @carolynvs @dgageot皆さんは、これを远いかけ続けるためのチャンピオンです。 キャロリンの疑惑は正しいず思いたす。 DOCKER_CERT_PATHが正しく蚭定されおいないず、デヌモンずの通信が正しく機胜したせん。 libmachine倉曎で誀っお導入したパスの問題のようです。 私はこれを調査し、これたでのずころあなたの発芋をいじくり回し続けたす。

では、犯人ぞの玄関口はこの線でしょうか
https://github.com/docker/machine/blob/8aa1572e0dcd75762a7627e1056ef104317f44b9/libmachine/persist/filestore.go#L155

@blaggacao可胜性の領域では間違いなく匷く、そのコヌドは少しもろくなりがちで、過去に問題がありたした。

@carolynvsが確認したように、これがWindowsず
私にずっお、それは明らかに.docker\machine\certsパスを構築したす。

diff .docker/machine/certs/ca.pem .docker/machine/machines/oca/ca.pem
diff .docker/machine/certs/cert.pem .docker/machine/machines/oca/cert.pem
diff .docker/machine/certs/key.pem .docker/machine/machines/oca/key.pem

沈黙を保ちたす。

@blaggacao明らかに、Macの@carolynvsず同じ動䜜はありたせん。 だから、䜕か怪しいものがありたす。

ええ、蚌明曞はプロビゞョニングビットの間にそのマシンのディレクトリにコピヌされたす。

@dgageot混乱をお詫びしたす。 私のMacはdocker-machine0.4.1を実行しおいたす。 マスタヌにマヌゞされる修正をテストしおいるので、WindowsマシンでのみPRビルドを実行しおいたす。

今すぐMacでビルドしお再実行できたす。

再開したす

  • 差分は/machine/certsず/machine/machines/certs違いを瀺しおいたせん
  • 問題を解決するためのcarlynvsの回避策を再珟できたせん。

WindowsでbashでDOCKER_CERT_PATHを手動で蚭定する堎合は、UNIXスタむルのパスを䜿甚する必芁がありたす。 たずえば、 export DOCKER_CERT_PATH="~./docker/machine/machines/oca"です。

私の䞍安定なマシンでは、蚌明曞が/ machine / certsず/ machine / machine / certsの間で䞀臎するこずを確認できたす。

scpが機胜しないため、手動でコピヌしお確認できたす。

diff ca.pem.local       ca.pem.vm       FALSE
diff server.pem.local   server.pem.vm   TRUE
diff key.pam.local      key.pem.vm      TRUE

2番目ず3番目のものは/machines/ocaずoca:~/.docker間で異なりたす

蚌明曞@blaggacaoにVM

私はちょうど気づきたした、それは間違ったものでした...

~/.dockerに察しおチェックしたした/var/lib/boot2dockerに察しおもう䞀床チェックしたす

私はdefinitleyがそれを確認するこずができたす

  • /machines/ocaずoca:/var/lib/boot2docker/の蚌明曞は同じです
    3぀のフィヌルドすべおでdos2unixを実行したすca.pem 、 server.pem 、 sever-key.pemでoca 

さらに、このタむムアりト゚ラヌが発生したす https 
--native-sshフラグを付けお実行するかどうかにかかわらず、 envを実行するたびに

ええ、 @ blaggacaoは、VMに割り圓おられたホストのみのIPがコンピュヌタヌから到達できないようにも芋えたす。 ping $(docker-machine ip vmname)できたすか

いいえ、どちらも機胜したせん...「リク゚ストがタむムアりトしたした」

docker-machine ssh vmname機胜したす

ええ、 sshはlocalhost通過したす。 しかし、割り圓おられたホストにVM IPのみを接続するこずはできないようです。そのため、 envが正しく機胜するずは思われたせん。 VPNたたはプロキシを䜿甚しおいたすか

私が知っおいるこずではありたせんが、タスクマネヌゞャを再確認しただけです... UPDATEが1぀を怜出し、終了したした

閉じおも䜕も倉わりたせんが、これは別の問題だず思いたす...

https://github.com/docker/machine/blob/56f457c2ef6e306fb1815b6b125f98c85a6e92ec/commands/config.go#L88

私をに導きたす

https://github.com/docker/machine/blob/56f457c2ef6e306fb1815b6b125f98c85a6e92ec/libmachine/cert/cert.go#L177

䜕も埗られないので https 

残っおいる候補者は次のずおりです。
https://github.com/docker/machine/blob/56f457c2ef6e306fb1815b6b125f98c85a6e92ec/libmachine/cert/cert.go#L198 -L205

これは、䞡方の問題の間の関係のようなにおいがしたす。 私の考えを解釈できたすか

リモヌト掘削 https 

私はもう自分のWindows環境を信甚しおいなかったので、最初からやり盎しおWindowsを再構築し、2006をむンストヌルしたした。

docker.logファむルにこの゚ラヌが衚瀺されたす

2015/10/21 17:06:23 http: TLS handshake error from 192.168.99.1:50386: tls: failed to verify client's certificate: x509: certificate has expired or is not yet valid

だから私は蚌明曞の日付をチェックしたした

$ openssl x509 -in server.pem -noout -dates
notBefore=Oct 21 22:00:00 2015 GMT
notAfter=Oct  5 22:00:00 2018 GMT

問題は、蚌明曞の日付が将来のものである可胜性がありたすか これは、元々私のcurlコマンドが機胜しなかったのに、数時間埌には機胜した理由を説明したす。

こっちも䞀緒

$ openssl x509 -in .docker/machine/machines/oca/server.pem -noout -dates
notBefore=Oct 21 22:00:00 2015 GMT
notAfter=Oct  5 22:00:00 2018 GMT

それは私のタむムゟヌンボゎタ/アメリカでは玄5時間ですが、GMTUTCず衚瀺されおいたす。 ボゎタはUTC-5です

docker<strong i="5">@oca</strong>:~$ time
BusyBox v1.23.1 (2015-02-22 15:53:49 UTC) multi-call binary.

曎新修正

ここに蚘茉されおいるように https 

docker-machine ssh vmname
sudo ntpclient -s -h pool.ntp.org

別の゚ラヌが発生したした䞀床に1ステップ:)

私はこれがそれだず思いたす、残りは私のvirtualboxです。

倕食を食べお、蚌明曞が有効ですべおがうたくいくず思うずき、5時間埌にもう䞀床確認したす。 スマむル

悪いニュヌスですが、VMを再起動するたびにこれを行う必芁がありたす。

smileあなたは根本的な原因にぶ぀かったず思いたす ありがずう

拍手拍手拍手拍手拍手拍手拍手

@carolynvs私が投皿した修正はあなたのために機胜したしたか

蚌明曞が有効になるたで5時間埅った埌、docker-machineenvが機胜するこずを確認したかっただけです。 将来の日付の蚌明曞を取埗する理由はわかりたせんが、問題を曎新しお、珟圚わかっおいる本圓の根本原因を反映する必芁があるかもしれたせん。

私の堎合、蚌明曞は問題ではありたせんでしたが、boot2dockerの時間蚭定... githubプロファむルでわかるように、あなたはシカゎ出身です。これはボゎタず同様のタむムゟヌンです。おそらく、boot2dockerがタむムゟヌンで正しく蚭定されおいたせん。 ..。。

回避策を䜿甚しお時刻を同期した埌でも、これらの蚌明曞を䜿甚しおDockerホストに接続するず、同じ゚ラヌ蚌明曞の有効期限が切れおいるか、ただ有効ではありたせんが衚瀺されたす。

私のMacでは、これは新しいボックスを䜜成しお時間を確認した埌に衚瀺されるものです。

docker<strong i="7">@bugtest</strong>:~$ time
BusyBox v1.23.1 (2015-02-22 15:53:49 UTC) multi-call binary.

docker<strong i="8">@bugtest</strong>:~$ hwclock
Thu Oct 22 15:54:29 2015  0.000000 seconds

docker<strong i="9">@bugtest</strong>:~$ date
Thu Oct 22 15:54:06 UTC 2015

docker<strong i="10">@bugtest</strong>:~$ openssl x509 -in /var/lib/boot2docker/server.pem -noout -dates
notBefore=Oct 22 15:48:00 2015 GMT
notAfter=Oct  6 15:48:00 2018 GMT

これは、Windowsの新しいホストでの同じコマンドです。

docker<strong i="14">@bugtest</strong>:~$ time
BusyBox v1.23.1 (2015-02-22 15:53:49 UTC) multi-call binary.

docker<strong i="15">@bugtest</strong>:~$ hwclock
Thu Oct 22 15:58:56 2015  0.000000 seconds

docker<strong i="16">@bugtest</strong>:~$ date
Thu Oct 22 10:58:58 UTC 2015

docker<strong i="17">@bugtest</strong>:~$ openssl x509 -in /var/lib/boot2docker/server.pem -noout -dates
notBefore=Oct 22 15:45:00 2015 GMT
notAfter=Oct  6 15:45:00 2018 GMT

日付は私の珟地時間を瀺しおいたすが、UTCであるず考えおおり、hwclockに䞀臎するように曎新する方法がわかりたせん。 手動で日付を倉曎しようずしたしたが、busyboxたたはvirtualboxのいずれかに、倉曎をすぐに元に戻す䜕かがありたす。

これは、回避策を適甚した埌の昚日の動䜜状態です。

docker<strong i="6">@oca</strong>:~$ time
BusyBox v1.23.1 (2015-02-22 15:53:49 UTC) multi-call binary.
docker<strong i="7">@oca</strong>:~$ hwclock
Thu Oct 22 10:10:46 2015  0.000000 seconds
docker<strong i="8">@oca</strong>:~$ date
Thu Oct 22 16:28:19 UTC 2015
docker<strong i="9">@oca</strong>:~$
docker<strong i="10">@oca</strong>:~$ openssl x509 -in /var/lib/boot2docker/server.pem -noout -dates
notBefore=Oct 21 22:32:00 2015 GMT
notAfter=Oct  5 22:32:00 2018 GMT

ここで、 dateはUTCで衚された私の珟地時間に察応したす

私のsymtopmsのいく぀かのヒント https //forums.virtualbox.org/viewtopic.phpf = 3t = 60558p281836

timeは、10分埌に凍結されたす docker<strong i="18">@oca</strong>:~$ time BusyBox v1.23.1 (2015-02-22 15:53:49 UTC) multi-call binary.

私の堎合、 dateが正しい日付を瀺しおいるので、私の堎合は回避策の固定日であるず想定しおいるため、問題が発生したす。

䞊蚘のREでのcc @ tianon @SvenDowideit PTALboot2dockerの時刻/日付の問題^^

私が芋぀けたいく぀かのコヌドは、タむムスタンプの問題に寄䞎しおいる可胜性がありたす。

https://github.com/docker/machine/blob/master/libmachine/cert/cert.go#L53 -L56

しかし、以前は垞に正垞に機胜しおいたした。

@carolynvs @blaggacaoただこれらの問題に

私にずっおは、参照されおいる回避策の埌で機胜しおいたす。 これは、次に、䞀郚のboot2docker時間パラメヌタヌが正しく蚭定されおいないこずを瀺しおいたす。 通垞は、マシンの䜜成盎埌の限られた時間枠でのみ発生したす。 おそらく䞀郚のタむムゟヌンでのみ。

これもたた、蚌明曞のタむムスタンプが正しいこずを意味したす。

rcでPCを再起動した盎埌に、これに再び遭遇したしたが、5.0に曎新した埌はすべおが機胜しおいるようです。 おそらく今のずころこれを閉じるこずができたす。 ずにかく、奇劙な振る舞いに気づいたらすぐに再開したす。

https://gist.github.com/damontic/bd60b6a18cacf635dc9c

私もこの問題を抱えおいたす。 閉じないでください。

@damonticこれは、ここで説明しおいる問題ずは異なる問題のように芋えたす。

DigitalOceanで矀れを蚭定しようずしおいたすが、同じ゚ラヌが発生したす。

KVストア、スりォヌムマスタヌ、およびノヌ​​ドを䜜成するinit-do.shファむル

 # KV Store
docker-machine create \
--driver digitalocean \
--digitalocean-access-token ${TOKEN} \
--digitalocean-region "lon1" \
--digitalocean-size "1gb" \
consul
eval "$(docker-machine env consul)"
docker run -d -p "8500:8500" -h "consul" progrium/consul -server -bootstrap

sleep 5

# Swarm master
docker-machine create \
--driver digitalocean \
--digitalocean-access-token ${TOKEN} \
--digitalocean-region "lon1" \
--digitalocean-size "1gb" \
--swarm --swarm-image="swarm" --swarm-master \
--swarm-discovery="consul://$(docker-machine ip consul):8500" \
--engine-opt="cluster-store=consul://$(docker-machine ip consul):8500" \
--engine-opt="cluster-advertise=eth1:2376" \
demo0

sleep 5

# Swarm node
docker-machine create \
--driver digitalocean \
--digitalocean-access-token ${TOKEN} \
--digitalocean-region "lon1" \
--digitalocean-size "1gb" \
--swarm --swarm-image="swarm:1.0.0-rc2" \
--swarm-discovery="consul://$(docker-machine ip consul):8500" \
--engine-opt="cluster-store=consul://$(docker-machine ip consul):8500" \
--engine-opt="cluster-advertise=eth1:2376" \
demo1

私が埗るログ/゚ラヌ

$> ./init-do.sh
Running pre-create checks...
Creating machine...
(consul) OUT | Creating SSH key...
(consul) OUT | Creating Digital Ocean droplet...
(consul) OUT | Waiting for IP address to be assigned to the Droplet... 
Waiting for machine to be running, this may take a few minutes... 
Machine is running, waiting for SSH to be available...
Detecting operating system of created instance...
Detecting the provisioner...
Provisioning created instance...
Copying certs to the local machine directory... 
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
To see how to connect Docker to this machine, run: docker-machine env consul
Unable to find image 'progrium/consul:latest' locally
latest: Pulling from progrium/consul
3b4d28ce80e4: Pull complete
...
d9125e9e799b: Pull complete
Digest: sha256:8cc8023462905929df9a79ff67ee435a36848ce7a10f18d6d0faba9306b97274
Status: Downloaded newer image for progrium/consul:latest
ab964fd70394d34f8d1de5c76246490b5857adaffbc1c02235bdc53663c33b37
Running pre-create checks...
Creating machine...
(demo0) OUT | Creating SSH key...
(demo0) OUT | Creating Digital Ocean droplet...
(demo0) OUT | Waiting for IP address to be assigned to the Droplet...
Waiting for machine to be running, this may take a few minutes... 
Machine is running, waiting for SSH to be available...
Detecting operating system of created instance...
Detecting the provisioner...
Provisioning created instance...
Copying certs to the local machine directory... 
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
Error creating machine: Error running provisioning: Unable to verify the Docker daemon is listening:        Maximum number of retries (5) exceeded
Running pre-create checks...
Creating machine...
(demo1) OUT | Creating SSH key...
(demo1) OUT | Creating Digital Ocean droplet...
(demo1) OUT | Waiting for IP address to be assigned to the Droplet...  
Waiting for machine to be running, this may take a few minutes...
Machine is running, waiting for SSH to be available...
Detecting operating system of created instance...
Detecting the provisioner...
Provisioning created instance...
Error creating machine: Error running provisioning: Something went wrong running an SSH command!
command : sudo apt-get update
err     : exit status 100
output  : Ign http://mirrors.digitalocean.com trusty InRelease
Get:1 http://mirrors.digitalocean.com trusty-updates InRelease [64.4 kB]
Hit http://mirrors.digitalocean.com trusty Release.gpg
Hit http://mirrors.digitalocean.com trusty Release
Get:2 http://mirrors.digitalocean.com trusty-updates/main Sources [244 kB]
Get:3 http://mirrors.digitalocean.com trusty-updates/universe Sources [144 kB]
Get:4 http://mirrors.digitalocean.com trusty-updates/main amd64 Packages [652 kB]
Get:5 http://mirrors.digitalocean.com trusty-updates/universe amd64 Packages [331 kB] 
Get:6 http://mirrors.digitalocean.com trusty-updates/main i386 Packages [631 kB]
Get:7 http://mirrors.digitalocean.com trusty-updates/universe i386 Packages [332 kB]
Get:8 http://mirrors.digitalocean.com trusty-updates/main Translation-en [319 kB]
Get:9 http://security.ubuntu.com trusty-security InRelease [64.4 kB]
Get:10 http://mirrors.digitalocean.com trusty-updates/universe Translation-en [173 kB]
Hit http://mirrors.digitalocean.com trusty/main Sources
Hit http://mirrors.digitalocean.com trusty/universe Sources
Hit http://mirrors.digitalocean.com trusty/main amd64 Packages
Hit http://mirrors.digitalocean.com trusty/universe amd64 Packages
Hit http://mirrors.digitalocean.com trusty/main i386 Packages
Hit http://mirrors.digitalocean.com trusty/universe i386 Packages
Hit http://mirrors.digitalocean.com trusty/main Translation-en
Hit http://mirrors.digitalocean.com trusty/universe Translation-en
Ign http://mirrors.digitalocean.com trusty/main Translation-en_US
Ign http://mirrors.digitalocean.com trusty/universe Translation-en_US
Get:11 http://security.ubuntu.com trusty-security/main Sources [99.2 kB]
Get:12 http://security.ubuntu.com trusty-security/universe Sources [32.5 kB]
Get:13 http://security.ubuntu.com trusty-security/main amd64 Packages [370 kB]
Get:14 http://security.ubuntu.com trusty-security/universe amd64 Packages [122 kB]
Get:15 http://security.ubuntu.com trusty-security/main i386 Packages [350 kB]
Get:16 http://security.ubuntu.com trusty-security/universe i386 Packages [123 kB]   
Get:17 http://security.ubuntu.com trusty-security/main Translation-en [200 kB]
Get:18 http://security.ubuntu.com trusty-security/universe Translation-en [69.6 kB]
Fetched 4,323 kB in 4s (925 kB/s) 
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/trusty-security/universe/i18n/Translation-en    Hash Sum mismatch

E: Some index files failed to download. They have been ignored, or old ones used instead.

これを実行する前に、マシン0.5.1に曎新したした

$ docker-machine -v
docker-machine version 0.5.1 (7e8e38e)

マシン「consul」のコンテキストに移動できたすが、「demo0」たたは「demo1」には移動できたせん。

$ docker-machine env consul
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://178.62.93.196:2376"
export DOCKER_CERT_PATH="/Users/luc/.docker/machine/machines/consul"
export DOCKER_MACHINE_NAME="consul"
# Run this command to configure your shell:
# eval "$(/usr/local/bin/docker-machine env consul)"

$ docker-machine env    demo0
Error running connection boilerplate: Error checking and/or regenerating the certs: There was an error   validating certificates for host "46.101.74.179:2376": dial tcp 46.101.74.179:2376: getsockopt: 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 will stop running containers.

$ docker-machine env demo1
Error running connection boilerplate: Error checking and/or regenerating the certs: There was an error  validating certificates for host "46.101.17.195:2376": open   /Users/luc/.docker/machine/machines/demo1/server.pem: no such file or directory
You can attempt to regenerate them using 'docker-machine regenerate-certs name'.
Be advised that this will trigger a Docker daemon restart which will stop running containers.

@lucjプロビゞョニングが倱敗した堎合、䜜成されたむンスタンスは「無効」になりたす。 それらを削陀しお、最初からやり盎しおみおください。

@nathanleclaireマシンを削陀し「docker-machine rm consul demo0 demo1」で十分ですか、それずも手動で他のものを削陀する必芁がありたすか、セットアップファむルで再実行するず、同じ蚌明曞の問題が発生したすDigitalOceanで䜜成する堎合。 奇劙なこずに、「領事」マシンには問題はありたせんが、矀れのマシンdemo0、demo1にのみ問題がありたす。

ただし、VirtualBox5.0.10でスりォヌムを䜜成するず、正垞に機胜したす。

AWSドラむバヌを䜿甚しおいるずきにこれが衚瀺されたす

私はいく぀かのテストを実際にはたくさん行いたしたが、VMを削陀しお矀れを䜿っお再䜜成した埌も、同じ問題が発生したす。

MacOSX 10.10.5のdockerツヌルボックスを䜿甚しおバヌゞョン1.8から1.9.1にアップグレヌドした埌、この問題が発生したした

Error running connection boilerplate: Error checking and/or regenerating the certs: There was an error validating certificates for host "192.168.99.100:2376": dial tcp 192.168.99.100:2376: getsockopt: 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 will stop running containers.

command failed; 1

これは私にも定期的に起こっおいたす。 Docker v1.9.1

ここでも玺碧のドラむバヌで同じ問題が発生したす。 新しい玺碧のマシンを䜜成するたびに、次の゚ラヌで倱敗したす。

Error creating machine: Error checking the host: Error checking and/or regenerating the certs: There was an error validating certificates for host "testcargo2-prefapp-in.cloudapp.net:2376": tls: DialWithDialer timed out
You can attempt to regenerate them using 'docker-machine regenerate-certs [name]'

docker-machine regenerate-certs実行した埌、蚌明曞の怜蚌は正垞に機胜したす。

docker-machine v0.5.5では問題はなく、dockerホストの䜜成は問題なく機胜したす。

Running pre-create checks...
Creating machine...
(testcargo3-prefapp-in) Creating Azure machine...
Waiting for machine to be running, this may take a few minutes...
Machine is running, waiting for SSH to be available...
Detecting operating system of created instance...
Detecting the provisioner...
Provisioning with ubuntu(upstart)...
Installing Docker...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
Checking connection to Docker...
Docker is up and running!
To see how to connect Docker to this machine, run: docker-machine env 

@alambike 0.6.0でこの問題が発生しおいたすか

はい、0.5.5以降です。 私はこれを0.5.6ず0.6.0でテストしたした。

マック10.10.5のawsドラむバヌ垞にを䜿甚した0.6.0の私も同じです。 仮想ボックスドラむバでは発生したせん。

docker-machine 0.6.0を䜿甚しお--engine-opt="cluster-advertise=eth1:2376"を--engine-opt="cluster-advertise=eth0:2376"に倉曎した埌、修正されたしたdocker-machine 0.5.4は匕き続き倱敗したす

私のマシンで同じ問題ず戊っおいるず思いたす。 私はubuntu14.04を䜿甚しおいたす
docker-machineバヌゞョン0.5.5、ビルド02c4254
RHEL7.1でホストを実行しおいたす
サヌバヌバヌゞョン1.10.2-cs1-rc3

マシン䞊で時間ずずもに提案されたすべおを詊したした、ここに私がcurlから埗た出力がありたす

curl -v --cacert〜 / .docker / machine / certs / ca.pem --cert〜 / .docker / machine /machines/$NODE_NAME/cert.pem--key~/.docker/machine/machines/$NODE_NAME /key.pem https// $docker-machine ip $ NODE_NAME2376 / version

  • DNSキャッシュにホスト名が芋぀かりたせんでした
  • 16.85.3.140を詊しお...
  • 16.85.3.14016.85.3.140ポヌト23760に接続
  • 蚌明曞の怜蚌堎所を正垞に蚭定したした。
  • CAfile/home/eraigosa/.docker/machine/certs/ca.pem
    CApath/ etc / ssl / certs
  • SSLv3、TLSハンドシェむク、クラむアントhello1
  • SSLv3、TLSハンドシェむク、サヌバヌhello2
  • SSLv3、TLSハンドシェむク、CERT11
  • SSLv3、TLSハンドシェむク、サヌバヌキヌ亀換12
  • SSLv3、TLSハンドシェむク、CERTの芁求13
  • SSLv3、TLSハンドシェむク、サヌバヌ終了14
  • SSLv3、TLSハンドシェむク、CERT11
  • SSLv3、TLSハンドシェむク、クラむアントキヌ亀換16
  • SSLv3、TLSハンドシェむク、CERT怜蚌15
  • SSLv3、TLS倉曎暗号、クラむアントhello1
  • SSLv3、TLSハンドシェむク、終了20
  • SSLv3、TLSアラヌト、サヌバヌhello2
  • ゚ラヌ14094412 SSLルヌチンSSL3_READ_BYTES sslv3アラヌトの䞍正な蚌明曞
  • 接続を閉じる0
    curl35゚ラヌ14094412 SSLルヌチンSSL3_READ_BYTES sslv3アラヌトの䞍正な蚌明曞

@nathanleclaire私はboot2dockerのprltoolsdは、垞に日付/タむムゟヌンを正しく蚭定しおいたせん。

$ date
<the current local time with the timezone set to UTC>

$ date -s '<the correct time in UTC>'
<prints the correct time>

$ date
<the date/time is now broken again>

$ /usr/local/etc/init.d/prltoolsd stop

$ date -s '<the correct time in UTC>'
<prints the correct time>

$ date
<prints the correct time and stays put>

prltoolsdを停止しお日付をリセットした埌、すべおのdocker-machineコマンドが期埅どおりに機胜し、蚌明曞が再生成されたせん。

新しいマシンを䜜成した埌、タむムゟヌンがUTCに蚭定され、ロヌカルタむムに蚭定される理由はただわかりたせん。したがっお、これは単なる回避策であり、修正ではありたせん。

玠敵な@carolynvs  boot2dockerでこれを修正できるかどうかを確認する䜜業を行いたす。

@tianon @ legal90 FYI ^^

@carolynvsうわヌ恐ろしい。 prltoolsdプロセスは、Parallels Desktop以倖の他の仮想化システムでは開始されないため、非垞に奇劙に芋えたす。 デヌモンは、 /usr/bin/prlvmcheckが0の終了コヌドを返した堎合にのみ起動したす。これは、ParallelsVMにいるこずを意味したす。

この問題をVirtualboxVMで再珟したしたか 䜿甚しおいるBoot2Dockerのバヌゞョンは䜕ですか

PSたた、 prltoolsdが唯䞀の理由であるず仮定した堎合、DockerMachineのバヌゞョンは意味をなさないはずです。 ただし、䞊蚘の他のコメントリンクは、問題がマシン0.5.5以降でのみ発生するこずを瀺しおいたす

@ legal90それはもっず理にかなっおいたす。 私の環境は少し䞍安定ですが、以前は問題なく機胜しおいたした。

  1. Parallelsを実行しおいるMacを䜿甚しおいたす。
  2. Parallels内で、Windowsを実行しおから、最新のDockerツヌルボックスをむンストヌルしたす。 これを行うのは、Dockerのドキュメントずチュヌトリアルを䜜成し、Mac、Linux、およびWindowsナヌザヌをタヌゲットにする必芁があるためです。

これは、 prltoolsdがDockerホストクロックを管理しようずしおいる理由を説明しおいたす。 Parallels内にネストされおいるこずを認識しおいる必芁がありたす。 これは、システムクロックが珟地時間に蚭定されおいるのに、UTCであるず考えおいる理由も説明しおいたすか

それが私がこのバグを開く原因ずなった根本的な問題です。 䞭郚暙準時午前10時-6に新しいDockerマシンを䜜成したす。 新しいマシンのシステムクロック date は、UTCが午前10時であるず芋なしおいるため、蚌明曞のタむムスタンプは「将来」です。 hwclockは正しい時刻を報告したす。

boot2docker Dockerfileを芋るず、 /etc/timezoneがUTCに蚭定されおおり、 /etc/localtimeもUTCに蚭定されおいる必芁があるこずがわかりたした。

https://github.com/boot2docker/boot2docker/blob/master/Dockerfile#L311を参照しお

RUN echo 'UTC' > $ROOTFS/etc/timezone \
    && cp -L /usr/share/zoneinfo/UTC $ROOTFS/etc/localtime

しかし、私のDockerマシンホストにはtzdataパッケヌゞがむンストヌルされおいないため、 /usr/share/zoneinfoは存圚せず、 /etc/localtimeも存圚したせん。 叀いISOを䜿甚しおいないこずを確認するために、最新のDockerfileから独自のboot2dockerを䜜成したした。 /etc/localtimeファむルが欠萜しおいるこずが、誀った時間の問題の原因になっおいるのではないかず思いたすか

@carolynvsああ、今私はそれを手に入れたした。

これは、prltoolsdがDockerホストクロックを管理しようずしおいる理由を説明しおいたす。 Parallels内にネストされおいるこずを認識しおいる必芁がありたす。

ええ、それが問題の根源です。 prltoolsdは、ParallelsVMにネストされたVirtualboxVMで実行されたす。 私はこれを再珟し、Parallelsの責任者に報告したした。 修正され次第お知らせしたす。

これは、システムクロックが珟地時間に蚭定されおいるのに、UTCであるず考えおいる理由も説明しおいたすか

コミットするのは難しいですが、Parallels Desktopおよびそのゲストツヌルの既知の問題です。 圓初はここで報告されたした https 
PD 11では、 prlctlナヌティリティの远加オプションによっお回避されたしたが、実際にはWindowsでVirtualbox VMを実行しおいるため、たれなケヌスでは圹に立ちたせん。

申し蚳ありたせんが、珟時点で提案できる唯䞀の解決策は、起動時にVMでprltoolsdが実行されないようにするこずです。 カスタムBoot2DockerISOビルドを䜿甚する堎合は、パラレル関連の行をDockerfileから削陀したす //github.com/boot2docker/boot2docker/blob/master/rootfs/rootfs/bootscript.sh#L101

prltoolsdがどのように機胜するかに぀いおの远加情報をありがずう 私はあなたが提案するように行い、私のセットアップ甚のカスタムISOを䜜成したす。 ビヌル

これで問題が解決するので、この問題を閉じたすが、他の人が問題にぶ぀かっおいるように芋えるので、それはあなたに任せたすおそらく別の理由で。

私たちはそれを効果的に解決されたものずしお扱うこずができるず思いたす。 新しい問題が発芋された堎合は、再開できたす。

この非垞に長い問題の報告ずトリアヌゞに貢献しおくれた皆さんに感謝したす

WindowsでDockerToolbox1.10.3を䜿甚しおいたす。 再起動するたでは正垞に機胜しおいたしたが、珟圚も同じ問題が発生しおいたす。 私もDockerにあたり詳しくないので、誰かが修正方法を教えおもらえたすか

@mtrtm docker-machine regenerate-certs -fは機胜したせんか

はい、docker-machine regenerate-certs-fはそうしたす。 たた、Dockerクむックスタヌトタヌミナルを起動するたびにそれを行うようです

+1
私は䞻にRedhatサヌバヌでdockerを䜿甚しおいたすが、すべお正垞に動䜜したす。 私は専門家ではありたせんが、自分が䜕をしおいるのかは知っおいたす。 ただし、virtualboxを備えたWindowsでは、DockerVMが再起動するたびに蚌明曞を再生成する必芁がありたす。 私はツヌルボックス1.11.1を䜿甚しおいたす

+1

Macbook2009幎埌半
2,26 GHz Intel Core 2 Duo
Mac OS Sierra 10.12
Dockerトヌルボックス1.2.1
VirtualBox 5.0.26

$ docker-machine ls
名前アクティブなドラむバヌの状態URLスりォヌムドッカヌ゚ラヌ
vbox-test-virtualbox実行䞭tcp//192.168.99.100 2376䞍明https //192.168.99.100を取埗2376 / v1.15 / versionx509蚌明曞の有効期限が切れおいるか、ただ有効ではありたせん

$ docker-machine env vbox-test
TLS接続のチェック゚ラヌ蚌明曞のチェックおよび/たたは再生成゚ラヌホスト "192.168.99.100:2376"の蚌明曞の怜蚌䞭に゚ラヌが発生したしたx509蚌明曞の有効期限が切れおいるか、ただ有効ではありたせん
'docker-machine regenerate-certs [name]'を䜿甚しおそれらの再生成を詊みるこずができたす。
これにより、Dockerデヌモンが再起動し、コンテナヌの実行が停止するこずに泚意しおください。

$ docker-machine regenerate-certs vbox-test
TLSマシン蚌明曞を再生成したすか 譊告これは元に戻せたせん。 y / ny
TLS蚌明曞の再生成
SSHが利甚可胜になるのを埅っおいたす...
プロビゞョナヌの怜出...
蚌明曞をロヌカルマシンディレクトリにコピヌしおいたす...
蚌明曞をリモヌトマシンにコピヌしおいたす...
リモヌトデヌモンでDocker構成を蚭定しおいたす...

$ docker-machine env vbox-test
TLS接続のチェック゚ラヌ蚌明曞のチェックおよび/たたは再生成゚ラヌホスト "192.168.99.100:2376"の蚌明曞の怜蚌䞭に゚ラヌが発生したしたx509蚌明曞の有効期限が切れおいるか、ただ有効ではありたせん
'docker-machine regenerate-certs [name]'を䜿甚しおそれらの再生成を詊みるこずができたす。
これにより、Dockerデヌモンが再起動し、コンテナヌの実行が停止するこずに泚意しおください。

これは、2016-10-30にダりンロヌドされたDocker TookitWindows 10 Homeにむンストヌルされおいるのデフォルトむンストヌルで発生したした。 実行埌に゚ラヌは消えたした

docker-machine regenerate-certs

macOSでこの問題が発生しおいたす。 docker-machine env文句を蚀いたす

$ docker-machine env docker1
Error checking TLS connection: Error checking and/or regenerating the certs: There was an error validating certificates for host "192.168.99.100:2376": x509: certificate has expired or is not yet valid
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.

蚌明曞を再生成しおも -f 圹に立ちたせん。 docker-machine ssh docker1 dateは、正しい日付ず時刻を瀺しおいたす。

䜕か案は

@paddor蚌明曞の再生成含む クラむアント蚌明曞 docker-machine regenerate-certs -f --client-certs で修正されたした。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡