Machine: μΈμ¦μ„œκ°€ μ œλŒ€λ‘œ μ„€μΉ˜λ˜μ§€ μ•Šκ³  항상 λ‹€μ‹œ μƒμ„±λ©λ‹ˆλ‹€.

에 λ§Œλ“  2015λ…„ 10μ›” 08일  Β·  115μ½”λ©˜νŠΈ  Β·  좜처: docker/machine

PR # 1951을 μ‚¬μš©ν•˜λŠ” docker-machine의 둜컬 λΉŒλ“œμ™€ ν•¨κ»˜ Docker Toolbox 1.8.2cλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. 이 PR은 ssh 문제λ₯Ό ν•΄κ²°ν•˜μ§€λ§Œ 이제 μΈμ¦μ„œ 생성 / 검증이 μ†μƒλ˜μ—ˆμŠ΅λ‹ˆλ‹€. λ¬Έμ œκ°€ PR λ•Œλ¬ΈμΈμ§€ λ§ˆμŠ€ν„°μ— μžˆλŠ”μ§€ λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€.

μ‹œμŠ€ν…œμ„ λ§Œλ“  ν›„ μΈμ¦μ„œλ₯Ό μ‚¬μš©ν•˜λ €κ³ ν•˜λ©΄ (예 : env μ‹€ν–‰) docker-machine이 μΈμ¦μ„œκ°€ μœ νš¨ν•˜μ§€ μ•ŠμŒμ„ κ°μ§€ν•˜κ³  λ‹€μ‹œ μƒμ„±ν•©λ‹ˆλ‹€. μΈμ¦μ„œλŠ” μž¬μƒμ„±λ˜μ§€ μ•Šκ³  μ„±κ³΅μ μœΌλ‘œ λ³΅μ‚¬λ˜μ§€ μ•ŠμœΌλ―€λ‘œ 컴퓨터에 μ—°κ²°ν•˜κ³  도컀λ₯Ό μ‚¬μš©ν•˜λ €λŠ” λͺ¨λ“  μ‹œλ„κ°€ μ‹€νŒ¨ν•©λ‹ˆλ‹€. μ•½κ°„μ˜ 디버깅을 μ‹œλ„ν–ˆλŠ”λ° 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 을 μ‹€ν–‰ ν•œ κ²°κ³Όμž…λ‹ˆλ‹€.

kinbug

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

@paddor μΈμ¦μ„œλ₯Ό λ‹€μ‹œ μƒμ„±ν•©λ‹ˆλ‹€. ν΄λΌμ΄μ–ΈνŠΈ μΈμ¦μ„œ ( docker-machine regenerate-certs -f --client-certs )κ°€ 문제λ₯Ό ν•΄κ²°ν–ˆμŠ΅λ‹ˆλ‹€.

λͺ¨λ“  115 λŒ“κΈ€

μžμ„Έν•œ μš”μ•½μ— κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€. 이전에도 이와 같은 문제λ₯Ό λ³Έ 적이 있으며 쑰사해 λ³΄κ² μŠ΅λ‹ˆλ‹€.

μ΅œμ‹  VirutalBoxλ₯Ό μ‚¬μš©ν•˜κ³  κ³„μ‹­λ‹ˆκΉŒ? 즉 5.0.6?

μ΅œμ‹  λ²„μ „μ˜ Docker Toolbox (1.8.2c)와 ν•¨κ»˜ μ œκ³΅λ˜λŠ” 5.0.4λ₯Ό μ‚¬μš©ν•˜κ³ μžˆμ—ˆμŠ΅λ‹ˆλ‹€. 방금 ν•΄λ‹Ή 버전을 μ œκ±°ν•˜κ³  5.0.6을 μ„€μΉ˜ν–ˆλŠ”λ° λ™μΌν•œ λ™μž‘μ΄ λ°œμƒν•©λ‹ˆλ‹€.

μ•Œμ•˜μ–΄ κ³ λ§ˆμ›Œ.

@carolynvs κ°€μ§€κ³ μžˆλŠ” 호슀트 μ „μš© λ„€νŠΈμ›Œν¬λ₯Ό μ œκ±°ν•˜κ³  (VirtualBox GUIμ—μ„œμ΄ μž‘μ—…μ„ μˆ˜ν–‰ ν•  수 있음) λ‹€μ‹œ μ‹œλ„ν•˜λ©΄ μž‘λ™ν•©λ‹ˆκΉŒ?

머신을 μ‚­μ œν•˜κ³  μ–΄λŒ‘ν„°λ₯Ό μ œκ±°ν•œ λ‹€μŒ λ™μΌν•œ 결과둜 λ‹€μ‹œ μ‹œλ„ν–ˆμŠ΅λ‹ˆλ‹€.

μ•Œμ•˜μ–΄ κ³ λ§ˆμ›Œ. 맀우 νŠΉμ΄ν•œ 행동. μΈμ¦μ„œμ— λŒ€ν•œ 더 λ§Žμ€ 정보λ₯Ό λ€ν”„ν•˜λŠ” ν…ŒμŠ€νŠΈ λΉŒλ“œλ₯Ό λ§Œλ“€κ³  λ™μ˜ ν•  경우 μ‹œλ„ν•΄ λ³Ό 것을 μ œμ•ˆ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

물둠이야! μ΅œμ„ μ„ λ‹€ν•΄ 도와 λ“œλ¦¬κ² μŠ΅λ‹ˆλ‹€.

브랜치λ₯Ό λ§Œλ“€κ³  그것을 가리킀고 μ‹Άλ‹€λ©΄ λ‚΄κ°€ 직접 λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€ (: heart : containerized builds!). μ΄λ ‡κ²Œν•˜λ©΄ ν•œ 번 μ΄μƒμ˜ μ‹œλ„κ°€ ν•„μš”ν•œ 경우 벽에 μ—¬λŸ¬ λΉŒλ“œλ₯Ό 던질 ν•„μš”κ°€ μ—†μŠ΅λ‹ˆλ‹€.

이 문제λ₯Ό μˆ˜μ •ν•˜λŠ” λ™μ•ˆ κ³ λ €ν•΄μ•Ό ν•  또 λ‹€λ₯Έ 사항은 저와 같은 일뢀 μ‚¬λžŒλ“€μ΄ μ‹€μ œλ‘œ 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 이 λ‹€λ₯΄κ²Œ μž‘λ™ν–ˆλ˜ μ˜μ—­ 쀑 ν•˜λ‚˜λŠ” μΈμ¦μ„œ (특히 루트 CA μΈμ¦μ„œ)와 관련이 μžˆμœΌλ―€λ‘œμ΄ λΆ€λΆ„κ³Ό κ΄€λ ¨μ΄μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€ ... λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€.

ν•˜μ§€λ§Œ # 2006으둜 λ‹€μ‹œ λΉŒλ“œν•˜κ³  μ‚¬μš©ν•΄ λ³΄κ² μŠ΅λ‹ˆλ‹€. 감사!

@hairyhenderson 쒋은 μ§€μ μž…λ‹ˆλ‹€. 크둜슀 컴파일 된 도컀 λ¨Έμ‹ μœΌλ‘œ ν…ŒμŠ€νŠΈλ₯Ό μ‹€ν–‰ν•˜κ² μŠ΅λ‹ˆλ‹€.

@dgageot λ‹€μŒμ€ μƒˆλ‘œμš΄ μ‹œμŠ€ν…œμ— λŒ€ν•œ docker-machine -D env default 의 μ‹€νŒ¨ν•œ 좜λ ₯ https://gist.github.com/carolynvs/e2473d21c3376f1ebec2 μž…λ‹ˆλ‹€.

# 2006을 λΉŒλ“œν•˜κ³  docker-machine.exe 및 docker-machine-driver-virtualbox.exeλ₯Ό Docker Toolbox μ„€μΉ˜ 디렉토리에 λ³΅μ‚¬ν–ˆμŠ΅λ‹ˆλ‹€. Windows 10μ—μ„œ Docker Toolbox 1.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 μ‹€ν–‰ν•  λ•Œ μΈμ¦μ„œκ°€ μ—¬μ „νžˆ μž¬μƒμ„±λ©λ‹ˆλ‹€.

λ‹€μŒμ€ 두 번째둜 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에 λͺ‡ 가지 더 λ§Žμ€ 컀밋을 λ°€μ—ˆμŠ΅λ‹ˆλ‹€.
결과물을 μ—…λ°μ΄νŠΈ ν•  μ‹œκ°„μ΄ μžˆλ‹€λ©΄ 정말 쒋을 κ²ƒμž…λ‹ˆλ‹€.

ν•‘ @nathanleclaire @ dmp42 μ–΄λ–€ 아이디어?

λ‹€μŒμ€ μƒˆλ‘œμš΄ 좜λ ₯μž…λ‹ˆλ‹€ : https://gist.github.com/carolynvs/84cd140bcbf9b696e20f.

μ—°κ²° 문제λ₯Ό λ””λ²„κΉ…ν•˜λŠ” λ‹€λ₯Έ 방법이 μžˆλŠ”μ§€ μ•Œλ €μ£Όμ„Έμš”. λ‚˜λŠ” 도컀 머신이 μΈμ¦μ„œλ₯Ό μž¬μƒμ„±ν•˜λŠ” 원인이 무엇인지 잘 λͺ¨λ₯΄κ² μ§€λ§Œ 호슀트의 / 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 μ œκ³΅ν•˜λŠ” env λ³€μˆ˜λ₯Ό 내보내고 였λ₯˜λ₯Ό λ¬΄μ‹œν•˜λ©΄ docker 데λͺ¬μ— μ—°κ²°ν•  수 μžˆμŠ΅λ‹ˆκΉŒ?

도컀 호슀트λ₯Ό pingν•˜κ³  ssh ν•  수 μžˆμŠ΅λ‹ˆλ‹€. docker-machine env μ—μ„œ μΈμ¦μ„œ 등둝에 λŒ€ν•œ λ©”μ‹œμ§€λ₯Ό λ¬΄μ‹œν•˜κ³  λ³€μˆ˜λ₯Ό μˆ˜λ™μœΌλ‘œ 섀정해도 μ—¬μ „νžˆ 도컀 ν΄λΌμ΄μ–ΈνŠΈμ— μ—°κ²°ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

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<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 : κ°μ‚¬ν•©λ‹ˆλ‹€! μš°λ¦¬κ°€ 점점 κ°€κΉŒμ›Œμ§€κ³  μžˆλ‹€κ³  λŠλ‚λ‹ˆλ‹€.

IIRC, /var/lib/boot2docker/tls 의 μΈμ¦μ„œλŠ” boot2docker OS의 μ‹œμž‘ μŠ€ν¬λ¦½νŠΈμ— μ˜ν•΄ μ„œλ²„ μΈ‘μ—μ„œ μƒμ„±λ˜λ©° ν˜„μž¬ λ¨Έμ‹  λͺ¨λΈμ˜ μ–΄λ–€ ν•­λͺ©μ—λ„ μ‚¬μš©λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ (μ΄λŠ” boot2docker-cliκ°€ μ—­μ‚¬μ μœΌλ‘œ μΈμ¦μ„œκ°€ μ„€μ • 될 κ²ƒμœΌλ‘œ μ˜ˆμƒν–ˆλ˜ λ°©μ‹μ˜ μœ λ¬Όμž…λ‹ˆλ‹€. μͺ½μœΌλ‘œ).

@carolynvs @nathanleclaire κ·Έλ•ŒλŠ” λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€ . λ‚΄ λ‘œκ·Έμ—μžˆλŠ” μœ μΌν•œ 차이점은 VBox 버전 5.0.6κ³Ό μ΅œμ‹  boot2dockerλ₯Ό μ‚¬μš©ν•˜κ³  μžˆλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€.

@carolynvs curl을 μ‚¬μš©ν•˜μ—¬ 도컀 데λͺ¬μ— μ—°κ²°ν•  수 μžˆμŠ΅λ‹ˆκΉŒ? 무엇이 잘λͺ»λ˜μ—ˆλŠ”지에 λŒ€ν•œ 더 λ‚˜μ€ ν”Όλ“œλ°±μ„ 얻을 수 μžˆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” 당신이 창문에 μžˆλ‹€κ³  μƒκ°ν•˜κΈ° λ•Œλ¬Έμ— 그것을 λ‹¬μ„±ν•˜λŠ” 방법을 μ‹€μ œλ‘œλŠ” λͺ¨λ₯΄μ§€λ§Œ OSXμ—μ„œ μ–΄λ–»κ²Œν–ˆλŠ”μ§€λŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

$ 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://opensolitude.com/2015/07/12/curl-docker-remote-api-os-x.html

@dgageot Ooh, λ„€ 이것은 λ‚΄ μ»΄ν“¨ν„°μ—μ„œ λ¬Έμ œκ°€λ˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€ (Windows 용 Gitμ—μ„œ curl / openssl을 μ‚¬μš©ν•˜λ―€λ‘œ λͺ¨λ“  λͺ…령이 λ™μΌν•©λ‹ˆλ‹€).

$ 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의 λͺ¨λ“  μΈμ¦μ„œλ₯Ό ν™•μΈν•˜κ³  μœ λ‹‰μŠ€ 라인 엔딩이 μžˆλŠ”μ§€ ν™•μΈν–ˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ λ‹€μŒ λͺ…령을 μ‚¬μš©ν•˜μ—¬ openssl이 읽을 수 μžˆλŠ”μ§€ ν™•μΈν–ˆμŠ΅λ‹ˆλ‹€.

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

이것이 문제처럼 보이기 λ•Œλ¬Έμ— λ‚˜λŠ” μΈμ¦μ„œλ₯Ό 계속 νŒŒκ³ λ“€ κ²ƒμž…λ‹ˆλ‹€. λ‹€λ₯Έ μ»΄ν“¨ν„°μ—μ„œ μ‹œλ„ν•΄λ³΄κ³  Windows 10인지 ν™•μΈν•˜μ‹­μ‹œμ˜€.

@carolynvs μž˜ν•˜μ…¨μŠ΅λ‹ˆλ‹€ ! 내일 아침에 확인 ν• κ²Œ (파리 μ‹œκ°„)

@carolynvs λ‹˜ , ca.pem μ—μ„œλ„μ΄ λͺ…령을 μ‚¬μš©ν•΄

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

당신은 μ œλŒ€λ‘œ μ‹œμž‘λ˜μ—ˆλŠ”μ§€ 확인 ν•  수 -----BEGIN CERTIFICATE----- 와 끝 -----END CERTIFICATE----- . μ „ν›„λŠ” μ—†μŠ΅λ‹ˆλ‹€.

@carolynvs λ‚˜λŠ” 무슨 일이 μΌμ–΄λ‚˜κ³  μžˆλŠ”μ§€ λͺ¨λ₯΄κ² λ‹€λŠ” 것을 μΈμ •ν•΄μ•Όν•©λ‹ˆλ‹€. λ§‰μ—°ν•˜κ²Œ κ΄€λ ¨λ˜μ–΄μžˆλŠ”μ΄ PR 을 μ‚¬μš©ν•΄ λ³΄μ…¨μŠ΅λ‹ˆκΉŒ?

이 쀑간 μš”μ•½μ„ ν™•μΈν•˜λŠ” 데 μ‹ κ²½ 쓰지 μ•ŠμœΌμ‹œλ©΄ 쑰용히 여기에 머리λ₯Ό μ“Έ 수 μžˆμŠ΅λ‹ˆλ‹€.

  • μΈμ¦μ„œκ°€ λ³΅μ‚¬λ˜μ—ˆμ§€λ§Œ 읽을 수 μ—†μŠ΅λ‹ˆκΉŒ?

λ‚˜λŠ” 이미 ν™•μΈν–ˆλ‹€. http://stackoverflow.com/questions/20837161/openssl-pem-routinespem-read-biono-start-linepem-lib-c703expecting-truste
λ‚˜λŠ” λ‹€λ₯Έ μ‚¬λžŒλ“€μ„ μœ„ν•΄ μ°Έκ³  용으둜 λ„£μ—ˆλ‹€.

방금 생성 된 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 / machines / 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-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"}

κ·Έλž˜μ„œ 두 가지 μ˜μ‹¬μŠ€λŸ¬μš΄ 점이 μžˆμŠ΅λ‹ˆλ‹€.

  1. DOCKER_CERT_PATHλŠ” .docker / machine / machines / λŒ€μ‹  .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 경둜 = C : \ Users \ caro8994.docker \ machine \ certsca.pem
μ„œλ²„ μΈμ¦μ„œ 경둜 = C : \ Users \ caro8994.docker \ machine \ machines \ bugtest \ server.pem
μ„œλ²„ ν‚€ 경둜 = C : \ Users \ caro8994.docker \ machine \ machines \ bugtest \ server-key.pem

그것은 λ‚΄ μžμ‹ μ˜ 디버그 μ •λ³΄μ—μ„œ 온 것이지 λͺ¨λ“  ν”ŒλŸ¬κ·ΈμΈμ„ λΉŒλ“œν•˜κ³  있기 λ•Œλ¬Έμ— λΉŒλ“œν•˜λŠ” 데 였랜 μ‹œκ°„μ΄ κ±Έλ¦¬λŠ” PR이 μ•„λ‹™λ‹ˆλ‹€. :λ―Έμ†Œ:

μ’‹μŠ΅λ‹ˆλ‹€. 이제 ν˜Όλž€μŠ€λŸ¬μ›Œμ„œ μš”μ•½ ν•΄ λ³΄κ² μŠ΅λ‹ˆλ‹€.

λ‹€μŒ 사항을 확인할 수 μžˆμŠ΅λ‹ˆκΉŒ?

  • ~/.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, cross-building only docker-machine, only for windows should be much faster : TARGET_ARCH = amd64 TARGET_OS = windows make build-x-machine

브레인 덀프 μ£„μ†‘ν•©λ‹ˆλ‹€!

  • 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 데λͺ¬μ— 연결을 μ‹œλ„ν•©λ‹ˆλ‹€. 이것은 맀우 λΉ„λ¦°λ‚΄μ²˜λŸΌ λ³΄μž…λ‹ˆλ‹€.

확인. @nathanleclaire 와 @ehazlett μ—κ²Œ μ „ν™”λ₯Ό κ±Έμ–΄ ꡬ쑰λ₯Ό μš”μ²­ν•©μ‹œλ‹€. 당신이 μ„±κ³΅ν–ˆλ‹€κ³  μƒκ°ν•˜μ§€λ§Œ μ§€κΈˆμ€ 쀑볡 된 μΈμ¦μ„œκ°€ λ§Žμ€ μ΄μœ μ™€ μ˜¬λ°”λ₯Έ μΈμ¦μ„œλ₯Ό μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” 이유λ₯Ό μ΄ν•΄ν•˜κΈ°μ—λŠ” ν”„λ‘œμ νŠΈμ— λ„ˆλ¬΄ μ΅μˆ™ν•©λ‹ˆλ‹€.

λΉŒλ“œ νŒμ— κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€!

λ‹€μŒμ€ PR # 2006 μ΅œμ‹  λΉŒλ“œμ˜ κ΄€λ ¨ 좜λ ₯이며 전체 좜λ ₯은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€. https://gist.github.com/carolynvs/8b7034c26fe3a764c537

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

λ‹«νžˆκ±°λ‚˜ λ‹€μ‹œ μ—΄λ¦° μ†ŒμŒμ— λŒ€ν•΄ μ£„μ†‘ν•©λ‹ˆλ‹€. λ‚˜λŠ” λ”λ“¬μ—ˆλ‹€

Oi vey. @carolynvs @dgageot μ—¬λŸ¬λΆ„ λͺ¨λ‘ DOCKER_CERT_PATH κ°€ μ˜¬λ°”λ₯΄κ²Œ μ„€μ •λ˜μ§€ μ•ŠμœΌλ©΄ 데λͺ¬κ³Όμ˜ 톡신이 μ œλŒ€λ‘œ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. libmachine λ³€κ²½ μ‚¬ν•­μ—μ„œ μ‹€μˆ˜λ‘œ λ„μž… ν•œ κ²½λ‘œμ— λ¬Έμ œκ°€μžˆλŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. λ‚˜λŠ” 이것을 계속 μ‘°μ‚¬ν•˜κ³  μ§€κΈˆκΉŒμ§€ λ‹Ήμ‹ μ˜ λ°œκ²¬μ„ νŒŒκ³ λ“€ κ²ƒμž…λ‹ˆλ‹€.

@blaggacao κ°€λŠ₯μ„±μ˜ μ˜μ—­μ—μ„œ ν™•μ‹€νžˆ κ°•ν•˜κ²Œ-κ·Έ μ½”λ“œλŠ” μ•½κ°„ λΆ€μ„œμ§€κΈ° μ‰¬μš΄ κ²½ν–₯이 있고 κ³Όκ±°μ—λŠ” λ¬Έμ œκ°€μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

@carolynvsκ°€ 확인
λ‚˜μ—κ²Œ 그것은 .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-machine 0.4.1을 μ‹€ν–‰ μ€‘μž…λ‹ˆλ‹€. λ§ˆμŠ€ν„°μ— 병합 될 λ•Œ μˆ˜μ • 사항을 ν…ŒμŠ€νŠΈν–ˆκΈ° λ•Œλ¬Έμ— Windows μ»΄ν“¨ν„°μ—μ„œλ§Œ PR λΉŒλ“œλ₯Ό μ‹€ν–‰ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

μ§€κΈˆ λ°”λ‘œ λΉŒλ“œλ₯Ό μˆ˜ν–‰ν•˜κ³  Macμ—μ„œ λ‹€μ‹œ μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

λ‹€μ‹œ μ‹œμž‘ν•©λ‹ˆλ‹€.

  • diffκ°€ /machine/certs 와 /machine/machines/certs 차이λ₯Ό 보여주지 μ•ŠμŠ΅λ‹ˆλ‹€.
  • 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ carlynvs ν•΄κ²° 방법을 μž¬ν˜„ ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

Windows (bashμ—μ„œ)μ—μ„œ DOCKER_CERT_PATHλ₯Ό μˆ˜λ™μœΌλ‘œ μ„€μ •ν•  λ•Œ UNIX μŠ€νƒ€μΌ 경둜λ₯Ό μ‚¬μš©ν•΄μ•Όν•©λ‹ˆλ‹€. 예 : export DOCKER_CERT_PATH="~./docker/machine/machines/oca" .

λ‚΄ (λ†€λΌμš΄) μ»΄ν“¨ν„°μ—μ„œ μΈμ¦μ„œκ°€ / machine / certs와 / machine / machines / 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

두 λ²ˆμ§Έμ™€ μ„Έ λ²ˆμ§ΈλŠ” /machines/oca 와 oca:~/.docker λ‹€λ¦…λ‹ˆλ‹€.

@blaggacao μΈμ¦μ„œμ— VMμ—μ„œ μ–΄λ–€ 경둜λ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆκΉŒ?

방금 κΉ¨λ‹¬μ•˜μ–΄μš”, ν‹€λ Έμ–΄μš” ...

~/.docker 에 λŒ€ν•΄ ν™•μΈν–ˆμŠ΅λ‹ˆλ‹€. /var/lib/boot2docker 에 λŒ€ν•΄ λ‹€μ‹œ ν™•μΈν•˜κ² μŠ΅λ‹ˆλ‹€.

ν™•μ‹€νžˆ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

  • /machines/oca 및 oca:/var/lib/boot2docker/ 의 μΈμ¦μ„œκ°€ λ™μΌν•©λ‹ˆλ‹€.
    ( dos2unix μ—μ„œ dos2unix ca.pem , server.pem , sever-key.pem oca )

μΆ”κ°€λ‘œμ΄ μ‹œκ°„ 초과 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€. https://github.com/docker/machine/blob/6a5219b879db52698ccb2b7e0aafd516b34df839/libmachine/provision/boot2docker.go#L193
--native-ssh ν”Œλž˜κ·Έλ₯Ό μ‚¬μš©ν•˜κ±°λ‚˜ μ‚¬μš©ν•˜μ§€ μ•Šκ³  env λ₯Ό μ‹€ν–‰ν•  λ•Œλ§ˆλ‹€

예, @blaggacao λ˜ν•œ VM에 ν• λ‹Ή 된 호슀트 μ „μš© IPκ°€ μ»΄ν“¨ν„°μ—μ„œ 도달 ν•  μˆ˜μ—†λŠ” κ²ƒμ²˜λŸΌ λ³΄μž…λ‹ˆλ‹€. ping $(docker-machine ip vmname) ν•  수 μžˆμŠ΅λ‹ˆκΉŒ?

μ•„λ‹ˆμš”, μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ ... "μš”μ²­ μ‹œκ°„ 초과"

docker-machine ssh vmname μž‘λ™

예, ssh λŠ” localhost ν†΅κ³Όν•©λ‹ˆλ‹€. ν•˜μ§€λ§Œ ν• λ‹Ή 된 호슀트 μ „μš© VM IP에 μ—°κ²°ν•  μˆ˜μ—†λŠ” 것 κ°™μ•„μ„œ env κ°€ μ œλŒ€λ‘œ μž‘λ™ν•˜μ§€ μ•Šμ„ κ²ƒμœΌλ‘œ μ˜ˆμƒν•©λ‹ˆλ‹€. VPN λ˜λŠ” ν”„λ‘μ‹œλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆκΉŒ?

μ•„λ‹ˆ, λ‚΄κ°€ μ•Œκ³ μžˆμ„ κ²ƒμž…λ‹ˆλ‹€, 방금 μž‘μ—… κ΄€λ¦¬μžλ₯Ό λ‹€μ‹œ ν™•μΈν–ˆμŠ΅λ‹ˆλ‹€ ... UPDATEκ°€ ν•˜λ‚˜λ₯Ό κ°μ§€ν•˜κ³  λ‹«μŠ΅λ‹ˆλ‹€.

닫아도 아무것도 λ°”λ€Œμ§€ μ•Šμ§€λ§Œ 이것은 또 λ‹€λ₯Έ 문제라고 μƒκ°ν•©λ‹ˆλ‹€.

이것은 두 문제 μ‚¬μ΄μ˜ μ—°κ²°μ²˜λŸΌ λ³΄μž…λ‹ˆλ‹€. λ‚΄ 생각을 해석 ν•  수 μžˆμŠ΅λ‹ˆκΉŒ?

더 이상 λ‚΄ 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.

μ—…λ°μ΄νŠΈ : FIX

여기에 λͺ…μ‹œλœλŒ€λ‘œ : https://github.com/docker/docker/issues/11534#issuecomment -89405874

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

λ‚˜μ—κ²Œ λ‹€λ₯Έ 였λ₯˜κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€ (ν•œ λ²ˆμ— ν•œ 단계 μ”© :)

λ‚˜λŠ” 이것이 전뢀라고 μƒκ°ν•˜κ³  λ‚˜λ¨Έμ§€λŠ” λ‚΄ 가상 μƒμžμž…λ‹ˆλ‹€.

λ‚˜λŠ” 저녁을 λ¨Ήκ³  5 μ‹œκ°„ 후에 λ‚΄ μΈμ¦μ„œκ°€ μœ νš¨ν•˜κ³  λͺ¨λ“  것이 μ œλŒ€λ‘œ μž‘λ™ ν•  것이라고 μ˜μ‹¬λ˜λ©΄ λ‹€μ‹œ 확인할 κ²ƒμž…λ‹ˆλ‹€. :λ―Έμ†Œ:

λ‚˜μœ μ†Œμ‹μ€ VM을 λ‹€μ‹œ μ‹œμž‘ν•  λ•Œλ§ˆλ‹€μ΄ μž‘μ—…μ„ μˆ˜ν–‰ν•΄μ•Όν•©λ‹ˆλ‹€.

: λ―Έμ†Œ : κ·Όλ³Έ 원인을 λ§žμ€ 것 κ°™μ•„μš”! 감사!

: λ°•μˆ˜ :: λ°•μˆ˜ :: λ°•μˆ˜ :: λ°•μˆ˜ :: λ°•μˆ˜ :: λ°•μˆ˜ :: λ°•μˆ˜ :

@carolynvs λ‚΄κ°€ κ²Œμ‹œ ν•œ μˆ˜μ •μ΄ 당신을 μœ„ν•΄ μž‘λ™ ν–ˆμŠ΅λ‹ˆκΉŒ?

μΈμ¦μ„œκ°€ 유효 ν•  λ•ŒκΉŒμ§€ 5 μ‹œκ°„μ„ κΈ°λ‹€λ¦° ν›„ docker-machine envκ°€ μž‘λ™ν•˜λŠ”μ§€ ν™•μΈν•˜κ³  μ‹Άμ—ˆμŠ΅λ‹ˆλ‹€. 미래의 μΈμ¦μ„œλ₯Όλ°›λŠ” μ΄μœ λŠ” μ•Œ 수 μ—†μ§€λ§Œ 이제 μš°λ¦¬κ°€ μ•Œκ³ μžˆλŠ” μ‹€μ œ κ·Όλ³Έ 원인을 λ°˜μ˜ν•˜λ„λ‘ 문제λ₯Ό μ—…λ°μ΄νŠΈν•΄μ•Ό ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

제 κ²½μš°μ—λŠ” μΈμ¦μ„œκ°€ λ¬Έμ œκ°€ μ•„λ‹ˆμ—ˆμ§€λ§Œ boot2docker의 μ‹œκ°„ 섀정이 ... github ν”„λ‘œν•„μ—μ„œ λ³Ό 수 μžˆλ“―μ΄ μ‹œμΉ΄κ³  μΆœμ‹ μž…λ‹ˆλ‹€. 보고타와 λΉ„μŠ·ν•œ μ‹œκ°„λŒ€μž…λ‹ˆλ‹€. boot2dockerκ°€ μ‹œκ°„λŒ€μ— 잘λͺ» μ„€μ •λ˜μ—ˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€. ...

ν•΄κ²° 방법을 μ‚¬μš©ν•˜μ—¬ μ‹œκ°„μ„ 동기화 ν•œ 후에도 ν•΄λ‹Ή μΈμ¦μ„œλ₯Ό μ‚¬μš©ν•˜μ—¬ λ‚΄ 도컀 ν˜ΈμŠ€νŠΈμ— μ—°κ²°ν•  λ•Œ λ™μΌν•œ 였λ₯˜ (μΈμ¦μ„œκ°€ λ§Œλ£Œλ˜μ—ˆκ±°λ‚˜ 아직 μœ νš¨ν•˜μ§€ μ•ŠμŒ)κ°€ 계속 ν‘œμ‹œλ©λ‹ˆλ‹€.

λ‚΄ 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 이 λ‚΄ κ²½μš°μ— μ˜¬λ°”λ₯Έ λ‚ μ§œλ₯Ό ν‘œμ‹œν•˜λ―€λ‘œ λ‚΄ κ²½μš°μ— ν•΄κ²° 방법이 μˆ˜μ • 된 λ‚ μ§œλΌκ³  κ°€μ •ν•˜λ―€λ‘œ λ¬Έμ œκ°€ λ°œμƒν•©λ‹ˆλ‹€.

cc @tianon @SvenDowideit PTAL at the above RE : boot2docker time / date issues ^^

λ‚΄κ°€ 찾은 일뢀 μ½”λ“œκ°€ νƒ€μž„ μŠ€νƒ¬ν”„ 문제의 원인 일 수 μžˆμŠ΅λ‹ˆλ‹€.

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.

이것을 μ‹€ν–‰ν•˜κΈ° 전에 Machine 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μ—μ„œ λ§Œλ“€ λ•Œ). μ΄μƒν•œ 점은 'consul'λ¨Έμ‹ μ—λŠ” λ¬Έμ œκ°€ μ—†μ§€λ§Œ λ–Ό (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

azure λ“œλΌμ΄λ²„μ™€ λ™μΌν•œ λ¬Έμ œμž…λ‹ˆλ‹€. μƒˆ Azure 컴퓨터λ₯Ό λ§Œλ“€ λ•Œλ§ˆλ‹€ 였λ₯˜μ™€ ν•¨κ»˜ μ‹€νŒ¨ν•©λ‹ˆλ‹€.

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으둜 이것을 ν…ŒμŠ€νŠΈν–ˆμŠ΅λ‹ˆλ‹€.

0.6.0μ—μ„œ Mac 10.10.5μ—μ„œ aws λ“œλΌμ΄λ²„ (계속)λ₯Ό μ‚¬μš©ν•˜λ©΄ λ™μΌν•©λ‹ˆλ‹€. 가상 λ°•μŠ€ λ“œλΌμ΄λ²„μ—μ„œλŠ” λ°œμƒν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

docker-machine 0.6.0을 μ‚¬μš©ν•˜μ—¬ --engine-opt="cluster-advertise=eth1:2376" λ₯Ό --engine-opt="cluster-advertise=eth0:2376" λ³€κ²½ ν•œ ν›„ μˆ˜μ •λ˜μ—ˆμŠ΅λ‹ˆλ‹€ (docker-machine 0.5.4λŠ” μ—¬μ „νžˆ μ‹€νŒ¨ 함).

λ‚˜λŠ” λ‚΄ μ»΄ν“¨ν„°μ—μ„œ 같은 λ¬Έμ œμ™€ μ‹Έμš°κ³  μžˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. μš°λΆ„νˆ¬ 14.04λ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.
docker-machine 버전 0.5.5, λΉŒλ“œ 02c4254
RHEL 7.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)에 연결됨
  • μΈμ¦μ„œ 확인 μœ„μΉ˜λ₯Ό μ„±κ³΅μ μœΌλ‘œ μ„€μ •ν–ˆμŠ΅λ‹ˆλ‹€.
  • CA 파일 : /home/eraigosa/.docker/machine/certs/ca.pem
    CA 경둜 : / etc / ssl / certs
  • SSLv3, TLS ν•Έλ“œ 셰이크, ν΄λΌμ΄μ–ΈνŠΈ μ•ˆλ…•ν•˜μ„Έμš” (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 λ³€κ²½ μ•”ν˜Έ, ν΄λΌμ΄μ–ΈνŠΈ μ•ˆλ…•ν•˜μ„Έμš” (1) :
  • SSLv3, TLS ν•Έλ“œ 셰이크, μ™„λ£Œ 됨 (20) :
  • SSLv3, TLS κ²½κ³ , μ„œλ²„ μ•ˆλ…•ν•˜μ„Έμš” (2) :
  • error : 14094412 : SSL 루틴 : SSL3_READ_BYTES : sslv3 κ²½κ³  잘λͺ»λœ μΈμ¦μ„œ
  • μ—°κ²° λ‹«κΈ° 0
    curl : (35) error : 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 μ’…λ£Œ μ½”λ“œλ₯Ό λ°˜ν™˜ν•˜λŠ” κ²½μš°μ—λ§Œ μ‹œμž‘λ©λ‹ˆλ‹€. 즉, Parallels VM에 μžˆμŒμ„ μ˜λ―Έν•©λ‹ˆλ‹€.

Virtualbox VMμ—μ„œμ΄ 문제λ₯Ό μž¬ν˜„ ν–ˆμŠ΅λ‹ˆκΉŒ? μ–΄λ–€ Boot2Docker 버전을 μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆκΉŒ?

μΆ”μ‹  λ˜ν•œ prltoolsd κ°€ μœ μΌν•œ 이유라고 κ°€μ •ν•˜λ©΄ Docker Machine 버전이 μ˜λ―Έκ°€ μ—†μ–΄μ•Όν•©λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μœ„μ˜ λ‹€λ₯Έ 의견 ( link )은 λ¬Έμ œκ°€ Machine 0.5.5+μ—μ„œλ§Œ λ‚˜νƒ€λ‚©λ‹ˆλ‹€.

@ legal90 더 말이 λ˜λ„€μš”. λ‚΄ ν™˜κ²½μ€ μ•½κ°„ λΆˆμ•ˆμ •ν•˜μ§€λ§Œ 잘 μž‘λ™ν–ˆμŠ΅λ‹ˆλ‹€.

  1. Parallelsλ₯Ό μ‹€ν–‰ν•˜λŠ” Mac을 μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.
  2. Parallels λ‚΄μ—μ„œ Windowsλ₯Ό μ‹€ν–‰ ν•œ λ‹€μŒ μ΅œμ‹  Docker 도ꡬ μƒμž μ„€μΉ˜λ₯Ό μ‹€ν–‰ν•©λ‹ˆλ‹€. Docker에 λŒ€ν•œ μ„€λͺ…μ„œμ™€ μžμŠ΅μ„œλ₯Ό μž‘μ„±ν•˜κ³  Mac, Linux 및 Windows μ‚¬μš©μžλ₯Ό λŒ€μƒμœΌλ‘œν•΄μ•Όν•˜κΈ° λ•Œλ¬Έμ— μ΄λ ‡κ²Œν•©λ‹ˆλ‹€.

이것은 prltoolsd λ‚΄ 도컀 호슀트 μ‹œκ³„λ₯Ό κ΄€λ¦¬ν•˜λ €κ³ ν•˜λŠ” 이유λ₯Ό μ„€λͺ…ν•©λ‹ˆλ‹€. Parallels 내뢀에 쀑첩 될 λ•Œ μ„ νƒλ˜μ–΄μ•Όν•©λ‹ˆλ‹€. 그것은 λ˜ν•œ μ‹œμŠ€ν…œ μ‹œκ³„κ°€ ν˜„μ§€ μ‹œκ°„μœΌλ‘œ μ„€μ •λ˜μ—ˆμ§€λ§Œ UTC라고 μƒκ°ν•˜λŠ” 이유λ₯Ό μ„€λͺ…ν•©λ‹ˆκΉŒ?

이것이 μ œκ°€μ΄ 버그λ₯Ό μ—΄κ²Œ λ§Œλ“  κ·Όλ³Έ λ¬Έμ œμž…λ‹ˆλ‹€. μ˜€μ „ 10μ‹œ CST (-6)에 μƒˆ 도컀 머신을 λ§Œλ“­λ‹ˆλ‹€. μƒˆ μ»΄ν“¨ν„°μ˜ μ‹œμŠ€ν…œ μ‹œκ³„ ( date )λŠ” μ˜€μ „ 10μ‹œ UTC둜 κ°„μ£Όν•˜λ―€λ‘œ μΈμ¦μ„œμ˜ νƒ€μž„ μŠ€νƒ¬ν”„λŠ” "미래"μž…λ‹ˆλ‹€. hwclock λŠ” μ •ν™•ν•œ μ‹œκ°„μ„λ³΄κ³ ν•©λ‹ˆλ‹€.

boot2docker Dockerfile을 μ‚΄νŽ΄λ³΄λ©΄ /etc/timezone λ₯Ό UTC둜 μ„€μ •ν•˜κ³  _should_도 /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

ν•˜μ§€λ§Œ λ‚΄ 도컀 λ¨Έμ‹  ν˜ΈμŠ€νŠΈμ—λŠ” tzdata νŒ¨ν‚€μ§€κ°€ μ„€μΉ˜λ˜μ–΄ μžˆμ§€ μ•ŠμœΌλ―€λ‘œ /usr/share/zoneinfo 이 μ‘΄μž¬ν•˜μ§€ μ•ŠμœΌλ©° /etc/localtime . 이전 ISOλ₯Ό μ‚¬μš©ν•˜κ³  μžˆμ§€ μ•Šμ€μ§€ ν™•μΈν•˜κΈ° μœ„ν•΄ μ΅œμ‹  Dockerfileμ—μ„œ 자체 boot2dockerλ₯Ό λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€. /etc/localtime 파일이 λˆ„λ½λ˜μ–΄ 잘λͺ»λœ μ‹œκ°„ λ¬Έμ œκ°€ λ°œμƒν•˜λŠ”μ§€ κΆκΈˆν•©λ‹ˆλ‹€.

@carolynvs μ•„, 이제 μ•Œμ•˜μŠ΅λ‹ˆλ‹€.

이것은 prltoolsdκ°€ λ‚΄ 도컀 호슀트 μ‹œκ³„λ₯Ό κ΄€λ¦¬ν•˜λ €λŠ” 이유λ₯Ό μ„€λͺ…ν•©λ‹ˆλ‹€. Parallels 내뢀에 쀑첩 될 λ•Œ μ„ νƒλ˜μ–΄μ•Όν•©λ‹ˆλ‹€.

λ„€, 그것이 문제의 κ·Όμ›μž…λ‹ˆλ‹€. prltoolsd 은 Parallels VM에 쀑첩 된 Virtualbox VMμ—μ„œ μ‹€ν–‰λ©λ‹ˆλ‹€. λ‚˜λŠ” 이것을 μž¬ν˜„ν•˜μ—¬ Parallels의 μ±…μž„μžμ—κ²Œλ³΄κ³ ν–ˆμŠ΅λ‹ˆλ‹€. λ¬Έμ œκ°€ ν•΄κ²°λ˜λŠ”λŒ€λ‘œ μ•Œλ € λ“œλ¦¬κ² μŠ΅λ‹ˆλ‹€.

그것은 λ˜ν•œ μ‹œμŠ€ν…œ μ‹œκ³„κ°€ ν˜„μ§€ μ‹œκ°„μœΌλ‘œ μ„€μ •λ˜μ—ˆμ§€λ§Œ UTC라고 μƒκ°ν•˜λŠ” 이유λ₯Ό μ„€λͺ…ν•©λ‹ˆκΉŒ?

μ»€λ°‹ν•˜κΈ°λŠ” μ–΄λ ΅μ§€λ§Œ Parallels Desktop (및 게슀트 도ꡬ)의 μ•Œλ €μ§„ λ¬Έμ œμž…λ‹ˆλ‹€. μ›λž˜ μ—¬κΈ°μ—λ³΄κ³ λ˜μ—ˆμŠ΅λ‹ˆλ‹€ : https://github.com/Parallels/vagrant-parallels/issues/186.
PD 11μ—μ„œ prlctl μœ ν‹Έλ¦¬ν‹°μ— λŒ€ν•œ μΆ”κ°€ μ˜΅μ…˜μœΌλ‘œ ν•΄κ²°λ˜μ—ˆμ§€λ§Œ μ‹€μ œλ‘œ Windowsμ—μ„œ Virtualbox VM을 μ‹€ν–‰ν•˜κ³  있기 λ•Œλ¬Έμ— λ“œλ¬Έ κ²½μš°μ—λŠ” λ„μ›€μ΄λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

μ£„μ†‘ν•©λ‹ˆλ‹€. ν˜„μž¬ μ œκ°€ μ œμ•ˆ ν•  μˆ˜μžˆλŠ” μœ μΌν•œ 해결책은 λΆ€νŒ…μ‹œ VMμ—μ„œ prltoolsd κ°€ μ‹€ν–‰λ˜μ§€ μ•Šλ„λ‘ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. μ‚¬μš©μž 지정 Boot2Docker ISO λΉŒλ“œλ₯Ό μ‚¬μš©ν•˜λŠ” 경우 Dockerfileμ—μ„œ 병렬 κ΄€λ ¨ 쀄 을 μ œκ±°ν•˜κ³  ISOλ₯Ό λ‹€μ‹œ λΉŒλ“œ ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ˜λŠ” λ‹€μŒ 쀄을 주석 처리 ν•˜μ‹­μ‹œμ˜€ :

prltoolsd의 μž‘λ™ 방식에 λŒ€ν•œ μΆ”κ°€ 정보에 κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€! μ œμ•ˆν•œλŒ€λ‘œ μˆ˜ν–‰ν•˜κ³  λ‚΄ μ„€μ •μ„μœ„ν•œ μ‚¬μš©μž 지정 ISOλ₯Ό λ§Œλ“­λ‹ˆλ‹€. :λ§₯μ£Ό:

이 문제λ₯Ό ν•΄κ²°ν•˜κΈ° λ•Œλ¬Έμ—μ΄ 문제λ₯Ό μ’…λ£Œ ν•  κ²ƒμž…λ‹ˆλ‹€.ν•˜μ§€λ§Œ λ‹€λ₯Έ μ‚¬λžŒλ“€μ΄ 문제λ₯Ό ν•΄κ²°ν•˜λŠ” 것 κ°™κΈ° λ•Œλ¬Έμ— (μ•„λ§ˆ λ‹€λ₯Έ 이유 λ•Œλ¬ΈμΌ 수 μžˆμŠ΅λ‹ˆλ‹€!)

λ‚˜λŠ” μš°λ¦¬κ°€ 그것을 효과적으둜 ν•΄κ²°ν•  수 μžˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. μƒˆλ‘œμš΄ λ¬Έμ œκ°€ 발견되면 λ‹€μ‹œ μ—΄ 수 μžˆμŠ΅λ‹ˆλ‹€.

이 κΈ΄ 문제λ₯Όλ³΄κ³ ν•˜κ³  λΆ„λ₯˜ν•˜λŠ” 데 κΈ°μ—¬ν•΄ μ£Όμ‹  λͺ¨λ“  λΆ„λ“€κ»˜ κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€!

Windowsμ—μ„œ DockerToolbox 1.10.3을 μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. λ‹€μ‹œ μ‹œμž‘ν•  λ•ŒκΉŒμ§€ 잘 μž‘λ™ν–ˆμœΌλ©° 이제 λ™μΌν•œ λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” λ˜ν•œ Docker에 μ΅μˆ™ν•˜μ§€ μ•ŠμœΌλ―€λ‘œ λˆ„κ΅°κ°€κ°€ μˆ˜μ • 사항이 무엇인지 말해 쀄 수 μžˆμŠ΅λ‹ˆκΉŒ?

@mtrtm docker-machine regenerate-certs -f κ°€ μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆκΉŒ?

예, docker-machine regenerate-certs -f μ•ŠμŠ΅λ‹ˆλ‹€. Docker Quickstart Terminal을 μ‹œμž‘ν•  λ•Œλ§ˆλ‹€ μˆ˜ν–‰ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

+1
μ €λŠ” 주둜 Redhat μ„œλ²„μ—μ„œ 도컀λ₯Ό μ‚¬μš©ν•˜κ³  있으며 λͺ¨λ“  것이 잘 μž‘λ™ν•©λ‹ˆλ‹€. λ‚˜λŠ” μ „λ¬Έκ°€λŠ” μ•„λ‹ˆμ§€λ§Œ λ‚΄κ°€ λ­˜ν•˜λŠ”μ§€ μ•ˆλ‹€. κ·ΈλŸ¬λ‚˜ virtualboxκ°€μžˆλŠ” Windowsμ—μ„œλŠ” docker VM이 λ‹€μ‹œ μ‹œμž‘λ  λ•Œλ§ˆλ‹€ μΈμ¦μ„œλ₯Ό λ‹€μ‹œ μƒμ„±ν•΄μ•Όν•©λ‹ˆλ‹€. 도ꡬ μƒμž 1.11.1에 μžˆμŠ΅λ‹ˆλ‹€.

+1

λ§₯뢁 2009 λ…„ 말
2,26GHz Intel Core 2 Duo
Mac OS Sierra 10.12
Docker Tollbox 1.2.1
VirtualBox 5.0.26

$ docker-machine ls
이름 ν™œμ„± μš΄μ „μž μƒνƒœ URL SWARM DOCKER 였λ₯˜
vbox-test-virtualbox Running tcp : //192.168.99.100 : 2376 Unknown Docker 버전을 쿼리 ν•  수 β€‹β€‹μ—†μŒ : Get 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 λ“±κΈ‰