Compose: рдПрд╕рдПрд╕рдПрд▓ рддреНрд░реБрдЯрд┐: [рдПрд╕рдПрд╕рдПрд▓: CERTIFICATE_VERIFY_FAILED] рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕рддреНрдпрд╛рдкрди рд╡рд┐рдлрд▓

рдХреЛ рдирд┐рд░реНрдорд┐рдд 27 рдЬрдире░ 2015  ┬╖  182рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: docker/compose

рджреЛрдиреЛрдВ рдорд╢реАрдиреЛрдВ рдкрд░ рдпрд╣ рддреНрд░реБрдЯрд┐ рд▓рдЧрднрдЧ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬ рдХреЗ рд╕рд╛рде рдорд┐рд▓реА рдФрд░ рд░реЛрд▓рдмреИрдХ рдХреЗ рдмрд╛рдж рдЕрдВрдЬреАрд░ рдХреЗ рд╕рд╛рдеред рдХреБрдЫ рдЦреЛрдЬ рдкрд░рд┐рдгрд╛рдо рдЕрдЬрдЧрд░ / рдЦреБрд▓рдиреЗ рдХреЗ рдореБрджреНрджреЗ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣ рдирд╣реАрдВ рд╕рдордЭ рд╕рдХрддрд╛ рдХрд┐ рдХрд╣рд╛рдВ рдЦреЛрджрдирд╛ рд╣реИред рдкрд╛рдпрдереЙрди / рдУрдкреНрд╕рд┐рд▓ рд╣реЛрдордмреНрд░реЗ рд╕реЗ рдЖрддрд╛ рд╣реИред

Boot2Docker-cli рд╕рдВрд╕реНрдХрд░рдг: v1.4.1
Git рдкреНрд░рддрд┐рдмрджреНрдз: 43241cb

рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рдВрд╕реНрдХрд░рдг: 1.4.1
рдХреНрд▓рд╛рдЗрдВрдЯ API рд╕рдВрд╕реНрдХрд░рдг: 1.16
рдЬрд╛рдУ рд╕рдВрд╕реНрдХрд░рдг (рдЧреНрд░рд╛рд╣рдХ): go1.4
Git рдХрдорд┐рдЯ (рдЧреНрд░рд╛рд╣рдХ): 5bc2ff8
OS / Arch (рдХреНрд▓рд╛рдЗрдВрдЯ): darwin / amd64
рд╕рд░реНрд╡рд░ рд╕рдВрд╕реНрдХрд░рдг: 1.4.1
рд╕рд░реНрд╡рд░ API рд╕рдВрд╕реНрдХрд░рдг: 1.16
рдЧреЛ рд╕рдВрд╕реНрдХрд░рдг (рд╕рд░реНрд╡рд░): go1.3.3
Git рдХрдорд┐рдЯ (рд╕рд░реНрд╡рд░): 5bc2ff8

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореИрдВ рд╢рд╛рдпрдж рдкрд╣рд▓реЗ рд╡рд╛рд▓рд╛ рдирд╣реАрдВ рд╣реВрдВ, рдЬреЛ рдЗрд╕реЗ рдКрдкрд░ рд▓реЗ рдЖрдпрд╛ рд╣реЛ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдпрд╣ рд╕рд╣рдЬ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХрд░реНрд▓ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХрд╛ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рд╣реИ рдЬреЛ рдХрднреА рднреА рдПрдХ рдЕрд╕рдВрдмрдВрдзрд┐рдд рдкрд╛рдпрдерди рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкрд░ рд╣реЛрддрд╛ рд╣реИ?

рдзрдиреНрдпрд╡рд╛рдж,
рдЬреЗрд╕рди рдорд┐рд▓реНрд╕

  • рдореЛрдмрд╛рдЗрд▓ рд╕реЗ рднреЗрдЬрд╛ рдЧрдпрд╛ред

7 рдордИ, 2016 рдХреЛ 3:22 рдмрдЬреЗ, рд▓реЛрд░реЗрдВрдЬреЛ рд╕рд┐рд╕рд┐рд▓рд┐рдпрд╛ рд╕реВрдЪрдирд╛рдПрдВ @github.com рдиреЗ рд▓рд┐рдЦрд╛:

CURL_CA_BUNDLE рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
CURL_CA_BUNDLE = ~ / .docker / рдорд╢реАрди / рдорд╢реАрдиреЗрдВ / рдбрд┐рдлрд╝реЙрд▓реНрдЯ / ca.pem docker- рд░рдЪрдирд╛ ps

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ

рд╕рднреА 182 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ docker-compose рд░рд┐рд▓реАрдЬрд╝ рдЙрдореНрдореАрджрд╡рд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ ...

$ docker-compose ps
SSL error: hostname '192.168.59.103' doesn't match 'boot2docker'

рд▓реЗрдХрд┐рди fig рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ ...

$ fig -f docker-compose.yml ps
Name   Command   State   Ports
------------------------------

рдореИрдВ OSX рдкрд░ рд╣реВрдБ, рдореЗрд░реЗ рдЧреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЫреЛрдбрд╝рдХрд░ #gkostyanikov рдХреЗ рд╕рдорд╛рди рд╕рднреА рд╕рдВрд╕реНрдХрд░рдг рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ, go1.3.3 ред рдореЗрд░рд╛ рдЕрдЬрдЧрд░ / рдЦреБрд▓рддрд╛ рднреА Homebrew рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рд╕рд╛рде рдХреБрдЫ рдХрд░рдирд╛ рдкрдбрд╝ рд╕рдХрддрд╛ рд╣реИ?

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣реЛрдордмреНрд░реЗрд╡ рдУрдкрдирд╕рд┐рдПрд▓ рдХреЛ рд▓рд┐рдВрдХ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдУрдПрд╕рдПрдХреНрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ: OpenSSL 0.9.8za 5 Jun 2014 ред

рдореБрджреНрджрд╛ рдерд╛ Homebrew pythonред

docker-compose рдЕрдм homebrew python / opensl рдХреЛ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, pip easy_install рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╕рд┐рд╕реНрдЯрдо pyon рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ docker-composer рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред

@adambiggs рдЖрдкрдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ! рдзрдиреНрдпрд╡рд╛рдж!

рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рдореИрдВ рдПрдХ рдирдП рдореИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рд╣реЛрдордмреНрд░реЗ рд╡рд┐рде рдЕрдЬрдЧрд░ рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдбреЙрдХ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдпрд╣ рддреНрд░реБрдЯрд┐ рдереАред @Adambiggs рд╕рд▓рд╛рд╣ рдХрд╛ рдкрд╛рд▓рди рдХрд┐рдпрд╛ рдФрд░ рдореЗрд░реЗ рдмреНрд▓реЙрдХрд░ рдХреЛ рдкрд╛рд╕реНрдЯ рдХрд┐рдпрд╛, рдпрд╣ рдПрдХ рдЕрдЬрдЧрд░ рд╕рдВрд╕реНрдХрд░рдг рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЪрд╛рд╣реЗ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реЛ рдХрд┐ рдпрд╣ рдорд╢реАрди рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдо рдкрд╛рдпрдерди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реА рд╣реЛрдЧреАред

рдореБрдЭ рдкрд░ рднреА рдпрд╣реА рд╣реЛ рд░рд╣рд╛ рд╣реИред рдФрд░ рдореИрдВ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЕрдЬрдЧрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛, рдХрд┐рд╕реА рдХреЛ рднреА рдПрдХ рдФрд░ рд╕рдорд╛рдзрд╛рди рд╣реИ?

рдХреНрдпрд╛ рдЖрдкрдиреЗ рдмрд╛рдЗрдирд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ? рдХреНрдпрд╛ рдЖрдкрдХреЛ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ?

рдирд╣реАрдВ, рдореИрдВрдиреЗ рдмрд╛рдЗрдирд░реА рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИред
рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдЕрдЬрдЧрд░ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рдФрд░ рд╕рдорд╛рдзрд╛рди рд╡рд░реНрдЪреБрдЕрди (рдЖрд╡рд░рдг) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред

mkvirtualenv --python=/usr/bin/python docker-compose
pip install docker-compose==1.1.0-rc2

рдкрд╛рдпрдерди 2.7.8 рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП pyenv рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдмреЗрд╣рддрд░ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛:

http://stackoverflow.com/a/28216459/1166293
https://github.com/yyuu/pyenv

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ, pyenv рдиреЗ рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдкреЗрд╢ рдХрд┐рдпрд╛ ...

рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рдерд╛ рдХрд┐ рд╣реЛрдо-рдмреНрд░реВрд╡ рдУрдкрдирд╕реЗрд▓ рдХреЛ / usr / рд▓реЛрдХрд▓ / рдмрд┐рди / рдУрдкрдирд╕реАрдПрд▓ рд╕реЗ рд▓рд┐рдВрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

openssl version

рд▓реМрдЯреЗ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ 0.9.8zc 15 рдЕрдХреНрдЯреВрдмрд░ 2014 рдирд╣реАрдВ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ 1.0.1j 15 рдЕрдХреНрдЯреВрдмрд░ 2014

рджреМрдбрд╝рдирд╛

brew link --force openssl

рдФрд░ рдЕрдВрдЬреАрд░ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИред

рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореЗрд░рд╛ OpenSSL рд╕рдВрд╕реНрдХрд░рдг OpenSSL 1.0.1j 15 рдЕрдХреНрдЯреВрдмрд░ 2014 рд╣реИ

@ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдмрд╛рдЗрдирд░реА рдореЗрдВ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред

рдореБрдЭреЗ рдпрд╣ рддреНрд░реБрдЯрд┐ рддрдм рдорд┐рд▓реА рдЬрдм рдореИрдВрдиреЗ рдкрд╛рдЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдерд╛, рди рдХрд┐ рд╣реЛрдордмреНрд░реЗред sudo pip uninstall fig рдФрд░ brew install fig рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕реЗ рддрдп рдХрд┐рдпрд╛ред

+1 @NotbusTheBuilder рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП, рдореЗрд░реЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдХрд┐рдпрд╛

: +1: @NotbusTheBuilder рдХреЗ рд▓рд┐рдП

@NotbusTheBuilder рдЕрдВрдЬреАрд░ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди, рд▓реЗрдХрд┐рди

@ocasta OpenSSL рдХреЛ рд▓рд┐рдВрдХ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реЛрдордмреНрд░реЗ рд╕реЗ рдЗрд╕ рдбрд░рд╛рд╡рдиреА рдЖрд╡рд╛рдЬрд╝ рдХреА рдЪреЗрддрд╛рд╡рдиреА рдХреНрдпрд╛ рд╣реИ?

рдпрд╣ рд╕реВрддреНрд░ рдХреЗрд╡рд▓ рдХреЗрдЧ рд╣реИред
рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдпрд╣ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдФрд░ рджреВрд╕рд░реЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ
рд╕рдорд╛рдирд╛рдВрддрд░ рд╕рднреА рдкреНрд░рдХрд╛рд░ рдХреА рдкрд░реЗрд╢рд╛рдиреА рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИред

Apple рдиреЗ рдЕрдкрдиреЗ рдЦреБрдж рдХреЗ рдЯреАрдПрд▓рдПрд╕ рдФрд░ рдХреНрд░рд┐рдкреНрдЯреЛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рд╣реИ

рдЕрдВрдЧреВрдареЗ @NotbusTheBuilder - рдХрд┐ рдпрд╣ рдореЗрд░реЗ рд╕рд╛рде рднреА рддрдп рдХреАред

рдХрд┐рд╕реА рдХреЛ рднреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕реНрд░реЛрдд рдкрддрд╛ рд╣реИ? рдпрд╣ рдореБрдЭреЗ рдЕрдВрдЬреАрд░ рдХреЗ рд╕рд╛рде рд╣реЛ рд░рд╣рд╛ рд╣реИред рдореИрдВ рдЕрдм рдореЗрд░реЗ рдкрд╛рд╕ pip install fig рд░рд╣рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВред рдпрд╣ рд╕рдм рдХреБрдЫ рд╣рдлреНрддреЗ рдкрд╣рд▓реЗ рдареАрдХ рдерд╛, рдкрддрд╛ рдирд╣реАрдВ рдХреНрдпрд╛ рдореЗрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ

рдореЗрд░рд╛ рд╕рд┐рд╕реНрдЯрдо рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ OpenSSL 0.9.8zc 15 Oct 2014 , рдореЗрд░рд╛ рд╣реЛрдордмреНрд░реЗрд╡ рдУрдкрдирд╕реЗрд▓ рдирдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд▓рд┐рдВрдХ рдирд╣реАрдВ рд╣реИред

... рдореИрдВ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЬрдм рдореИрдВрдиреЗ рдЕрдЬрдЧрд░ 2.7.9 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рддреЛ рдпрд╣ рдЯреВрдЯ рдЧрдпрд╛ рдерд╛, рдЗрд╕рдХреЗ рд╕рд╛рде рдХреБрдЫ рдПрд╕рдПрд╕рдПрд▓ рд╕рдВрдмрдВрдзрд┐рдд рдХреАрдбрд╝реЗ рд▓рдЧрддреЗ рд╣реИрдВ ... рдмрд╣реБрдд рдХреБрдЫ рджрд┐рдЦрддрд╛ рд╣реИ:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=196431
http://bugs.python.org/issue23052

brew link --force openssl рдЪрд▓рд╛рдирд╛ рдФрд░ рдЕрдВрдЬреАрд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдХреБрдЫ рдирд╣реАрдВ рдХрд░ рдкрд╛рдпрд╛ред

рдХреНрдпрд╛ рдЕрдВрдЬреАрд░ рдХреЛ Py 2.7.9 рдореЗрдВ SSL рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?
https://www.python.org/dev/peps/pep-0476/#opting -out

рдореИрдВ boot2docker рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВрдиреЗ рд╕рд┐рд░реНрдл 1.5.0 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рд▓реЗрдХрд┐рди рдХреЛрдИ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рд╣реБрдЖред

In [1]: from fig.cli.docker_client import docker_client

In [2]: client = docker_client()

In [3]: client.version()

SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)

In [4]: %debug
> /Users/anentropic/.virtualenvs/dpm/lib/python2.7/site-packages/requests/sessions.py(461)request()
    460         send_kwargs.update(settings)
--> 461         resp = self.send(prep, **send_kwargs)
    462

ipdb> p settings
{'verify': '/Users/anentropic/.boot2docker/certs/boot2docker-vm/ca.pem', 'cert': ('/Users/anentropic/.boot2docker/certs/boot2docker-vm/cert.pem', '/Users/anentropic/.boot2docker/certs/boot2docker-vm/key.pem'), 'proxies': {}, 'stream': False}

рдЕрдВрдЬреАрд░ рдХреЛрдб рд╕рд╣реА рд▓рдЧ рд░рд╣рд╛ рд╣реИ, рдпрд╣ boot2docker рджреНрд╡рд╛рд░рд╛ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рд╕реАрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реИ ... рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпреЗ рд╕реАрдЯреНрд╕ рдареАрдХ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╣рдореЗрд╢рд╛ рдХрд╛рдо рдХрд░рддреЗ рдереЗ рдФрд░ рдореИрдВрдиреЗ рдЕрднреА-рдЕрднреА рдмреА 2 рдбреА рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╣рдореНрдо, рдореЗрд░рд╛ рдкрд╛рдпрдерди (рд╣реЛрдордмреНрд░реЗ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд) рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдХреЗ рд╣реЛрдордмреНрд░реЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ:

$ python -c 'import ssl; print(ssl.OPENSSL_VERSION)'
OpenSSL 1.0.2 22 Jan 2015
$ brew info openssl
openssl: stable 1.0.2 (bottled)
==> Caveats
A CA file has been bootstrapped using certificates from the system
keychain. To add additional certificates, place .pem files in
  /usr/local/etc/openssl/certs

and run
  /usr/local/opt/openssl/bin/c_rehash

... /usr/local/opt/openssl/bin/c_rehash рдЪрд▓рдиреЗ рд╕реЗ рдорджрдж рдирд╣реАрдВ рдорд┐рд▓реА :)

рдореИрдВрдиреЗ рдЙрд╕реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рд╛рде $ brew switch python 2.7.8_2 рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдЬрдЧрд░ (2.7.8_2) рдХреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рдХреА рдХреЛрд╢рд┐рд╢ рдХреА (рднрд▓реЗ рд╣реА рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рдерд╛)ред рддреЛ рдЕрдЬрдЧрд░ 2.7.9 рд╕рдВрд╕реНрдХрд░рдг рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд▓рдЧрддреА рд╣реИред

рдлрд┐рд░ рдореИрдВрдиреЗ рдПрдХ рдкреБрд░рд╛рдиреЗ рдУрдкрдирд╕реНрд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдЬреЛ 1.0.2 рд╕реЗ 1.0.1j_1 рддрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

$ python -c 'import ssl; print(ssl.OPENSSL_VERSION)'
OpenSSL 1.0.2 22 Jan 2015
$ docker-compose ps
SSL error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)
$ brew switch openssl 1.0.1j_1
$ python -c 'import ssl; print(ssl.OPENSSL_VERSION)'
OpenSSL 1.0.1j 15 Oct 2014
$ docker-compose ps
Name   Command   State   Ports 
------------------------------

рдореЗрд░реЗ рд▓рд┐рдП рдореБрдЭреЗ рдмрд╕ рдПрдХ рдЕрд▓рдЧ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдпрд╣ рд╕рдВрдХреАрд░реНрдг рд╣реИ рдЬреЛ рдЧрд▓рдд рд╣реИ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ:

$ brew switch openssl 1.0.1j_1
Error: openssl does not have a version "1.0.1j_1" in the Cellar.
Versions available: 1.0.1e, 1.0.1f, 1.0.1g, 1.0.2
$ brew switch openssl 1.0.1g
Opt link created for /usr/local/Cellar/openssl/1.0.1g
$ fig up
SSL error: hostname '192.168.59.103' doesn't match 'boot2docker'

OpenSSL 1.0.2 рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдиреЗ рд╕реЗ рдкрд┐рдЫрд▓реЗ CERTIFICATE_VERIFY_FAILED рддреНрд░реБрдЯрд┐ рдкреИрджрд╛ рд╣реЛрддреА рд╣реИ рдЗрд╕рд▓рд┐рдП рдмрджрд▓рддреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреБрдЫ рдкреНрд░рднрд╛рд╡ рдкрдбрд╝рддрд╛ рд╣реИ

рдПрдХ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдбреЙрдХрдЯрд░-рдХрдореНрдкреЛрдЬрд╝ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╣реИ:

git clone [email protected]:docker/fig.git
cd fig
docker build --tag docker-compose .

alias docker-compose='docker run --rm -e "DOCKER_TLS_VERIFY=$DOCKER_TLS_VERIFY" -e DOCKER_HOST=tcp://172.17.42.1:2376 -e DOCKER_CERT_PATH=/usr/local/certs -v "$DOCKER_CERT_PATH:/usr/local/certs" -v "$PWD:/code" docker-compose --project-name "${PWD##*/}"'

рдпрд╣ VirtualBox рдореЗрдВ рдкреЛрд░реНрдЯ 2376 рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

VBoxManage controlvm boot2docker-vm natpf1 "docker-s,tcp,127.0.0.1,2376,,2376"

@kretz рдХреЗ рдЬрд╡рд╛рдм рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ред

+1 @kretz рдХрд╛рдврд╝рд╛ рд╕реНрд╡рд┐рдЪ рдЦреБрд▓рддрд╛ рд╣реИ 1.0.1j_1
рдЪрд╛рд▓ рдмрдирд╛ рджреА

рд╢рд░рд╛рдм рдХреА рднрдареНрдареА рдЦреБрд▓рддрд╛ рд╣реИ 1.0.1 рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (_1 рдХреА рдХрдореА рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ)

рдореБрдЭреЗ рдпрд╣ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдкрдиреЗ virtualenv рд╕реЗ рдЕрдВрдЬреАрд░ рдХреЛ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рдФрд░ рдореЗрд░реЗ рд▓рд┐рдП homebrew рдирд┐рд╢реНрдЪрд┐рдд рдЪреАрдЬреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛

рдзрдиреНрдпрд╡рд╛рдж @kretz - рдЖрдкрдХреЗ рдЙрддреНрддрд░ рдиреЗ рдЗрд╕реЗ рдореЗрд░реЗ рд▓рд┐рдП рд╣рд▓ рдХрд░ рджрд┐рдпрд╛!

рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐:

$ brew switch openssl 1.0.1j_1
Error: openssl does not have a version "1.0.1j_1" in the Cellar.
Versions available: 1.0.2

рдореЗрд░рд╛ рдХрд╛рдо рдХреЗрд╡рд▓ 2.7.9 рдХреЗ рдмрдЬрд╛рдп python 2.7.8 рдХреЗ рд╕рд╛рде рдПрдХ virtualenv рдмрдирд╛рдирд╛ рдерд╛, рдЬреЛ рдХрд┐ рдореБрдЭреЗ рдХрд╛рдврд╝рд╛ рдорд┐рд▓рд╛ред

рд╡рд┐рднрд┐рдиреНрди workarounds ... рдХрд┐рд╕реА рдХреЛ рднреА рдЕрд╕рд▓реА рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рд╣реИ?

App Engine рдХреЛ рдХреБрдЫ рднреА рдХрд░рдиреЗ рдХреЛ рдХреНрдпрд╛ рдорд┐рд▓рд╛ рд╣реИ?

11 рдорд╛рд░реНрдЪ 2015 рдХреЛ 18:09 рдкрд░, рд░рдпрд╛рди рд╕реНрдореЙрд▓ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @ithub.com рдиреЗ рд▓рд┐рдЦрд╛:

рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдРрдк рдЗрдВрдЬрди рдХрд╛ рдХреЛрдИ рднреА рд╕рд╛рдорд╛рди рдЕрдЬрдЧрд░ 2.7.9 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/docker/compose/issues/890#issuecomment -78329652

@anentropic рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВ (рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП) рдкреБрд░рд╛рдиреЗ

# Find available older versions to install
$ brew search openssl
openssl
homebrew/versions/openssl098  homebrew/versions/openssl101

# Install older 1.0.1 version
$ brew install homebrew/versions/openssl101

# See what versions are installed locally
$ brew info openssl
...
/usr/local/Cellar/openssl/1.0.1f (429 files,  15M)
  Built from source
/usr/local/Cellar/openssl/1.0.1i (430 files,  15M)
  Poured from bottle
/usr/local/Cellar/openssl/1.0.1j (431 files,  15M)
  Poured from bottle
/usr/local/Cellar/openssl/1.0.1j_1 (431 files,  15M)
  Poured from bottle
/usr/local/Cellar/openssl/1.0.2 (459 files,  18M)
  Poured from bottle
...

# Switch to one of the 1.0.1 you got installed
$ brew switch openssl 1.0.1j_1

рдореИрдВрдиреЗ brew install openssl101 рд▓реЗрдХрд┐рди рдЗрд╕рдиреЗ рдореБрдЭреЗ 1.0.1j рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рджреА ... рдЗрд╕рдиреЗ рдореБрдЭреЗ 1.0.1l рдФрд░ рдореБрдЭреЗ рдЪрд┐рдВрддрд╛ рд╣реБрдИ рдХрд┐ рдпрд╣ рдореЗрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдерд╛ред рд╡реЗ рдХрд╛рдврд╝рд╛ рдкреИрдХреЗрдЬ рдЕрд▓рдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ 1.0.2 рдерд╛

рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдд рдирд╣реАрдВ рд╣реБрдЖ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдореИрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рджреВрд░ рдирд╣реАрдВ рдЧрдпрд╛ рдерд╛

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВрдиреЗ рдЧрд▓рдд рдЧрд┐рддреБрдм рдореБрджреНрджреЗ рдкрд░ рдЬрд╡рд╛рдм рджрд┐рдпрд╛ (рдореЗрд░реА рдЯрд┐рдкреНрдкрдгреА рдХреЛ рд╢реАрдШреНрд░рддрд╛ рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛)
рдмреБрдз рдкрд░, рдорд╛рд░реНрдЪ 11, 2015 рдХреЛ 11:30 рдкреВрд░реНрд╡рд╛рд╣реНрди рдПрдВрдереНрд░реЛрдкрд┐рдХ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдкрд░
рд▓рд┐рдЦрд╛ рдерд╛:

рдореИрдВрдиреЗ рдХрд╛рдврд╝рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдореБрдЭреЗ рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ
рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 1.0.1j ... рдпрд╣ рдореБрдЭреЗ рдПрдХ 1.0.1l рджрд┐рдпрд╛ рдФрд░ рдореБрдЭреЗ рдЪрд┐рдВрддрд╛ рдереА рдХрд┐ рдпрд╣ рдЬрд╛ рд░рд╣рд╛ рд╣реИ
рдореЗрд░реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рднреНрд░рдорд┐рдд рдХрд░реЗрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рдврд╝рд╛ рдкреИрдХреЗрдЬ рд╣реИрдВ рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдерд╛
рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ 1.0.2

рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдд рдирд╣реАрдВ рд╣реБрдЖ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдореИрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рджреВрд░ рдирд╣реАрдВ рдЧрдпрд╛ рдерд╛

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/docker/compose/issues/890#issuecomment -78340580

рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдореИрдХ рдУрдПрд╕рдПрдХреНрд╕ рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИред Docker- рд░рдЪрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣ рдореЗрд░реА .yml рдлрд╝рд╛рдЗрд▓ рд╣реИред

web:
    build: .
    links:
        - db
        - cache
        - worker
    ports:
        - "8080:8080"
db:
    image: mysql
cache:
    image: redis
worker:
    build: .
    command: celery -A application.extentions worker -l info

docker-compose pull рдЪрд▓рдиреЗ рдкрд░ рдореБрдЭреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрдЙрдЯрдкреБрдЯ рдорд┐рд▓рддреЗ рд╣реИрдВ рдЬреЛ рд╡рд┐рдлрд▓ рд░рд╣рд╛ред

$ docker-compose pull
Pulling db (mysql:latest)...
SSL error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)

рдХреБрдЫ рдЪреАрдЬреЗрдВ рдореИрдВрдиреЗ рдЪреЗрдХ рдХреАрдВред
which openssl; openssl version

/usr/local/bin/openssl
OpenSSL 1.0.2 22 Jan 2015

рдпрджрд┐ рдЖрдк рдХрд╛рдврд╝рд╛ рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ @psykzz рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ

brew install docker-compose

@arvindtest рдЖрдкрдХреЛ рдХреНрдпрд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ?

FYI рдХрд░реЗрдВ, рдЗрд╕рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕рдВрдШрд░реНрд╖ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдмреВрдЯ 2 рдбреЙрдХрдЯрд░ рдореБрджреНрджрд╛ рд╣реИред
рдореЗрд░реЗ рд▓рд┐рдП рдЬреЛ рдХрд╛рдо рдХрд┐рдпрд╛ рд╡рд╣ рдерд╛ рдЯреАрдПрд▓рдПрд╕ рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░рдирд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднреА рддрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрдХреВрд▓ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдирд┐рд░реНрджреЗрд╢ рдпрд╣рд╛рдВ рджрд┐рдП рдЧрдП рд╣реИрдВ:
https://github.com/deis/deis/issues/2230

рдореВрд▓ рд░реВрдк рд╕реЗ, рдЖрдкрдХреЛ рдирд┐рдореНрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

boot2docker ssh
sudo echo 'DOCKER_TLS = no'> / var / lib / boot2docker / рдкреНрд░реЛрдлрд╛рдЗрд▓

рдЙрд╕рдХреЗ рдмрд╛рдж boot2docker рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░реЗрдВ, рдЕрд░реНрдерд╛рдд
boot2docker рдмрдВрдж рдХрд░реЛ
boot2docker рдкреНрд░рд╛рд░рдВрдн

рдФрд░ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЕрдкрдиреЗ ~ / .bashrc (рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдИрдкреА рд╕рд╣реА рд╣реИ)

рдирд┐рд░реНрдпрд╛рдд DOCKER_HOST = tcp: //192.168.59.103 : 2375
рдкрд░реЗрд╢рд╛рди DOCKER_CERT_PATH
DOCKER_TLS_VERIFY рдХреЛ рдкрд░реЗрд╢рд╛рди рдХрд░реЗрдВ

рдЖрдкрдХреЗ bashrc рдореЗрдВ рдХреНрдпреЛрдВ рди рдХреЗрд╡рд▓ $ (boot2docker shellinit) рд╣реЛ

рд╕рдм рдХреБрдЫ рд╕рд╣реА рдХреЗ рд╕рд╛рде рдорджрдж рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП?

рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЕрднреА рднреА рдЯреАрдПрд▓рдПрд╕ рд╕рдорд╛рдзрд╛рди рдХрд░рдирд╛ рд╣реИред
21 рдорд╛рд░реНрдЪ 2015 23:05 рдХреЛ, "coderfi" рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

FYI рдХрд░реЗрдВ, рдЗрд╕рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╕рдВрдШрд░реНрд╖ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╣реИ
boot2docker рд╕рдорд╕реНрдпрд╛ред
рдореЗрд░реЗ рд▓рд┐рдП рдЬреЛ рдХрд╛рдо рдХрд┐рдпрд╛ рд╡рд╣ рдерд╛ рдЯреАрдПрд▓рдПрд╕ рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░рдирд╛ред рдЕрднреА рддрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрдХреВрд▓ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓реЗрдХрд┐рди рдирд┐рд░реНрджреЗрд╢ рдпрд╣рд╛рдВ рджрд┐рдП рдЧрдП рд╣реИрдВ:
deis / рдбреЗрд╕ # 2230 https://github.com/deis/deis/issues/2230

рдореВрд▓ рд░реВрдк рд╕реЗ, рдЖрдкрдХреЛ рдирд┐рдореНрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

boot2docker ssh
sudo echo 'DOCKER_TLS = no'> / var / lib / boot2docker / рдкреНрд░реЛрдлрд╛рдЗрд▓

рдЙрд╕рдХреЗ рдмрд╛рдж boot2docker рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░реЗрдВ, рдЕрд░реНрдерд╛рдд
boot2docker рдмрдВрдж рдХрд░реЛ
boot2docker рдкреНрд░рд╛рд░рдВрдн

рдФрд░ рдЖрдкрдХреЗ ~ / .bashrc рдХреЛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣
рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдИрдкреА рд╕рд╣реА рд╣реИ

рдирд┐рд░реНрдпрд╛рдд DOCKER_HOST = tcp: //192.168.59.103 : 2375
рдкрд░реЗрд╢рд╛рди DOCKER_CERT_PATH
DOCKER_TLS_VERIFY рдХреЛ рдкрд░реЗрд╢рд╛рди рдХрд░реЗрдВ

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/docker/compose/issues/890#issuecomment -84468058ред

@kretz рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ! рдзрдиреНрдпрд╡рд╛рджред

@psykzz рдХрд╛ рдЕрд░реНрде рд╣реИ $(boot2docker shellinit) ?

рд╣рд╛рдБ рдореИрдВрдиреЗ рдХрд┐рдпрд╛, рдореЗрд░реА рдЯрд┐рдкреНрдкрдгреА рдХреЛ рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ред Derpред

рдореИрдВ рдЗрд╕ рдмрд╛рдд рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЯреАрдПрд▓рдПрд╕ рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП @coderfi рд╕рдорд╛рдзрд╛рди рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!

рдЦреБрд╢реА рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред :)

@ рдореИрдЯ рд╣рд╛рдБ, рдЖрдк рд╢реЗрд▓ рдЗрдирд┐рдЯ рд╢реЗрд▓ рд╡рд┐рд╕реНрддрд╛рд░ рдЯрд┐рдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╣реА рд╣реИрдВред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЕрдЧрд░ boot2docker рдЕрднреА рддрдХ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рддреЛ рдореИрдВ рдмрд╕
рдЙрджрд╛рд╣рд░рдг рд╕реНрдкрд╖реНрдЯ рдХрд┐рдпрд╛ред

рдлрд╛рдИ
26 рдорд╛рд░реНрдЪ, 2015 10:18 рдкреВрд░реНрд╡рд╛рд╣реНрди рдкрд░, "рдПрдВрдереНрд░реЛрдкрд┐рдХ" рд╕реВрдЪрдирд╛рдПрдБ @ithub.com рдиреЗ рд▓рд┐рдЦрд╛:

рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ @coderfi https://github.com/coderfi рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ
рдЕрдХреНрд╖рдо TLS рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/docker/compose/issues/890#issuecomment -86630313

рд╢рд╛рдпрдж рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ, рд▓реЗрдХрд┐рди рдЯреАрдПрд▓рдПрд╕ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдпрд╛ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╕ рдЗрд╕ рдХрд╛рдо рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рд╡рдзрд╛рдиреА рд╕реЗ рдЪрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рд╡реЗ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЙрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ред

рдпрд╣ рд╕рднреА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ pip Dockerfile gliderlabs/alpine:3.1 рд╕реЗ рдЦреАрдВрдЪрдиреЗ рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдкреЙрдк рдЕрдк рдХрд░рдиреЗ рдХреЗ рджреМрд░рд╛рди рдПрдХ рд╕рдорд╛рди рддреНрд░реБрдЯрд┐ рд╣реБрдИ pip рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреА рдлрд╝рд╛рдЗрд▓ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкреИрдХреЗрдЬ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдХреЗ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдирд┐рд╡рд╛рд░рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:

RUN apk-install -X ca-certificates

рд╕реБрдЭрд╛рдП рдЧрдП рд╕реЙрд▓реНрдпреВрд╢рдВрд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рдереЗред 1.0.1 рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдкрд░ рднреА рд╕реНрд╡рд┐рдЪ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрдВрдд рдореЗрдВ рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рд╕рднреА рдкрд╛рдЗрдк-рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рдбреЙрдХ-рдХрдВрдкреЛрдЬрд╝ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рдФрд░ рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░рдиреЗ рдкрд░ brew install docker-compose ред

рдКрдкрд░ рджрд┐рдП рдЧрдП рд╕рдорд╛рдзрд╛рди рдХрд╛рдо рдХрд░ рдЧрдП рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдмреЛрдЭрд┐рд▓ рдереЗред рдПрдХ рддреНрд╡рд░рд┐рдд boot2docker upgrade рдиреЗ рдореЗрд░реЗ рдЕрдВрдд рдореЗрдВ рд╕рдм рдХреБрдЫ рддрдп рдХрд░ рджрд┐рдпрд╛ред

рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдирд╡реАрдирддрдо рдмреВрдЯ 2 рдбреЙрдХ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдФрд░ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдмрд┐рдирд╛ рдХрд┐рд╕реА рдлрд┐рдХреНрд╕ рдХреЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ

Homebrew devs рд╕реБрдЭрд╛рд╡ рджреЗрддреЗ рд╣реИрдВ рдХрд┐ docker-py рдФрд░ docker-compose рдХреЛ requests 2.6.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

https://github.com/Homebrew/homebrew/issues/38226#issuecomment -84082828

рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреЛ рдорджрдж рдХрд░рддрд╛ рд╣реИ ... рдПрдХ рд╕рдорд╛рдзрд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд╛рд░реНрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдпрд╣ рдЗрд╕ рд╕рдВрджреЗрд╢ рдХрд╛ рдХрд╛рд░рдг рд╣реЛрдЧрд╛ред

рдПрдлрдбрдмреНрд▓реНрдпреВрдЖрдИрдбрдмреНрд▓реНрдпреВ, рдкрд╛рдЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ рдЦреБрдж рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ (рдУрдПрд╕ рдПрдХреНрд╕ рдорд╛рд╡рд░рд┐рдХреНрд╕ рдкрд░ рдХрд░реНрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдкрд░ illegal operation рддреНрд░реБрдЯрд┐ рд╣реБрдИ)ред рдореБрдЭреЗ рдмрд╛рдж рдореЗрдВ рдПрд╕рдПрд╕рдПрд▓ рддреНрд░реБрдЯрд┐ рднреА рдорд┐рд▓ рд░рд╣реА рдереАред brew link --force openssl && brew switch openssl 1.0.1j рдЪрд▓рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕реЗ рдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИред

@rseymour рдЬрд╡рд╛рдм рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛

рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдХрд╛рдврд╝рд╛ рдореЗрдВ openssl-1.0.1j рдЦреЛрдЬрдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддреЗ рд╣реИрдВ - рдЖрдк рдЬреАрдердм рд░реЗрдкреЛ рд╕реЗ рдЦреБрд▓рдиреЗ рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╣рдбрд╝рдк рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

┬╗ brew switch openssl 1.0.1j
Error: openssl does not have a version "1.0.1j" in the Cellar.
Versions available: 1.0.2a-1
┬╗ brew unlink openssl
Unlinking /usr/local/Cellar/openssl/1.0.2a-1... 1543 symlinks removed
┬╗ brew install https://raw.githubusercontent.com/Homebrew/homebrew/62fc2a1a65e83ba9dbb30b2e0a2b7355831c714b/Library/Formula/openssl.rb
...
ЁЯН║  /usr/local/Cellar/openssl/1.0.1j_1: 431 files, 14M, built in 4.2 minutes
┬╗ docker-compose up                                                                                                                   
Creating myservice...

рдореИрдВрдиреЗ 1.0.1m рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред
рддреЛ рдореИрдВрдиреЗ @ рдЖрд▓рд╕реА рддрд░реАрдХреЗ рд╕реЗ рдХреЛрд╢рд┐рд╢ рдХреА, рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдпрд╣реА рдореИрдВрдиреЗ рдХрд┐рдпрд╛ рд╣реИред

рдХрд╛рдврд╝рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ https://raw.githubusercontent.com/Homebrew/homebrew/62fc2a1a65e83ba9db30b2e0a2b7355831c714b/Library/Formula/openssl.rb
рдХрд╛рдврд╝рд╛ рд╕реНрд╡рд┐рдЪ рдЦреБрд▓рддрд╛ рд╣реИ 1.0.1j_1
рд╢рд░рд╛рдм рдмрдирд╛рдирд╛
рдХрд╛рдврд╝рд╛ рд▓рд┐рдВрдХ рдЦреБрд▓рддрд╛ рд╣реИ - рдкреНрд░рд╡рд░реНрддрди
docker- рд░рдЪрдирд╛ ps

рдзрдиреНрдпрд╡рд╛рдж!!

рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрд╕рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдм рд╣рдореЗрдВ рдкрд╛рдпрдерди 2.7.9+ рдкрд░ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

# 1427_ рд╕реЗ рд╣рдЯрд╛рдП рдЧрдП

рд╕рд░реНрд╡рд░:

  • рдХреЛрд░реЛрд╕ рд╕реНрдерд┐рд░
  • рдбреЙрдХрдЯрд░ 1.5.0

рдЧреНрд░рд╛рд╣рдХ:

  • рд╕реЗрдВрдЯреЛрд╕ 6.6, 64-рдмрд┐рдЯ
  • рдХрд░реНрдиреЗрд▓ 2.6.32-042stab105.14
  • рдбреЙрдХрд░ рдХреНрд▓рд╛рдЗрдВрдЯ 1.5.0
  • docker- рд░рдЪрдирд╛ 1.2.0
  • SSL рдкреНрд░рдорд╛рдгрдкрддреНрд░ ~/.docker/{ca.pem,cert.pem,key.pem} рдкрд░ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ
  • DOCKER_HOST=tcp://docker-builder:2376
  • DOCKER_TLS_VERIFY=1

SSL рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдореЗрдХрдлрд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:

#!/bin/bash

SERVER=docker-builder

clean:
    rm ca.* server.* client.* *.key

all: ca.crt server.crt client.crt

%.key:
    openssl genrsa -out $@ 4096

ca.crt: ca.key
    openssl req -new -x509 -days 365 -key ca.key -sha256 -out ca.crt \
        -subj "/C=US/ST=Texas/L=Austin/O=Abc123/OU=Operations/CN=${SERVER}/[email protected]"

server.csr: server.key
    openssl req -new -key server.key -out server.csr \
        -subj "/C=US/ST=Texas/L=Austin/O=Abc123/OU=Operations/CN=${SERVER}/[email protected]"

server.crt: ca.key ca.crt server.csr
    openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key \
        -CAcreateserial -out server.crt

client.csr: client.key
    openssl req -new -key client.key -out client.csr \
        -subj "/C=US/ST=Texas/L=Austin/O=Abc123/OU=Operations/CN=Docker Client/[email protected]"

client.ext.cnf:
    echo "extendedKeyUsage = clientAuth" > client.ext.cnf

client.crt: client.csr ca.crt ca.key client.ext.cnf
    openssl x509 -req -days 365 -in client.csr -CA ca.crt -CAkey ca.key \
        -CAcreateserial -out client.crt -extfile client.ext.cnf

рдЗрд╕ рдорд╢реАрди рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ (рдЖрджрд░реНрд╢ рд╕реЗ рдХрдо рдЖрджрд░реНрд╢) рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдбреЗрдЯрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ:

#cloud-config

write_files:
    - path: /home/core/server.crt
      owner: core:core
      permissions: 0644
      content: |
        -----BEGIN CERTIFICATE-----
        <cert goes here>
        -----END CERTIFICATE-----


    - path: /home/core/server.key
      owner: core:core
      permissions: 0644
      content: |
        -----BEGIN RSA PRIVATE KEY-----
        <key goes here>
        -----END RSA PRIVATE KEY-----


    - path: /home/core/ca.crt
      owner: core:core
      permissions: 0644
      content: |
        -----BEGIN CERTIFICATE-----
        <ca cert goes here>
        -----END CERTIFICATE-----

coreos:
  update:
    reboot-strategy: reboot
  units:
  units:
    - name: var-lib-docker.mount
      command: start
      content: |
        [Unit]
        Description=Mount RAM to /var/lib/docker
        Before=docker.service
        [Mount]
        What=tmpfs
        Where=/var/lib/docker
        Type=tmpfs
        Options=size=200g
    - name: docker.service
      command: restart
      content: |
        [Unit]
        Description=Docker Application Container Engine
        Documentation=http://docs.docker.io
        After=network.target
        [Service]
        ExecStartPre=/bin/mount --make-rprivate /
        # Run docker but don't have docker automatically restart
        # containers. This is a job for systemd and unit files.
        ExecStart=/usr/bin/docker -d \
          --tlsverify \
          --tlscert=/home/core/server.crt \
          --tlscacert=/home/core/ca.crt \
          --tlskey=/home/core/server.key \
          -H 0.0.0.0:2376 -H unix:///var/run/docker.sock

        [Install]
        WantedBy=multi-user.target

docker рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореБрдЭреЗ рджреВрд░рд╕реНрде рдбреЙрдХрдЯрд░ рд╕рд░реНрд╡рд░ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдореЗрдВ рдЕрдЪреНрдЫреА рд╕рдлрд▓рддрд╛ рдорд┐рд▓реА рд╣реИред рд╣рдо рдЕрдЪреНрдЫреА рд╕рдлрд▓рддрд╛ рдХреЗ рд╕рд╛рде рджрд┐рди рдореЗрдВ рд╕реМ рд╣рдЬрд╝рд╛рд░ рдмрд╛рд░ рд░рд┐рдореЛрдЯ рд╕рд░реНрд╡рд░ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВред

pip install --upgrade рдЕрдЬрдЧрд░ pip install --upgrade рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд docker-compose рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рдПрдХ SSL рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ:

$ docker-compose up -d
SSL error: [Errno 1] _ssl.c:504: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдФрд░ рд╕рд╛рде рдореЗрдВ DOCKER_CERT_PATH=/home/user/.docker/ рдФрд░ REQUESTS_CA_BUNDLE=/home/user/.docker/ca.pem рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдпрд╣ рдорд╛рдорд▓рд╛ рд╣реИред

рд╕реНрдкрд╖реНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП: рдпрд╣ рд╕реЗрдЯрдЕрдк рд╕рд┐рд░реНрдл рдбреЙрдХ рдбреЗрдореЙрди рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди -compose рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред

рдХреБрдЫ рдиреЛрдЯ:

  1. OSX рдХреЗ рд▓рд┐рдП рдХрдВрдкреЛрдЬрд┐рдЯ 1.3.0 RC1 рдмрд╛рдЗрдирд░реА рдореЗрдВ рдпрд╣ рдмрдЧ рд╣реИред рд╕рдВрдпреЛрдЧ рд╕реЗ рдирд╣реАрдВ, рдпрд╣ рдкрд╣рд▓реА рдмрд╛рд░ рд╣реИ рдЬрдм рдЗрд╕реЗ рдкрд╛рдпрдерди 2.7.9 рдХреЗ рдЦрд┐рд▓рд╛рдл рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ - рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ 2.7.6 рдерд╛ред
  2. рдЕрдЬреАрдм рддрд░рд╣ рд╕реЗ, рдореИрдВ рдмреВрдЯ 2docker VM рдХреЗ рдЦрд┐рд▓рд╛рдл рдкреБрди: рдкреЗрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдорд╢реАрди рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рд╡рдзрд╛рди рдХрд┐рдП рдЧрдП рд╡рд░реНрдЪреБрдЕрд▓рдмреЙрдХреНрд╕ рд╡реАрдПрдо рдХреЗ рдЦрд┐рд▓рд╛рдл рдирд╣реАрдВред @ehaletlet , @nathanleclaire , @tianon - рдХреЛрдИ рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐?
  3. рдкрд┐рдк рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рдкрд░ рдпрд╣ рдЕрдиреБрднрд╡ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП, рдХреГрдкрдпрд╛ рдирд┐рдореНрди рдЖрджреЗрд╢реЛрдВ рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдВ:

$ python -V $ python -c 'import ssl; print ssl.OPENSSL_VERSION'

рдЕрдкрдиреА рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рдкрд░, рдЬрд╣рд╛рдВ рдореИрдВ рддреНрд░реБрдЯрд┐ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдореЗрд░реЗ рдкрд╛рд╕ Python 2.7.10 рдФрд░ OpenSSL 1.0.2a 19 Mar 2015 ред

  1. рдпрд╣ Homebrew рдХреЛ рд╕реВрдЪрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдкрд╛рдпрдерди рдФрд░ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдлрд▓рддрд╛ рдорд┐рд▓реА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред https://github.com/Homebrew/homebrew/issues/38226

рд╣рдореНрдо рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЬреАрдм рд╣реИред рдЖрдк рдХрд┐рд╕ рд╡рд░реНрдЬрди рдмрдирд╛рдо b2d рдХреЗ рд╡рд░реНрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ
рдорд╢реАрди рдХреА? рд╣рдо рджреЛрдиреЛрдВ b2d рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЕрд▓рдЧ рд╣реЛрдЧрд╛
рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдЕрд▓рд╛рд╡рд╛ред

рдореИрдВ рдЕрдкрдиреЗ рдУрдПрд╕ рдПрдХреНрд╕ рдорд╢реАрди рдкрд░ рдкрд╛рдЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реВрдВрдЧрд╛ рдФрд░ рджреЗрдЦреВрдВрдЧрд╛ рдХрд┐ рдореБрдЭреЗ рдХреНрдпрд╛ рдорд┐рд▓реЗрдЧрд╛ред

Thu рдкрд░, 28 рдордИ, 2015 рдХреЛ 9:19 рдмрдЬреЗ, Aanand Prasad рд╕реВрдЪрдирд╛рдПрдВ @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

рдХреБрдЫ рдиреЛрдЯ:

1ред

OSX рдХреЗ рд▓рд┐рдП рдХрдВрдкреЛрдЬрд┐рдЯ 1.3.0 RC1 рдмрд╛рдЗрдирд░реА рдореЗрдВ рдпрд╣ рдмрдЧ рд╣реИред рд╢рд╛рдпрдж рдирд╝рд╣реА
рд╕рдВрдпреЛрдЧ рд╕реЗ, рдпрд╣ рдкрд╣рд▓реА рдмрд╛рд░ рд╣реИ рдЬрдм рдЗрд╕реЗ рдкрд╛рдпрдерди 2.7.9 рдХреЗ рдЦрд┐рд▓рд╛рдл рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ

  • рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ 2.7.6 рдерд╛ред
    2ред

рдЕрдЬреАрдм рддрд░рд╣ рд╕реЗ, рдореИрдВ рдмреВрдЯ 2docker VM рдХреЗ рдЦрд┐рд▓рд╛рдл рдкреБрди: рдкреЗрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдП рдХреЗ рдЦрд┐рд▓рд╛рдл рдирд╣реАрдВ
рд╡рд░реНрдЪреБрдЕрд▓рдмреЙрдХреНрд╕ рд╡реАрдПрдо рдорд╢реАрди рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рд╡рдзрд╛рдирд┐рдд рд╣реИред @ehazlett
https://github.com/ehazlett , @nathanleclaire
https://github.com/nathanleclaire , @tianon
https://github.com/tianon - рдХреЛрдИ рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐?
3ред

рдкрд┐рдк рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рдкрд░ рдЗрд╕реЗ рдЕрдиреБрднрд╡ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рдХреЛ рднреА, рдХреГрдкрдпрд╛
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдВ:

$ рдЕрдЬрдЧрд░ -рд╡реА
$ рдЕрдЬрдЧрд░ -c 'рдЖрдпрд╛рдд ssl; рдкреНрд░рд┐рдВрдЯ ssl.OPENSSL_VERSION '

рдЕрдкрдиреА рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рдкрд░, рдЬрд╣рд╛рдВ рдореИрдВ рддреНрд░реБрдЯрд┐ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╛рдпрдерди рд╣реИ
2.7.10 рдФрд░ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ 1.0.2 рдП 19 рдорд╛рд░реНрдЪ 2015ред
4ред

рдпрд╣ Homebrew рдХреЛ рд╕реВрдЪрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рд╣реИ
рдкрд╛рдпрдерди рдФрд░ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред
Homebrew / homebrew # 38,226
https://github.com/Homebrew/homebrew/issues/38226

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/docker/compose/issues/890#issuecomment -106306690ред

$ boot2docker version
Boot2Docker-cli version: v1.6.2
Git commit: cb2c3bc

$ docker-machine --version
docker-machine version 0.2.0 (8b9eaf2)

рдХреНрдпрд╛ рдкреНрд░рдорд╛рдгрд┐рдд рдкреАрдврд╝реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЕрд▓рдЧ рд╣реИ, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдмреВрдЯ 2docker рдПрдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдореЗрд░реЗ рдорд╢реАрди рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдореЗрдВ рдЕрдзрд┐рдХ рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВред

$ $(boot2docker shellinit)
$ ls -l $DOCKER_CERT_PATH/*.pem
-rw-r--r--  1 aanand  staff  1042 28 May 14:27 /Users/aanand/.boot2docker/certs/boot2docker-vm/ca.pem
-rw-r--r--  1 aanand  staff  1070 28 May 14:27 /Users/aanand/.boot2docker/certs/boot2docker-vm/cert.pem
-rw-r--r--  1 aanand  staff  1675 28 May 14:27 /Users/aanand/.boot2docker/certs/boot2docker-vm/key.pem
$ eval "$(docker-machine env)"
$ ls -l $DOCKER_CERT_PATH/*.pem
-rw-r--r--  1 aanand  staff  1029 11 May 12:15 /Users/aanand/.docker/machine/machines/dev/ca.pem
-rw-r--r--  1 aanand  staff  1054 11 May 12:15 /Users/aanand/.docker/machine/machines/dev/cert.pem
-rw-r--r--  1 aanand  staff  1679 11 May 12:15 /Users/aanand/.docker/machine/machines/dev/key.pem
-rw-------  1 aanand  staff  1679 11 May 12:15 /Users/aanand/.docker/machine/machines/dev/server-key.pem
-rw-r--r--  1 aanand  staff  1086 11 May 12:15 /Users/aanand/.docker/machine/machines/dev/server.pem

рдпрд╣ рдареАрдХ рд╣реИред рдЧреНрд░рд╛рд╣рдХ рд╕рд┐рд░реНрдл ca.pem, cert.pem рдФрд░ key.pem рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛
(рд╕рд░реНрд╡рд░ рдорд╢реАрди рдореЗрдВ рд╣реЛрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл рдПрдХ рд╕реНрдерд╛рдиреАрдп рдХреЙрдкреА рд╣реИ)ред рдореИрдВ рдЬреИрд╕рд╛ рдмрдирд╛рдКрдВрдЧрд╛
рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдФрд░ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП certs рдХрд╛ рдирд┐рд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ред

Thu рдкрд░, 28 рдордИ, 2015 рдХреЛ рд╕реБрдмрд╣ 9:30 рдмрдЬреЗ, Aanand Prasad рд╕реВрдЪрдирд╛рдПрдВ @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

$ boot2docker рд╕рдВрд╕реНрдХрд░рдг
Boot2Docker-cli рд╕рдВрд╕реНрдХрд░рдг: v1.6.2
Git рдХрдорд┐рдЯ: cb2c3bc

$ рдбреЙрдХрдЯрд░-рдорд╢реАрди - рд╡рд┐рд╕рд░реНрдЬрди
рдбреЙрдХрдЯрд░-рдорд╢реАрди рд╕рдВрд╕реНрдХрд░рдг 0.2.0 (8b9eaf2)

рдХреНрдпрд╛ рдкреНрд░рдорд╛рдгрд┐рдд рдкреАрдврд╝реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЕрд▓рдЧ рд╣реИ, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? рдореБрдЭреЗ рдФрд░ рд▓рдЧрддрд╛ рд╣реИ
рдореЗрд░реЗ рдмреВрдЯ рд╕рд░реНрдЯрд┐рдлрд╝рд┐рдХреЗрдЯ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдореЗрд░реА рдорд╢реАрди рд╕рд░реНрдлрд╝рд░ рдХреА рдлрд╛рдЗрд▓реЗрдВред

$ $ (рдмреВрдЯ 2 рдбреЙрдХ рд╢реЗрд▓рд┐рдирд┐рдЯ)
$ ls -l $ DOCKER_CERT_PATH / *ред pem
-rw-r - r-- 1 рдЕрдирд╛рдирдВрдж рдХрд░реНрдордЪрд╛рд░реА резрежрекреи реи27 рдордИ резU:реиsers / рдЙрд░реНрд╕ / рдЖрдирдВрдж //boot2docker/certs/boot2docker-vm/ca.pem
-rw-r - r-- 1 рдЖрдВрдирдж рдХрд░реНрдордЪрд╛рд░реА 1070 28 рдордИ 14:27 /User/aanand/.boot2docker/certs/boot2docker-vm/cert.pem
-rw-r - r-- 1 рдЕрдирд╛рдирдВрдж рд╕реНрдЯрд╛рдл 1675 28 рдордИ 14:27 /User/aanand/.boot2docker/certs/boot2docker-vm/key.pem

$ eval "$ (docker- рдорд╢реАрди рдПрдирд╡реА)"
$ ls -l $ DOCKER_CERT_PATH / *ред pem
-rw-r - r-- 1 рдЕрдиреНрдирдВрдж рдХрд░реНрдордЪрд╛рд░реА резрежреи реп резрез рдордИ резреи:резрел / рдЙрд░реНрд╕ / рдЖрдирдВрдж / рдбреЙрдХрдЯрд░ / рдордЪрд╛рдЗрди / рдордЪрд╛рдЗрдиреНрд╕ / рджреЗрд╡рд╛ / рдХ.рдкреЗрдо
-rw-r - r-- 1 рдЕрдирд╛рдирдВрдж рдХрд░реНрдордЪрд╛рд░реА резрежрелрек резрез рдордИ резреи:резрел /User/aanand/.docker/machine/machines/dev/cert.pem
-rw-r - r-- 1 рдЕрдиреНрдирдВрдж рдХрд░реНрдордЪрд╛рд░реА резрем May реп резрез рдордИ резреи:резрел / рдЙрд░реНрд╕ / рдЖрдирдВрдж / рдбреЙрдХ / рдордЪрд╛рдИрди / рдордЪрд╛рдЗрдиреНрд╕ / рджреЗрд╡рд╛ / рдХреА.рдкреЗрдо
-rw ------- рез рдЖрдВрдирдж рдХрд░реНрдордЪрд╛рд░реА резрем May реп резрез рдордИ резрез:резрел / рдЙрд░реНрд╕ / рдЖрдирдВрдж / рдбреЛрдЬрд░ / рдордЪрд╛рдЗрди / рдордЪрд╛рдЗрдиреНрд╕ / рджреЗрд╡рд░ / рд╕реЗрд╡рд░-key.pem
-rw-r - r-- 1 рдЕрдирд╛рдирдВрдж рдХрд░реНрдордЪрд╛рд░реА резреж Mayрем резрез рдордИ резреи:резрел/User/aanand/.docker/machine/machines/dev/server.pem

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/docker/compose/issues/890#issuecomment -106309885

grahamc@snap$ python -V
Python 2.7.6

grahamc@snap$ python -c 'import ssl; print ssl.OPENSSL_VERSION'
OpenSSL 1.0.1e-fips 11 Feb 2013

Https://github.com/docker/docker-py/issues/465 рднреА @garethr рдХрд╛ рдкрд░реАрдХреНрд╖рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реЛрд╕реНрдЯрдирд╛рдо рдЬрд╛рдБрдЪ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрд╢реЛрдзрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореЗрд░реЗ рд▓рд┐рдП рднреА рддреНрд░реБрдЯрд┐ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рддрд╛ рд╣реИ:

from docker.client import Client
from docker.utils import kwargs_from_env

kwargs = kwargs_from_env()
kwargs['tls'].assert_hostname = False

client = Client(**kwargs)
print client.version()
$ eval "$(boot2docker shellinit)" && python test.py
Writing /Users/aanand/.boot2docker/certs/boot2docker-vm/ca.pem
Writing /Users/aanand/.boot2docker/certs/boot2docker-vm/cert.pem
Writing /Users/aanand/.boot2docker/certs/boot2docker-vm/key.pem
Traceback (most recent call last):
  File "test.py", line 8, in <module>
    print client.version()
  File "/Users/aanand/.virtualenvs/docker-compose/lib/python2.7/site-packages/docker/client.py", line 1108, in version
    return self._result(self._get(url), json=True)
  File "/Users/aanand/.virtualenvs/docker-compose/lib/python2.7/site-packages/docker/client.py", line 106, in _get
    return self.get(url, **self._set_request_timeout(kwargs))
  File "/Users/aanand/.virtualenvs/docker-compose/lib/python2.7/site-packages/requests/sessions.py", line 477, in get
    return self.request('GET', url, **kwargs)
  File "/Users/aanand/.virtualenvs/docker-compose/lib/python2.7/site-packages/requests/sessions.py", line 465, in request
    resp = self.send(prep, **send_kwargs)
  File "/Users/aanand/.virtualenvs/docker-compose/lib/python2.7/site-packages/requests/sessions.py", line 573, in send
    r = adapter.send(request, **kwargs)
  File "/Users/aanand/.virtualenvs/docker-compose/lib/python2.7/site-packages/requests/adapters.py", line 431, in send
    raise SSLError(e, request=request)
requests.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)

рдпрд╣ рдЕрднреА рднреА рдорд╢реАрди-рдкреНрд░рд╛рд╡рдзрд╛рдирд┐рдд VM рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐:

$ eval "$(docker-machine env)" && python test.py
{u'KernelVersion': u'4.0.3-boot2docker', u'Arch': u'amd64', u'ApiVersion': u'1.18', u'Version': u'1.6.2', u'GitCommit': u'7c8fca2', u'Os': u'linux', u'GoVersion': u'go1.4.2'}

рдпрджрд┐ рдореИрдВ рд╣реЛрд╕реНрдЯрдирд╛рдо рдЪреЗрдХрд┐рдВрдЧ (рдЯреЗрд╕реНрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ assert_hostname рд▓рд╛рдЗрди рдЯрд┐рдкреНрдкрдгреА рдХрд░рдХреЗ) рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕рдХреНрд╖рдо рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рдмреВрдЯ 2docker-cli VM рдХреЗ рдЦрд┐рд▓рд╛рдл рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдорд╢реАрди VM рдХреЗ рдЦрд┐рд▓рд╛рдл рдПрдХ рдЕрд▓рдЧ рддреНрд░реБрдЯрд┐ , рдЬреЛ рдпрд╛ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:

Traceback (most recent call last):
  File "test.py", line 8, in <module>
    print client.version()
  File "/Users/aanand/.virtualenvs/docker-compose/lib/python2.7/site-packages/docker/client.py", line 1108, in version
    return self._result(self._get(url), json=True)
  File "/Users/aanand/.virtualenvs/docker-compose/lib/python2.7/site-packages/docker/client.py", line 106, in _get
    return self.get(url, **self._set_request_timeout(kwargs))
  File "/Users/aanand/.virtualenvs/docker-compose/lib/python2.7/site-packages/requests/sessions.py", line 477, in get
    return self.request('GET', url, **kwargs)
  File "/Users/aanand/.virtualenvs/docker-compose/lib/python2.7/site-packages/requests/sessions.py", line 465, in request
    resp = self.send(prep, **send_kwargs)
  File "/Users/aanand/.virtualenvs/docker-compose/lib/python2.7/site-packages/requests/sessions.py", line 573, in send
    r = adapter.send(request, **kwargs)
  File "/Users/aanand/.virtualenvs/docker-compose/lib/python2.7/site-packages/requests/adapters.py", line 431, in send
    raise SSLError(e, request=request)
requests.exceptions.SSLError: no appropriate commonName or subjectAltName fields were found

рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдореИрдВрдиреЗ рдХрд░реНрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ v1.3.0-рдЖрд░рд╕реА 1 (рджреНрд╡рд┐рдЖрдзрд╛рд░реА рд░рд┐рд▓реАрдЬ, рдкрд╛рдЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд╣реАрдВ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдбреЙрдХ 1.6.2 рдбреЗрдорди рдкрд░ рдкрд╣рд▓реЗ рдХреА рддрд░рд╣ рд╣реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА:

SSL error: [Errno 1] _ssl.c:507: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

рд╣рд╛рдБ - RC1 рдмрд╛рдЗрдирд░реА рдкрд╛рдЗрдерди 2.7.9 рдФрд░ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ 1.0.2 рдП рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреЛ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рд╕рдВрдпреЛрдЬрдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд▓рдЧрддрд╛ рд╣реИред

рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ b2d рдореЗрдВ рдкреНрд░рдорд╛рдгрд┐рдд рдкреАрдврд╝реА рд╡реАрдПрдо рдкрд░ рд╣реИ
рдЬрдмрдХрд┐ рдорд╢реАрди рдЙрдиреНрд╣реЗрдВ рдорд╢реАрди рдореЗрдВ рдЙрддреНрдкрдиреНрди рдХрд░рддреА рд╣реИред рд╣рдо рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ
рдЬрд░реВрд░рдд рдкрдбрд╝рдиреЗ рдкрд░ рд╕реИрди рдХреЛ рдорд╢реАрди рдХрд╛ рдирд╛рдоред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рд╢рд╛рдпрдж рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛
рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ b2d VMs рдХреЗ рд▓рд┐рдПред рдХрд╛рд░рдг рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЕрдм рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рд╣реИ
рдЖрдИрдкреА тАЛтАЛрдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдВрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬреЛ рдорд╢реАрди рдПрдХ рдЖрдИрдкреА рд╕реИрди рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рд╡рд╣рд╛рдВ рдПрдХ рд╣реИ
рдкреАрдЖрд░ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд SANs рдХреА рдЕрдиреБрдорддрд┐ рдХреЗ рд▓рд┐рдП рдЦреБрд▓рд╛ рд╣реИ рдЬреЛ рднреА рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рдЧреБрд░реБрд╡рд╛рд░, 28 рдордИ, 2015 рдХреЛ, рдЖрдирдВрдж рдкреНрд░рд╕рд╛рдж рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @ithub.com рдиреЗ рд▓рд┐рдЦрд╛:

рдбреЙрдХрдЯрд░ / docker-py # 465 рднреА рджреЗрдЦреЗрдВ
https://github.com/docker/docker-py/issues/465ред @garethr
https://github.com/garethr рдХреА рдкрд░реАрдХреНрд╖рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд╣рд╛рдБ рдХреЗ рд▓рд┐рдП рддреНрд░реБрдЯрд┐ рдкреБрди: рдкреЗрд╢ рдХрд░рддреА рд╣реИ
рдореБрдЭреЗ рднреА, рд╣реЛрд╕реНрдЯрдирд╛рдо рдЬрд╛рдБрдЪ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрд╢реЛрдзрди рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж:

docker.client рдЖрдпрд╛рдд рд╕реЗ Clientfrom docker.utils рдЖрдпрд╛рдд kwargs_from_env

kwargs = kwargs_from_env ()
kwargs ['tls']ред assert_hostname = рдЧрд▓рдд

рдЧреНрд░рд╛рд╣рдХ = рдЧреНрд░рд╛рд╣рдХ (** kwargs) рдЧреНрд░рд╛рд╣рдХ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВред

$ eval "$ (boot2docker shellinit)" рдФрд░& python test.py
рд░рд╛рдЗрдЯрд┐рдВрдЧ / рдпреВрдЬрд░реНрд╕ / рдЖрдирдВрдж / рдмреА.рдмреА .2 рдбреЙрдХрдЯрд░ / рд╡реЗрдЯрд░ / рдмреАрдУрдЯреА 2 рдбреЙрдХрдЯрд░- рдПрдордПрдо / рдПрдирдПрдкреАред
рд▓рд┐рдЦрдирд╛
рд░рд╛рдЗрдЯрд┐рдВрдЧ / рдпреВрдЬрд░реНрд╕ / рдЖрдирдВрдж / рдмреА.рдмреА .2 рдбреЙрдХрдЯрд░ / рд╡реЗрдЯрд░ / рдмреАрдУрдЯреА 2 рдбреЙрдХрдЯрд░- рдПрдордПрдо / рдПрд╕рдХреЗрдкреАред рдкреЗрдо
рдЯреНрд░реЗрд╕рдмреИрдХ (рд╕рдмрд╕реЗ рд╣рд╛рд▓рд┐рдпрд╛ рдХреЙрд▓ рдЕрдВрддрд┐рдо):
рдлрд╝рд╛рдЗрд▓ "test.py", рдкрдВрдХреНрддрд┐ 8, рдореЗрдВ
рдЧреНрд░рд╛рд╣рдХ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВред
рдлрд╝рд╛рдЗрд▓ "/User/aanand/.virtualenvs/docker-compose/lib/python2.7/site-packages/docker/client.py", рд▓рд╛рдЗрди 1108, рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ
рд╕реНрд╡рдВрдп рд╡рд╛рдкрд╕ рд▓реМрдЯреЗрдВред рд╕реНрд╡рдпрдВрд╕рд┐рджреНрдзрд╛ (рдЖрддреНрдо.рдЧреЗрдЯ (url), json = True)
рдлрд╝рд╛рдЗрд▓ "/User/aanand/.virtualenvs/docker-compose/lib/python2.7/site-packages/docker/client.py", рдкрдВрдХреНрддрд┐ 106, _get рдореЗрдВ
рд╕реНрд╡рдВрдп рд▓реМрдЯреЗрдВ (url, * _self._set_request_timeout (kwargs))
рдлрд╝рд╛рдЗрд▓ "/User/aanand/.virtualenvs/docker-compose/lib/python2.7/site-packages/requests/session.py", рдкрдВрдХреНрддрд┐ 477, рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
рд╕реНрд╡ рд╡рд╛рдкрд╕ рд▓реМрдЯреЗрдВред ('рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ', url, * _kwargs)
рдЕрдиреБрд░реЛрдз рдореЗрдВ рдлрд╝рд╛рдЗрд▓ "/User/aanand/.virtualenvs/docker-compose/lib/python2.7/site-packages/requests/session.py", рдкрдВрдХреНрддрд┐ 465
рд╕рдореНрдорд╛рди = рд╕реНрд╡.рд╕реЗрдВрдб (рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХрд╛, * _send_kwargs)
рдлрд╝рд╛рдЗрд▓ "/Users/aanand/.virtualenvs/docker-compose/lib/python2.7/site-packages/requests/session.py", рдкрдВрдХреНрддрд┐ 573, рднреЗрдЬреЗрдВ рдореЗрдВ
r = adapter.send (рдЕрдиреБрд░реЛрдз, * _kwargs)
рдлрд╝рд╛рдЗрд▓ "/User/aanand/.virtualenvs/docker-compose/lib/python2.7/site-packages/requests/adapters.py", рдкрдВрдХреНрддрд┐ 431, рднреЗрдЬреЗрдВ рдореЗрдВ
SSLError рдмрдврд╝рд╛рдПрдБ (e, request = рдЕрдиреБрд░реЛрдз)
request.exception.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рд╡рд┐рдлрд▓ рд░рд╣рд╛

рдпрд╣ рдЕрднреА рднреА рдорд╢реАрди-рдкреНрд░рд╛рд╡рдзрд╛рдирд┐рдд VM рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐:

$ eval "$ (docker-machine env)" && python test.py
{u'KernelVersion ': u'4.0.3-boot2docker', u'Arch ': u'amd64', u'ApiVersion ': u'1.18', u'Version ': u'1.6.2.2', u'GitCommit ': u'7c8fca2', u'Os ': u'linux', u'GoVersion ': u'go1.4.2'}

рдЕрдЧрд░ рдореИрдВ рд╣реЛрд╕реНрдЯрдирд╛рдо рдЪреЗрдХрд┐рдВрдЧ рдХреЛ рдкреБрдирдГ рд╕рдХреНрд╖рдо рдХрд░рддрд╛ рд╣реВрдВ (assert_hostname рдЯрд┐рдкреНрдкрдгреА рдХрд░рдХреЗ)
рдкрд░реАрдХреНрд╖рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд▓рд╛рдЗрди), рдпрд╣ _same error_ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ
boot2docker-cli VM, рд▓реЗрдХрд┐рди рдорд╢реАрди VM рдХреЗ рдЦрд┐рд▓рд╛рдл рдПрдХ _different error_, рдЬреЛ
рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ:

рдЯреНрд░реЗрд╕рдмреИрдХ (рд╕рдмрд╕реЗ рд╣рд╛рд▓рд┐рдпрд╛ рдХреЙрд▓ рдЕрдВрддрд┐рдо):
рдлрд╝рд╛рдЗрд▓ "test.py", рдкрдВрдХреНрддрд┐ 8, рдореЗрдВ
рдЧреНрд░рд╛рд╣рдХ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВред
рдлрд╝рд╛рдЗрд▓ "/User/aanand/.virtualenvs/docker-compose/lib/python2.7/site-packages/docker/client.py", рд▓рд╛рдЗрди 1108, рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ
рд╕реНрд╡рдВрдп рд╡рд╛рдкрд╕ рд▓реМрдЯреЗрдВред рд╕рдВрджреЗрд╢ (self._get (url), json = True)
рдлрд╝рд╛рдЗрд▓ "/User/aanand/.virtualenvs/docker-compose/lib/python2.7/site-packages/docker/client.py", рдкрдВрдХреНрддрд┐ 106, _get рдореЗрдВ
рд╕реНрд╡рдВрдп рд▓реМрдЯреЗрдВ (url, * _self._set_request_timeout (kwargs))
рдлрд╝рд╛рдЗрд▓ "/User/aanand/.virtualenvs/docker-compose/lib/python2.7/site-packages/requests/session.py", рдкрдВрдХреНрддрд┐ 477, рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ
рд╕реНрд╡ рд╡рд╛рдкрд╕ рд▓реМрдЯреЗрдВред ('рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ', url, * _kwargs)
рдЕрдиреБрд░реЛрдз рдореЗрдВ рдлрд╝рд╛рдЗрд▓ "/User/aanand/.virtualenvs/docker-compose/lib/python2.7/site-packages/requests/session.py", рдкрдВрдХреНрддрд┐ 465
рд╕рдореНрдорд╛рди = рд╕реНрд╡.рд╕реЗрдВрдб (рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХрд╛, * _send_kwargs)
рдлрд╝рд╛рдЗрд▓ "/User/aanand/.virtualenvs/docker-compose/lib/python2.7/site-packages/requests/session.py", рдкрдВрдХреНрддрд┐ 573, рднреЗрдЬреЗрдВ рдореЗрдВ
r = adapter.send (рдЕрдиреБрд░реЛрдз, * _kwargs)
рдлрд╝рд╛рдЗрд▓ "/User/aanand/.virtualenvs/docker-compose/lib/python2.7/site-packages/requests/adapters.py", рдкрдВрдХреНрддрд┐ 431, рднреЗрдЬреЗрдВ рдореЗрдВ
SSLError рдмрдврд╝рд╛рдПрдБ (e, request = рдЕрдиреБрд░реЛрдз)
request.exception.SSLError: рдХреЛрдИ рдЙрдкрдпреБрдХреНрдд рд╕рд╛рдорд╛рдиреНрдп рдирд╛рдо рдпрд╛ рд╡рд┐рд╖рдп рдирд╣реАрдВ рд╣реИ рдЬреИрд╕реЗ рдлрд╝реАрд▓реНрдб рдорд┐рд▓реЗ рдереЗ

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/docker/compose/issues/890#issuecomment -106363305ред

рдареАрдХ рд╣реИ, рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдореИрдВ рдУрдПрд╕ рдПрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд┐рдХреНрд╕ рдкрд░ рдЖрдпрд╛ рд╣реВрдВ: https://github.com/docker/compose/pull/1474

рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рдкрд╛рдЗрдХреЙрди 2.7.9 рдФрд░ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ 1.0.1 рдХреЛ рдкрд┐рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧрд╛, рдЬреЛ рдПрдХ рдордЬреЗрджрд╛рд░ рдкреНрд░рдпрд╛рд╕ рд╣реЛрдЧрд╛ рдЬреЛ рдЗрд╕реЗ debian:wheezy рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ (рдЬреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдПрдХ рдкрд░реНрдпрд╛рдкреНрдд рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдкреБрд░рд╛рдиреЗ glibc - https://github.com/docker/compose/pull/505 рджреЗрдЦреЗрдВ)ред

@Kretz рдХреА рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ 1.0.1k рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рдФрд░ рдкрд╛рдЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ 1.3.0 RC1 рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдЯреНрд░рд┐рдХ рдерд╛ред

рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЕрдЬрдЧрд░ рдиреЗ 1.0.2a рдХреА рд╕реВрдЪрдирд╛ рджреА:

тЭп python -c 'import ssl; print ssl.OPENSSL_VERSION'
OpenSSL 1.0.2a 19 Mar 2015

рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд░рд┐рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ 1.0.1k рдФрд░ docker-compose рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

тЭп python -c 'import ssl; print ssl.OPENSSL_VERSION'
OpenSSL 1.0.1k 8 Jan 2015

рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рджреВрд░ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдкреИрдХреЗрдЬ рдореЗрд░реЗ virtualenv рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдерд╛
pip install pyopenssl==0.14 ndg-httpsclient==0.4 pyasn1==0.1.7

Https://github.com/docker/compose/issues/890#issuecomment -106289821 рдкрд░ рд╡рд░реНрдгрд┐рдд рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЬреЛ Python 2.7.6 (Snap-ci.com рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдЬрд┐рд╕реЗ рдЖрдк рдореБрдлреНрдд рдЦрд╛рддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ) рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдЬреЛ @ jsh2134 рдХреЗ рд╡рд░реНрдХрдкреЙрдЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд (https://github.com/docker/compose/issues/890#issuecomment-106806702) рдореЗрдВ рдХрд░рддрд╛ рд╣реИ:

#!/bin/bash

set -e
set -u
set -x


readonly DOCKER_VERSION=1.5.0
readonly TARGETFILE=$SNAP_CACHE_DIR/docker-$DOCKER_VERSION
[[ -f "$TARGETFILE" ]] || curl https://get.docker.io/builds/Linux/x86_64/docker-$DOCKER_VERSION > $TARGETFILE
cp $TARGETFILE ~/docker
chmod +x ~/docker


export DOCKER_HOST="tcp://docker-builds:2376" DOCKER_TLS_VERIFY=1

mkdir -p ~/.docker
cat > ~/.docker/ca.pem <<EOC
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----

EOC
cat > ~/.docker/key.pem <<EOC
-----BEGIN RSA PRIVATE KEY-----
-----END RSA PRIVATE KEY-----

EOC
cat > ~/.docker/cert.pem <<EOC
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
EOC

function install_docker_compose {
  pip install --upgrade pip
  pip install --upgrade docker-compose
  pip install pyopenssl==0.14 ndg-httpsclient==0.4 pyasn1==0.1.7
  export COMPOSE=docker-compose
}

install_docker_compose

export COMPOSE_PROJECT_NAME=$(basename "$(pwd)")-${SNAP_COMMIT:-HEAD}

# Before running anything, setup the EXIT trap to always rm the container on
# exit of the script.
function cleanup {
  $COMPOSE kill
  $COMPOSE rm --force
}

trap cleanup EXIT

$COMPOSE --version
$COMPOSE build
$COMPOSE up -d

set +e
$COMPOSE run $@
exitcode=$?
set -e

set +x
echo ""
echo "Component Data:"
for id in `$COMPOSE ps -q`; do
  ~/docker inspect \
    -f 'Container {{ .Name }} exited with status {{ .State.ExitCode }}' $id
  ~/docker logs $id 2>&1 | sed -e "s/^/        /"
  echo "---"
done

exit $exitcode

рдореБрдЭреЗ рдирд┐рдореНрди рдЖрдЙрдЯрдкреБрдЯ рдорд┐рд▓реЗ:

+ readonly DOCKER_VERSION=1.5.0
+ DOCKER_VERSION=1.5.0
+ readonly TARGETFILE=/var/go/docker-1.5.0
+ TARGETFILE=/var/go/docker-1.5.0
+ [[ -f /var/go/docker-1.5.0 ]]
+ cp /var/go/docker-1.5.0 /var/go/docker
+ chmod +x /var/go/docker
+ export DOCKER_HOST=tcp://docker-builds:2376 DOCKER_TLS_VERIFY=1
+ DOCKER_HOST=tcp://docker-builds:2376
+ DOCKER_TLS_VERIFY=1
+ mkdir -p /var/go/.docker
+ cat
+ cat
+ cat
+ install_docker_compose
+ /bin/true
+ pip install --upgrade pip
/var/go/py-virtualenv2.7/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
Collecting pip
  Using cached pip-7.0.1-py2.py3-none-any.whl
Installing collected packages: pip
  Found existing installation: pip 6.0.8
    Uninstalling pip-6.0.8:
      Successfully uninstalled pip-6.0.8
Successfully installed pip-7.0.1
+ pip install --upgrade docker-compose
/var/go/py-virtualenv2.7/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
Requirement already up-to-date: docker-compose in /var/go/py-virtualenv2.7/lib/python2.7/site-packages
Requirement already up-to-date: docopt<0.7,>=0.6.1 in /var/go/py-virtualenv2.7/lib/python2.7/site-packages (from docker-compose)
Requirement already up-to-date: PyYAML<4,>=3.10 in /var/go/py-virtualenv2.7/lib/python2.7/site-packages (from docker-compose)
Requirement already up-to-date: requests<2.6,>=2.2.1 in /var/go/py-virtualenv2.7/lib/python2.7/site-packages (from docker-compose)
Requirement already up-to-date: texttable<0.9,>=0.8.1 in /var/go/py-virtualenv2.7/lib/python2.7/site-packages (from docker-compose)
Requirement already up-to-date: websocket-client<1.0,>=0.11.0 in /var/go/py-virtualenv2.7/lib/python2.7/site-packages (from docker-compose)
Requirement already up-to-date: docker-py<1.2,>=1.0.0 in /var/go/py-virtualenv2.7/lib/python2.7/site-packages (from docker-compose)
Requirement already up-to-date: dockerpty<0.4,>=0.3.2 in /var/go/py-virtualenv2.7/lib/python2.7/site-packages (from docker-compose)
Requirement already up-to-date: six<2,>=1.3.0 in /var/go/py-virtualenv2.7/lib/python2.7/site-packages (from docker-compose)
Requirement already up-to-date: backports.ssl-match-hostname in /var/go/py-virtualenv2.7/lib/python2.7/site-packages (from websocket-client<1.0,>=0.11.0->docker-compose)
+ pip install pyopenssl==0.14 ndg-httpsclient==0.4 pyasn1==0.1.7
Collecting pyopenssl==0.14
/var/go/py-virtualenv2.7/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
  Downloading pyOpenSSL-0.14.tar.gz (128kB)
Collecting ndg-httpsclient==0.4
  Downloading ndg_httpsclient-0.4.0.tar.gz
Collecting pyasn1==0.1.7
  Downloading pyasn1-0.1.7.tar.gz (68kB)
Collecting cryptography>=0.2.1 (from pyopenssl==0.14)
  Downloading cryptography-0.9.tar.gz (302kB)
Requirement already satisfied (use --upgrade to upgrade): six>=1.5.2 in /var/go/py-virtualenv2.7/lib/python2.7/site-packages (from pyopenssl==0.14)
Collecting idna (from cryptography>=0.2.1->pyopenssl==0.14)
  Downloading idna-2.0.tar.gz (135kB)
Requirement already satisfied (use --upgrade to upgrade): setuptools in /var/go/py-virtualenv2.7/lib/python2.7/site-packages (from cryptography>=0.2.1->pyopenssl==0.14)
Collecting enum34 (from cryptography>=0.2.1->pyopenssl==0.14)
  Downloading enum34-1.0.4.tar.gz
Collecting ipaddress (from cryptography>=0.2.1->pyopenssl==0.14)
  Downloading ipaddress-1.0.7-py27-none-any.whl
Collecting cffi>=0.8 (from cryptography>=0.2.1->pyopenssl==0.14)
  Downloading cffi-1.0.3.tar.gz (317kB)
Collecting pycparser (from cffi>=0.8->cryptography>=0.2.1->pyopenssl==0.14)
  Downloading pycparser-2.13.tar.gz (299kB)
Installing collected packages: idna, pyasn1, enum34, ipaddress, pycparser, cffi, cryptography, pyopenssl, ndg-httpsclient
  Running setup.py install for idna
  Running setup.py install for pyasn1
  Running setup.py install for enum34
  Running setup.py install for pycparser
  Running setup.py install for cffi
  Running setup.py install for cryptography
  Running setup.py install for pyopenssl
  Running setup.py install for ndg-httpsclient
Successfully installed cffi-1.0.3 cryptography-0.9 enum34-1.0.4 idna-2.0 ipaddress-1.0.7 ndg-httpsclient-0.4.0 pyasn1-0.1.7 pycparser-2.13 pyopenssl-0.14
+ export COMPOSE=docker-compose
+ COMPOSE=docker-compose
+++ pwd
++ basename /var/snap-ci/repo/tests/composer
+ export COMPOSE_PROJECT_NAME=composer-a71ac4f39281a9571a2b5da1284ab1c05da40646
+ COMPOSE_PROJECT_NAME=composer-a71ac4f39281a9571a2b5da1284ab1c05da40646
+ trap cleanup EXIT
+ docker-compose --version
docker-compose 1.2.0
+ docker-compose build
test1 uses an image, skipping
test2 uses an image, skipping
test uses an image, skipping
+ docker-compose up -d
SSL error: [Errno bad handshake] [('SSL routines', 'SSL3_GET_SERVER_CERTIFICATE', 'certificate verify failed')]
+ cleanup
+ docker-compose kill
SSL error: [Errno bad handshake] [('SSL routines', 'SSL3_GET_SERVER_CERTIFICATE', 'certificate verify failed')]

рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рддреНрд░реБрдЯрд┐ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ (рдЬреЛ рдирдпрд╛ рд▓рдЧрддрд╛ рд╣реИ):

/var/go/py-virtualenv2.7/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.

рдореЗрд░реЗ рдирд┐рд╖реНрдХрд░реНрд╖реЛрдВ рдХреЛ рдЕрднреА рддрдХ рдорд╕реНрддрд┐рд╖реНрдХ рдореЗрдВ рдбрдВрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП https://github.com/docker/compose/issues/1484 рдмрдирд╛рдпрд╛ рдЧрдпрд╛ред

рдореИрдВрдиреЗ # 1474 рдореЗрдВ рдлрд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рд╣реИред рдпрджрд┐ рдЖрдк SSL рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдЙрдиреНрд╣реЗрдВ рдЖрдЬрд╝рдорд╛рдПрдВ:

http://cl.ly/3W3a2S3t2c32/download/docker-compose-Linux-x86_64
http://cl.ly/0i00310l3x27/download/docker-compose-Darwin-x86_64

+ curl -L http://cl.ly/3W3a2S3t2c32/download/docker-compose-Linux-x86_64
+ /usr/bin/docker-compose --version
docker-compose version: 1.3.0rc1
CPython version: 2.7.9
OpenSSL version: OpenSSL 1.0.1e 11 Feb 2013

+ /var/go/docker-compose up -d
SSL error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)

@ jsh2134 рдХреНрдпреЛрдВ рдЖрдк 0.14 рдХреЛ pyOpenSSL рдкрд┐рди рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

@Kretz рдЙрддреНрддрд░ рдХреЗ рд▓рд┐рдП +1 :)

+1 рд╡рд╣реА рдореБрджреНрджрд╛ :( рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдСрд╕реНрдХрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдУрдПрдХреНрд╕рдПрдХреНрд╕ рдкрд░ рдЯреВрдЯ рдЧрдпрд╛ рд╣реИ?

@coderfi рд╕рдорд╛рдзрд╛рди рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛: рд╡рд┐рдВрдбреЛрдЬ 7 docker- рд░рдЪрдирд╛ Cygwin рдореЗрдВ рдкрд╛рдЗрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд

рдПрдХ Centos7 VM рдкрд░ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдирд┐рдкрдЯрдирд╛, рдЬреЛ рдПрдХ рдбреЙрдХрдЯрд░-рдорд╢реАрди рдкрд░ рдХрдВрдЯреЗрдирд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЧреНрд░рд╛рд╣рдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░ рд░рд╣рд╛ рд╣реИ:

[ рд░реВрдЯ @ xxxx рд╕реЗрдореА] # рдбреЙрдХ-рдХрдореНрдкреЛрдЬрд╝ рдкреАрдПрд╕
рдПрд╕рдПрд╕рдПрд▓ рддреНрд░реБрдЯрд┐: рдХреЛрдИ рдЙрдкрдпреБрдХреНрдд рд╕рд╛рдорд╛рдиреНрдп рдирд╛рдо рдпрд╛ рд╡рд┐рд╖рдп рдирд╣реАрдВ рдорд┐рд▓рд╛

рдпрд╣ рдХреНрд╖рдгрд┐рдХ рд╣реБрдЖ рдХрд░рддрд╛ рдерд╛; рдореИрдВ рд▓реЙрдЧ рдЖрдЙрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рд╡рд╛рдкрд╕ ssh рдФрд░ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВред рдЕрдм рдЗрд╕реЗ рд╣рдореЗрд╢рд╛ рджреЗрдЦрдирд╛ред

[ рд░реВрдЯ @ xxxx рд╕реЗрдореА] # рдЕрдЬрдЧрд░-рд╕реА 'рдЖрдпрд╛рдд ssl; рдкреНрд░рд┐рдВрдЯ (ssl.OPENSSL_VERSION) '
OpenSSL 1.0.1e-fips 11 рдлрд╝рд░рд╡рд░реА 2013

[ рд░реВрдЯ @ xxxx рд╕реЗрдореА] # рдбреЙрдХ рд╡рд░реНрдЬрди
рдЧреНрд░рд╛рд╣рдХ рд╕рдВрд╕реНрдХрд░рдг: 1.6.2
рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдкреАрдЖрдИ рд╕рдВрд╕реНрдХрд░рдг: 1.18
рдЧреЛ рд╕рдВрд╕реНрдХрд░рдг (рдЧреНрд░рд╛рд╣рдХ): go1.4.2
Git рдХрдорд┐рдЯ (рдЧреНрд░рд╛рд╣рдХ): ba1f6c3 / 1.6.2
OS / Arch (рдХреНрд▓рд╛рдЗрдВрдЯ): linux / amd64
рд╕рд░реНрд╡рд░ рд╕рдВрд╕реНрдХрд░рдг: рдЭреБрдВрдб / 0.2.0
рдЧреЛ рд╕рдВрд╕реНрдХрд░рдг (рд╕рд░реНрд╡рд░): go1.3.3
Git рдХрдорд┐рдЯ (рд╕рд░реНрд╡рд░): 48fd993
OS / Arch (рд╕рд░реНрд╡рд░): linux / amd64

[ рд░реВрдЯ @ xxxx рд╕реЗрдореА] # рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ --version
docker- рд░рдЪрдирд╛ 1.2.0

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореЗрд░реЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдКрдкрд░ рджрд┐рдП рдЧрдП рдХреБрдЫ рд╕реБрдзрд╛рд░реЛрдВ рдХреЛ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдореИрдВ boot2docker рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ; рдмреИрд╢ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рджрд╛рдИрдВ рдУрд░ 1.6.2 рд╕реЗ рдирд┐рдкрдЯрдирд╛ред

рдирдорд╕реНрддреЗред рдореИрдВрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдмрд╛рдд рдХреЗ рд▓рд┐рдП рдПрдХ рдореБрджреНрджрд╛ рдЦреЛрд▓рд╛ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рдареАрдХ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдореИрдВрдиреЗ рдмрд╣реБрдд рд╕реА рдЪреАрдЬреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ рдЕрд░реНрдерд╛рдд рдкрд╛рдЗрдк / рдмреНрд░реВ / рдиреНрдпреВрд╕реНрдЯ рд╡рд░реНрдЬрди рдХреЗ рд╕рд╛рде рдХрдореНрдкреЛрдЬрд╝ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред Opensl рдХреЗ рд╕рдорд╛рди рд╣реА 0.x 1.0.2x рд╕рдВрд╕реНрдХрд░рдг рдЖрджрд┐ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдЕрднреА рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдкреБрдирд╢реНрдЪ: рдореИрдВ boot2docker рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ред рдореЗрд░рд╛ рдЕрдкрдирд╛ рд╡реАрдПрдо рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рдпреЛрдирд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрдирд╛рддрд╛ рд╣реВрдВ, рд╕реАрд░реЗрдЯреНрд╕ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЙрдирдХреЗ рд╕рд╛рде рдбреЙрдХрдЯрд░ рдбреЗрдорди рдХреЛ рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реВрдВред рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░ рдпрд╣ docker рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рдореЗрд░реЗ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рд╕реЗ рдирд╣реАрдВ рдЖрддреА рд╣реИред

>>> docker run hello-world
Hello from Docker.
[...]
>>> docker-compose up
SSL error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)
>>> docker-compose -v
docker-compose version: 1.3.1
CPython version: 2.7.9
OpenSSL version: OpenSSL 1.0.1j 15 Oct 2014
>>> docker -v
Docker version 1.6.2, build 7c8fca2

рдПрдХ рд╕рдордп рдореЗрдВ рдпрд╣ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реА:

/usr/local/Cellar/fig/1.3.1/libexec/vendor/lib/python2.7/site-packages/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
SSL error: [Errno 1] _ssl.c:507: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed

рдпрд╣рд╛рдБ рдкрдврд╝рдиреЗ рдХреЗ рдмрд╛рдж рдФрд░ рд╕реБрдЭрд╛рдП рдЧрдП рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде mucking:

https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning

рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ рд╕реЗ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ:

[ рд░реВрдЯ @ xxx рд╕реЗрдореА] # рдбреЙрдХ-рдХрдореНрдкреЛрдЬрд╝ рдЕрдк -d
/usr/lib/python2.7/site-packages/requests/packages/urllib3/connection.py:251: SecurityWarning: рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдореЗрдВ рдХреЛрдИ subjectAltName , рд╡рд╛рдкрд╕ рдЧрд┐рд░рдиреЗ рдПрдХ рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП commonName рдХреЗ рд▓рд┐рдП рдЕрднреАред рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рдореБрдЦ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рдирд┐рдХрд╛рд▓реА рдЬрд╛ рд░рд╣реА рд╣реИ рдФрд░ RFC 2818 рджреНрд╡рд╛рд░рд╛ рдЕрдкрдЧреНрд░реЗрдб рдХреА рдЧрдИ рд╣реИред (рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП https://github.com/shazow/urllib3/issues/497 рджреЗрдЦреЗрдВред)
рд╕реБрд░рдХреНрд╖рд╛ рдЪреЗрддрд╛рд╡рдиреА
SSL рддреНрд░реБрдЯрд┐: рд╣реЛрд╕реНрдЯрдирд╛рдо 'xx.xx.xx.xx' рдХрд┐рд╕реА рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддрд╛

(рдмрд┐рдВрджреАрджрд╛рд░ рдХреНрд╡рд╛рдб I xx'd рдмрд╛рд╣рд░ рдЭреБрдВрдб рдорд╛рд╕реНрдЯрд░ / docker рд╣реЛрд╕реНрдЯ рдХрд╛ рд╣реИ)ред

рдХреНрдпрд╛ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдпрд╛ рдкреБрдирд░реНрдЬреАрд╡рд┐рдд рдХрд░рдХреЗ рднреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

рдкрд░рд┐рд╢рд┐рд╖реНрдЯ: рдЗрди рд╡реАрдПрдо рдкрд░ рдкреНрд░рдорд╛рдг рдкрддреНрд░ "docker-machine create" рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдереЗред

рдХреНрдпрд╛ рд╣рдо рдбреЙрдХ-рдорд╢реАрди рдореЗрдВ рдПрдХ рдмрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдПрдХ рдЕрдкрд░реНрдпрд╛рдкреНрдд рд╡рд┐рд╕реНрддреГрдд рдкреНрд░рдорд╛рдг рдкрддреНрд░ рд╣реИ?

рдореИрдВ рдХреЗрд╡рд▓ рдбреЙрдХрд░-рд╣реЛрд╕реНрдЯ рдмрдирд╛рдП рдЧрдП рдбреЙрдХрдЯрд░-рдорд╢реАрди рдХреЗ рд╕рд╛рде рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдПрд╕рдПрд╕рдПрд▓ рд╕реАрдЯреНрд╕ рдареАрдХ рд╕реЗ рдирд╣реАрдВ рдмрди рд░рд╣реЗ рд╣реИрдВ?

рдХрд┐рд╕реА рдХреЛ рднреА рдпрд╣ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рдо рдХреЗ рдЖрд╕рдкрд╛рд╕ рдпрд╛ рдПрдХ рдШреБрд▓рд╛ рд╣реБрдЖ рдкрджрд╛рд░реНрде рд╣реИ? рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдЕрднреА рдПрдХ рдЕрд╡рд░реЛрдзрдХ рдХрд╛ рдПрдХ рд╕рд╛ рд╣реИ: /

@prologic рдХреНрдпрд╛ рдЖрдкрдХреЛ рдмрд╛рдЗрдирд░реА рдХреЗ рд╕рд╛рде рдпрд╛ рдкрд┐рдк-рд╕рдВрд╕реНрдерд╛рдкрд┐рдд requests[security] рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИред

@рдЖрдирдВрдж рдзрдиреНрдпрд╡рд╛рдж! рдореИрдВ рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛ рдФрд░ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реВрдБрдЧрд╛ рдХрд┐ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ!

@prologic рд╣рдо рдкрд╛рдпрдерди рдХреЗ рдмрдЧреНрдЧреА рдПрд╕рдПрд╕рдПрд▓ рдореЙрдбреНрдпреВрд▓ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп requests[security] рдкреИрдХреЗрдЬ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ; рд╣рдо # 1530 рдореЗрдВ рдкреНрд░рдпрд╛рд╕ рдкрд░ рдирдЬрд╝рд░ рд░рдЦ рд░рд╣реЗ рд╣реИрдВред

@рдЖрдирдВрдж рдзрдиреНрдпрд╡рд╛рдж! рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ :)

@coderfi рдЖрдкрдХреЗ рд╕рдорд╛рдзрд╛рди рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛, рдзрдиреНрдпрд╡рд╛рдж

@ рдЖрдирдВрдж 2 рдЬреВрди рдирд┐рд░реНрдорд╛рдг рдореЗрд░реЗ рд▓рд┐рдП рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рджрд░реНрджрдирд╛рдХ рдмрдЧ рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реБрднрдХрд╛рдордирд╛рдПрдБред

@neilsarkar рдореИрдВ

рдореИрдВ рдУрдПрд╕ рдПрдХреНрд╕ 10.9.5 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдпрд╣рд╛рдВ рдореЗрд░рд╛ рдмрд╣реБрдд рдзреНрдпрд╛рди рд╣реИ:

# тЮЬ  openssl version
# OpenSSL 1.0.2d 9 Jul 2015

тЮЬ  pyenv local system # switch to built-in python 2.7.5 for current directory
# тЮЬ  python --version
# Python 2.7.5
# тЮЬ  python -c 'import ssl; print(ssl.OPENSSL_VERSION)'
# OpenSSL 0.9.8zd 8 Jan 2015

# тЮЬ  docker-compose --version
# docker-compose version: 1.3.1
# CPython version: 2.7.5
# OpenSSL version: OpenSSL 0.9.8zd 8 Jan 2015

# тЮЬ  docker-compose ps
# /usr/local/Cellar/fig/1.3.1/libexec/vendor/lib/python2.7/site-packages/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
#   InsecurePlatformWarning
# Name   Command   State   Ports
# ------------------------------

рдореЗрд░рд╛ рд╕рдорд╛рдзрд╛рди:

246: 253 рдХреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ
/usr/local/Cellar/fig/1.3.1/libexec/vendor/lib/python2.7/site-packages/requests/packages/urllib3/connection.py

рдпрд╣ рд╡рд╣ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ рдЬреЛ рд╕реБрд░рдХреНрд╖рд╛ рдЕрдкрд╡рд╛рдж рдХреЛ рдлреЗрдВрдХ рд░рд╣рд╛ рд╣реИ

рдореЗрд░реЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рдпрд╣ рдереА рдХрд┐ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЖрдкрдиреЗ рдореБрдЭреЗ рдХрд╛рдврд╝рд╛ рд▓рд┐рдВрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ --рдлреЛрд░реНрд╕ рдУрдкрдирд╕реЗрд▓, рдЕрдВрдЬреАрд░ / рдбреЛрдХрд░-рдХрдореНрдкреЛрдЬ рдЕрднреА рднреА рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ / рдпреВрдПрд╕рдЖрд░ / рдмрд┐рди / рдУрдкрдирд╕реЗрд▓ред

$ sudo mv /usr/bin/openssl /usr/bin/openssl_old
$ brew link --force openssl OR brew unlink openssl && brew link --force openssl

рдЗрд╕рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ред рдЕрдм рдореБрдЭреЗ рдкрд░реЗрд╢рд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдореИрд╕реЗрдЬ рдирд╣реАрдВ рдЖрддрд╛ред

FYI рдХрд░реЗрдВ, рдХрд╛рдврд╝рд╛ рдЕрдВрдЬреАрд░ / docker-compose рд░реЗрд╕рд┐рдкреА рд╕рд┐рд╕реНрдЯрдо python рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк pythv рдХреЛ pyenv рдпрд╛ brew рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рднреА brew / fig / docker-compose рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдлрд┐рд░ рднреА рдпрджрд┐ рдЙрдкрд▓рдмреНрдз рд╣реЛ, рддреЛ рд╕рд┐рд╕реНрдЯрдо opensl lib рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛, рдЕрдиреНрдпрдерд╛, рдЗрд╕рдХрд╛ рдХреБрдЫ рдЕрдиреНрдп рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ред

рдХрд╛рдо рдкрд░ рдореЗрд░реЗ рдореИрдХ рдкрд░ рдореИрдВрдиреЗ рдЗрд╕реЗ pyenv рдХреЗ рд╕рд╛рде рд╣рд▓ рдХрд┐рдпрд╛ 2.7.8 рд╕реНрдерд╛рдкрд┐рдд, рдлрд┐рд░ easy_install рдкрд╛рдЗрдк, рдФрд░ рдкрд╛рдЗрдк рд╕реНрдерд╛рдкрд┐рдд docker- рд░рдЪрдирд╛ред

рд▓реЗрдХрд┐рди рдШрд░ рдкрд░ рдореЗрд░реЗ рдореИрдХ рдкрд░, "рджреЛрдиреЛрдВ рд░рдирд┐рдВрдЧ рдпреЛрд╕рдорд╛рдЗрдЯ" рдореИрдВрдиреЗ рд╡рд╣реА рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЕрднреА рднреА рдЪреЗрддрд╛рд╡рдиреА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдЦреБрджрд╛рдИ рдХрд░рддреЗ рд░рд╣реЗрдВрдЧреЗред

@dtunes - рдореВрд▓ рдХрд╛рд░рдг ( @aanand рдКрдкрд░ рд╕рдВрджрд░реНрднрд┐рдд) https://github.com/boot2docker/boot2docker/issues/808 рд╣реИред рд╕рд┐рд╕реНрдЯрдо-рдкрд╛рдЗрдерди / рд╣реЛрдордмреНрд░реЗрд╡-рдкрд╛рдЗрдерди рдЪреАрдЬрд╝ рдПрдХ рд▓рд╛рд▓ рд╣реЗрд░рд┐рдВрдЧ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рд┐рд░реНрдл рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдирдП рдпрд╛ рдкреБрд░рд╛рдиреЗ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВред

рд╣рд╛рдВ, рдореИрдВрдиреЗ рд╡рд╣ рдЯрд┐рдХрдЯ рджреЗрдЦрд╛ред рдЬреЛ рдЪреАрдЬ рдореБрдЭреЗ рдкрд░реЗрд╢рд╛рди рдХрд░ рд░рд╣реА рд╣реИ, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдореИрдХ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЛрдВ рд╕реЗ рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рднреА рдХреЛрдИ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ред
рдлрд┐рд░ рдореИрдВ / usr / bin / рдЦреБрд▓рдиреЗ рдХрд╛ рд╕рдордп рдмрдврд╝рд╛рддрд╛ / usr / bin / opensl_old рдХрд░рддрд╛ рдЧрдпрд╛, рд╣реЛрдо рдУрдкрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдирд╡реАрдирддрдо рдЦреБрд▓рдиреЗ рд╡рд╛рд▓реЗ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рд▓рд┐рдВрдХ рдХрд┐рдпрд╛ред рддрднреА рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдп рдХрд┐рдпрд╛:

~ $ brew install pyenv
~ $ pyenv install 2.7.8
~ $ pyenv global 2.7.8
~ $ easy_install pip
~ $ pip install docker-compose

рдпрд╣ рдореЗрд░реЗ рдШрд░ рдкрд░ рдореИрдХ рдкрд░ рдХрд╛рдо рдкрд░ рдЪрд╛рд▓ рдЪрд▓реА, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рдореИрдВ рдлрд┐рд░ рд╕реЗ рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛ рдХрд┐ рдореИрдВ рдПрдХ рдЧрд▓рддреА рдХрд░реВрдБ рдФрд░ рдкрд░рд┐рдгрд╛рдо рд╡рд╛рдкрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реВрдБред

@dtunes - рдЕрдкрдиреЗ рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ ~/Library/Caches/pip рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЧрд▓рдд рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдХреЗ рдЦрд┐рд▓рд╛рдл рдирд┐рд░реНрдорд┐рдд рдХреИрд╢реНрдб рдмрд╛рдЗрдирд░реА рд╡реНрд╣реАрд▓ рдлрд┐рд░ рд╕реЗ рдЙрдкрдпреЛрдЧ рди рд╣реЛред

@glyph рдиреЗ рд▓рд┐рдЦрд╛ :

рдореВрд▓ рдХрд╛рд░рдг (рдЬреИрд╕рд╛ рдХрд┐ @aanand рдКрдкрд░ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ) boot2docker / boot2docker # 808 рд╣реИред рд╕рд┐рд╕реНрдЯрдо-рдкрд╛рдЗрдерди / рд╣реЛрдордмреНрд░реЗрд╡-рдкрд╛рдЗрдерди рдЪреАрдЬрд╝ рдПрдХ рд▓рд╛рд▓ рд╣реЗрд░рд┐рдВрдЧ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рд┐рд░реНрдл рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдирдП рдпрд╛ рдкреБрд░рд╛рдиреЗ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рд╕реЗ рдЬреБрдбрд╝реЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВред

@glyph рдпрд╛ @aanand , рдХреНрдпрд╛ рдпрд╣ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ рдХрд┐ # 1474 рд╕реЗ рд╡рд┐рд▓рдп рдХрд┐рдпрд╛ рдЧрдпрд╛ @aand рдХрд╛ рдлрд╝рд┐рдХреНрд╕ (рдХрд╛рдо рдХреЗ рдЖрд╕-рдкрд╛рд╕) рдХреЗрд╡рд▓ рдЯреВрдЯреЗ рд╣реБрдП b2d рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рддрд╛ рд╣реИ? @рдЖрдирдВрдж , рдЕрдЧрд░ boot2docker / boot2docker # 808 рдХреЛ рдареАрдХ рд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ # 1474 рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП? рдЕрдЧрд▓реЗ рдореЗрдВ рдЖрд╢рд╛ рджреЗ рд░рд╣рд╛ рд╣реИ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рд░рд┐рд╣рд╛рдИ (рджреЗрдЦреЗрдВ рдЗрд╕ рдФрд░ рдЗрд╕ рднреА рдПрдХ рд░реЗрдб рд╣реЗрд░рд┐рдВрдЧ)?

@ рдЖрдирдВрдж рдиреЗ рд▓рд┐рдЦрд╛ :

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдореИрдВ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдмреВрдЯ 2 рдбреЙрдХ рд╡реАрдПрдо рдХреЗ рд▓рд┐рдП рдбреЙрдХрдЯрд░-рдорд╢реАрди рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рд╡рдзрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - рдпрд╣ рдХреЗрд╡рд▓ рдмреВрдЯ 2 рдбреЙрдХ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдПрдХ рд╡реАрдПрдо рдХреЗ рдкреНрд░рд╛рд╡рдзрд╛рди рдХреЗ рдЦрд┐рд▓рд╛рдл рд╣реЛрддрд╛ рд╣реИред

@ehazlett рдиреЗ рд▓рд┐рдЦрд╛ :

рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ b2d рдореЗрдВ рдкреНрд░рдорд╛рдгрд┐рдд рдкреАрдврд╝реА рд╡реАрдПрдо рдкрд░ рд╣реИ рдЬрдмрдХрд┐ рдорд╢реАрди рдЙрдиреНрд╣реЗрдВ рдорд╢реАрди рдореЗрдВ рдЙрддреНрдкрдиреНрди рдХрд░рддреА рд╣реИред

рдореБрдЭреЗ рдЧрд▓рддрдлрд╣рдореА рд╣реЛ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рд╣реЛрд╕реНрдЯ-рд╕рд╛рдЗрдб рдкрд╛рдпрдерди / рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХреЛ рджреЛрд╖реА рдард╣рд░рд╛рддреЗ рд╣реБрдП рдмрд╣реБрдд рд╕рд╛рд░реА рдмрдХрд╡рд╛рд╕ рд╣реИред рдпрджрд┐ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕реНрд░реЛрдд b2d рдХреЗ рд╕рд╛рде рд╡рд┐рддрд░рд┐рдд рдПрдХ рдЯреВрдЯрд╛ рд╣реБрдЖ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рд╣реИ, рддреЛ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдХрдореНрдкреЛрдЬрд╝ рдХреА рдореЗрдЬрдмрд╛рди-рд╕рд╛рдЗрдб рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдЯреВрдЯреА рд╣реБрдИ рд╣реИ? рдЬреЛ рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рд╣реИ, рдЙрд╕рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╣реЛрд╕реНрдЯ-рд╕рд╛рдЗрдб рдХреЙрдиреНрдЯреНрд░реЛрд╡рд░реНрд╕реАрдЬрд╝ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдмреА 2 рдбреА рдЪрд▓рд╛рддреЗ рд╣реИрдВ (рдЬреИрд╕реЗ) рд╡реИрдЧреНрд░рдВрдЯ, рдФрд░ рдЗрд╕реЗ рдХрдВрдкреЛрдЬрд╝ рдХреЗ рдмрд╛рд╣рд░ рдПрдХреНрд╕реЗрд╕ рдХрд░рддреЗ рд╣реИрдВ (рджреЗрдЦреЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, docker / docker-py (465 )ред

рдпрджрд┐ рдпрд╣ рдЯрд┐рдкреНрдкрдгреА boot2docker / boot2docker # 808 рдореЗрдВ рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд╣реИ, рддреЛ рдореИрдВ рдЗрд╕реЗ рд╡рд╣рд╛рдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдореИрдВ рдПрдХ Homebrew рдЕрдиреБрдЪрд░ рд╣реВрдБ рдФрд░ рдореИрдВрдиреЗ рдЗрд╕реЗ рдиреАрдЪреЗ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рдЧреНрд▓рд┐рдлрд╝ рдХреА рдорджрдж рдХреАред

Boot2docker рджреНрд╡рд╛рд░рд╛ рд╕реГрдЬрд┐рдд рд╕рд░реНрд╡рд░ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдХреЗ рд╡рд┐рд╖рдп рдФрд░ рдЬрд╛рд░реАрдХрд░реНрддрд╛ рдбреАрдПрди рдХреА рдкрд╣рдЪрд╛рди /O=Boot2Docker ред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ CA рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди AFAICT OpenSSL 1.0.2 рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА (рдпрд╛рдиреА рд╕рдорд░реВрдк рд╕рдмреНрдЬреЗрдХреНрдЯ рдФрд░ рдЬрд╛рд░реАрдХрд░реНрддрд╛ рдбреАрдПрди) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╕рд░реНрд╡рд░ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдХреЛ рд╕реНрд╡-рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдХреЗ рдмрдЬрд╛рдп рд╕рд░реНрд╡рд░ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПред рд╕реАрдП рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯред 1.0.2 рд╕реЗ рдкрд╣рд▓реЗ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рд╕реАрдП рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рд░реНрд╡рд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЛ рдорд╛рдиреНрдп рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рд╕рдлрд▓ рд╣реЛрддрд╛ рд╣реИред

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд▓реЗрдХрд┐рди рдпрд╣ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рдФрд░ CA рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдмреНрдЬреЗрдХреНрдЯ рдбреАрдПрди (рддрд╛рдХрд┐ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдмреНрдЬреЗрдХреНрдЯреНрд╕ рдФрд░ рдЗрд╢реВрдЕрд░ рдбреАрдПрди рд╣реЛрдВ) рджреЗрдиреЗ рд╕реЗ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рд╕рднреА рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рд╡рд░реНрдЬрди рдХреЗ рддрд╣рдд рдорд╛рдиреНрдп рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ ( рдЗрд╕ X.509 рдЙрддреНрддрд░рдЬреАрд╡рд┐рддрд╛ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдХреЗ рдореЗрд░реЗ рдкрдврд╝рдиреЗ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдирд╣реАрдВ), рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реИ, рдХрд┐ OpenSSL 1.0.2 рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдЙрдЪрд┐рдд рд╣реИ рдФрд░ рдПрдХ рдкреНрд░рддрд┐рдЧрдорди рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ OpenSSL рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

1474 рджреЛ рдЕрд▓рдЧ рдмрд╛рддреЗрдВ рдХрд░рддрд╛ рд╣реИ:

  • 2.7.9 рдкрд░ рдПрдХ рдиреНрдпреВрдирддрдо рдкрд╛рдпрдерди рд╕рдВрд╕реНрдХрд░рдг рдХреА рд╕реНрдерд╛рдкрдирд╛: рдпрд╣ urllib3 рдХреЛ InsecurePlatformWarning рдХреЛ рдЬрд╛рд░реА рдХрд┐рдП рдмрд┐рдирд╛ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ HTTPS рдХрдиреЗрдХреНрд╢рди рдмрдирд╛рддреЗ рд╕рдордп рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрджрд┐ рджреЛрдиреЛрдВ рджреЛ рд╢рд░реНрддреЗрдВ рдкреВрд░реА рд╣реЛрддреА рд╣реИрдВ: рдкрд╛рдпрдерди рд╕рдВрд╕реНрдХрд░рдг 2.7.9 рд╕реЗ рдкрд╣рд▓реЗ рд╣реИ, рдФрд░ PyOpenSSL рдореЙрдбреНрдпреВрд▓ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред рдмрдВрдбрд▓рд┐рдВрдЧ PyOpenSSL рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдкреНрд░рднрд╛рд╡реА рд╣реЛрдЧрд╛ рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рдЪрд░реНрдЪрд╛ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ PyInstaller рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИред рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ, urllib3 рдХрд╛ InsecurePlatformWarning boot2docker рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИ, рдФрд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рд╕реЗ рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
  • 1.0.1j рдкрд░ рдЕрдзрд┐рдХрддрдо рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗрдЯ рдХрд░рдирд╛ред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ boot2docker рдкреНрд░рдорд╛рдгрдкрддреНрд░ рддрдп рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдпрд╣ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрджрд┐ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕реНрд░реЛрдд b2d рдХреЗ рд╕рд╛рде рд╡рд┐рддрд░рд┐рдд рдПрдХ рдЯреВрдЯрд╛ рд╣реБрдЖ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рд╣реИ

рдпрд╣ рдирд╣реАрдВ; Open2L boot 1.0.2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ boot2docker рдкреНрд░рдорд╛рдгрдкрддреНрд░ ( рдЗрд╕ рдХреЛрдб рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди) рдЕрдорд╛рдиреНрдп рд╣реИрдВ; OpenSSL рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ boot2docker рдХреЗ рд╕рд╛рде рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрд╕реЗ рдлрдВрд╕рд╛рдпрд╛ рдирд╣реАрдВ рдЧрдпрд╛ рд╣реИред

@glyph рдпрд╛ @aanand , рдХреНрдпрд╛ рдпрд╣ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ рдХрд┐ # 1474 рд╕реЗ рд╡рд┐рд▓рдп рдХрд┐рдпрд╛ рдЧрдпрд╛ @aand рдХрд╛ рдлрд╝рд┐рдХреНрд╕ (рдХрд╛рдо рдХреЗ рдЖрд╕-рдкрд╛рд╕) рдХреЗрд╡рд▓ рдЯреВрдЯреЗ рд╣реБрдП b2d рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рддрд╛ рд╣реИ? @рдЖрдирдВрдж , рдЕрдЧрд░ boot2docker / boot2docker # 808 рдХреЛ рдареАрдХ рд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ # 1474 рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП? рдХреНрдпрд╛ рдЕрдЧрд▓реА рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдЖрд╢рд╛ рд╣реИ (рдЗрд╕реЗ рджреЗрдЦреЗрдВ рдФрд░ рдпрд╣ рднреА) рдПрдХ рд▓рд╛рд▓ рд╣реЗрд░рд┐рдВрдЧ рд╣реИ?

рд╣рд╛рдВ рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ OpenSSL рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд╕рд╛рде 1.0.2 рд╣реИ, рдФрд░ рдЗрд╕реЗ 1.0.1 рддрдХ рд╕реАрдорд┐рдд рдХрд░рдХреЗ, рдпрд╣ рдЬреЛ рднреА рд╕рддреНрдпрд╛рдкрди рддрд░реНрдХ рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рдХрд╛ рдХрд╛рд░рдг рдмрди рд░рд╣рд╛ рд╣реИ, рдЙрд╕рд╕реЗ рдмрдЪрдирд╛ рд╣реЛрдЧрд╛ред рдореБрдЭреЗ рдЕрднреА рднреА _what_ рдирд╣реАрдВ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрд╕ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ рдЬрд┐рд╕реЗ рд╡рд╣ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдмрд╣реБрдд рд╣реА рдЕрдкреНрд░рд┐рдп рд╣реИрдВред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ # 1474 рдЬреЛ рдХрд░ рд░рд╣рд╛ рд╣реИ рд╡рд╣ рдмрд╣реБрдд рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИ; рдХрдо рд╕реЗ рдХрдо рдореЗрд░реЗ рдкрдврд╝рдиреЗ рд╕реЗ, рдпрд╣ _minimum_ python рд╕рдВрд╕реНрдХрд░рдг рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ _exact_ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрд╣ рднреА рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЬреЛ рднреА рдХрд░рддреЗ рд╣реИрдВ рдЙрд╕рдХрд╛ рдЪреЗрдХ рдлреЗрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ j рд╕реЗ рдЕрд▓рдЧ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╕реБрд░рдХреНрд╖рд╛ рдЕрдкрдбреЗрдЯ рдХреЛ рднреА 1.0.1 рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬреЛ _definitely_ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд▓реЗрдХрд┐рди рдпрд╣ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рдФрд░ CA рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдмреНрдЬреЗрдХреНрдЯ рдбреАрдПрди (рддрд╛рдХрд┐ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕рдмреНрдЬреЗрдХреНрдЯреНрд╕ рдФрд░ рдЗрд╢реВрдЕрд░ рдбреАрдПрди рд╣реЛрдВ) рджреЗрдиреЗ рд╕реЗ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рд╕рднреА рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рд╡рд░реНрдЬрди рдХреЗ рддрд╣рдд рдорд╛рдиреНрдп рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ (рдЗрд╕ X.509 рдЙрддреНрддрд░рдЬреАрд╡рд┐рддрд╛ рдЧрд╛рдЗрдб рдХреЗ рдореЗрд░реЗ рдкрдврд╝рдиреЗ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдирд╣реАрдВ), рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реИ, рдХрд┐ OpenSSL 1.0.2 рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдЙрдЪрд┐рдд рд╣реИ рдФрд░ рдПрдХ рдкреНрд░рддрд┐рдЧрдорди рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ OpenSSL рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореИрдВ docker-machine -рдкреНрд░рдорд╛рдгрд┐рдд рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░реВрдВрдЧрд╛ рдФрд░ рджреЗрдЦреВрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╕рдВрдкрддреНрддрд┐ рд╣реИред рдЖрдк рдХреНрдпреЛрдВ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдореЗрдВ рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реЛрдЧрд╛ / рдкреНрд░рддрд┐рдЧрдорди рдирд╣реАрдВ рд╣реЛрдЧрд╛? рдПрдХ рд╕реНрд╡-рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдареАрдХ рд╣реИ, рдФрд░ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рддрд┐рдмрдВрдз рдирд╣реАрдВ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕ рд╡рд┐рд╖рдп рдпрд╛ рдЬрд╛рд░реАрдХрд░реНрддрд╛ рдореЗрдВ рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЬрд╛рдЧрд░реВрдХ рд╣реВрдВред рдореИрдВрдиреЗ рдЙрд╕ рдЧрд╛рдЗрдб рдХрд╛ рдереЛрдбрд╝рд╛ рд╕рд╛ рд╕реНрдХрд┐рдо рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рдХреЗрд╡рд▓ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реНрд╡-рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдореЗрдВ рд╕реАрдП-рдХрд╛рд░реНрдЯреЗрд▓ рдЯреНрд░рд╕реНрдЯ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХрд╛ рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдмрд┐рдирд╛ рдЙрди рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

рдореЗрд░реЗ docker-machine VM рдореЗрдВ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ:

...
        Issuer: O=glyph
...
        Subject: O=dev
...

рддреЛ рдЖрдк рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕рд╣реА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ ...

рдореИрдВ рдбреЙрдХрдЯрд░-рдорд╢реАрди-рдЬрдирд░реЗрдЯреЗрдб рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдХреА рдЬрд╛рдВрдЪ рдХрд░реВрдВрдЧрд╛ рдФрд░ рджреЗрдЦреВрдВрдЧрд╛ рдХрд┐ рдЙрд╕рдореЗрдВ [рдорд┐рд▓рд╛рди рд╡рд┐рд╖рдп рдФрд░ рдЬрд╛рд░реАрдХрд░реНрддрд╛ рдбреАрдПрди] рд╣реИ рдпрд╛ рдирд╣реАрдВред

рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдирдВрдж рдХреЗ рдбреЙрдХрдЯрд░-рдорд╢реАрди рд╕реЗрд░ рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ DNs рднреА рд╣реИрдВ: https://gist.github.com/aanand/3d865623481ba8ae66ee#file -docker-machine-log-L30-L32

рдПрдХ рд╕реНрд╡-рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдареАрдХ рд╣реИ

рдЬрдм рддрдХ рдЖрдк рд╕реНрд╡-рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рддрдм рддрдХ рдПрдХ рд╕реНрд╡-рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реИред рд╣рдо рд╕рд░реНрд╡рд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдХреЛ рдирд┐рд░реНрджреЗрд╢ рдирд╣реАрдВ рджреЗрддреЗ рд╣реИрдВ; рд╣рдо OpenSSL рдХреЛ рдирд┐рд░реНрджреЗрд╢ рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рд╕рд░реНрд╡рд░ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдЬрд╛рд░реА рдХрд░рдиреЗ рд╡рд╛рд▓реЗ CA рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░реЗрдВред

рдЖрдк рдХреНрдпреЛрдВ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдореЗрдВ рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реЛрдЧрд╛ / рдкреНрд░рддрд┐рдЧрдорди рдирд╣реАрдВ рд╣реЛрдЧрд╛?

IANAL, рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рддрд░реНрдХ рднрд╛рд╖рд╛ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ "рдПрдХ рд╕рдЦреНрдд рд╕реНрддрд░ рдкрд░ [рд╕реНрд╡-рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд] рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдореЗрдВ рдЬрд╛рд░реАрдХрд░реНрддрд╛ рдФрд░ рд╡рд┐рд╖рдп рдХреНрд╖реЗрддреНрд░ рд╕рдорд╛рди рд╣реИрдВред" рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ boot2docker рд╕рд░реНрд╡рд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЗ рд▓рд┐рдП рдорд╛рдорд▓рд╛ рд╣реИред рдЬрдм OpenSSL boot2docker рд╕рд░реНрд╡рд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЛ рдорд╛рдиреНрдп рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ, рддреЛ CA рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдП рдмрд┐рдирд╛ рдПрдХ рдкреВрд░реНрдг рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕рд░реНрд╡рд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕реНрд╡рдпрдВ рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдорд╛рдиреНрдп рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ред рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХрдбрд╝рд╛рдИ рд╕реЗ рд╕рд╣реА рдпрд╛ рдЖрд╡рд╢реНрдпрдХ рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИ рдФрд░ рдореИрдВ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реВрдВ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ "рдЙрдЪрд┐рдд" рд╣реИред

рдЦреБрджрд╛рдИ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рджреЛрд╕реНрддреЛрдВред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ # 1474 рдЬреЛ рдХрд░ рд░рд╣рд╛ рд╣реИ рд╡рд╣ рдмрд╣реБрдд рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИ; рдХрдо рд╕реЗ рдХрдо рдореЗрд░реЗ рдкрдврд╝рдиреЗ рд╕реЗ, рдпрд╣ рдПрдХ рдиреНрдпреВрдирддрдо рдЕрдЬрдЧрд░ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╕рдЯреАрдХ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрд╣ рднреА рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЬреЛ рднреА рдХрд░рддреЗ рд╣реИрдВ рдЙрд╕рдХрд╛ рдЪреЗрдХ рдлреЗрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ j рд╕реЗ рдЕрд▓рдЧ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╕реБрд░рдХреНрд╖рд╛ рдЕрдкрдбреЗрдЯ рдХреЛ рднреА 1.0.1 рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред

рдорд╛рдирд╛ред рдпрд╣ рдорд╛рдирдХрд░ рдХрд┐ рдпрд╣ OpenSSL 1.0.2 рд╣реИ рдЬреЛ boot2docker рдХреЗ рд╕рдорд╛рд░реЛрд╣реЛрдВ рд╕реЗ рдЕрд╕рд╣рдордд рд╣реИ, рдЙрд╕ рднрд╛рдЧ рдХреЛ рдХрдо рд╕реЗ рдХрдо рдирд┐рд╢реНрдЪрд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП - рдореИрдВ рдПрдХ рдУрдкрди-рдЯреВ-рдбреЗрдЯ OpenSSL 1.0.1 рдкреНрд░рд╛рдкреНрдд рдХрд░реВрдБрдЧрд╛ред

@tdsmith , рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж рдФрд░ рдЧрд▓рддрдлрд╣рдореА рдХреЗ рд▓рд┐рдП рдорд╛рдлреАред @glyph , рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

FWIW, рдореИрдВрдиреЗ @tdsmith рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдФрд░ Issuer рдФрд░ Subject рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рдорд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП generate_cert (рдпрд╣ рдореБрдЭреЗ рдорд╛рдл рдХрд░ рджрд┐рдпрд╛) рд╡рд░реНрддрдорд╛рди рдореЗрдВ generate_cert рдмрдирд╛рдо рдореЗрд░реЗ рд╣реИрдХ рдХрд┐рдП рдЧрдП рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдЙрддреНрдкрдиреНрди рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде b2d рдЪрд▓рд╛рдиреЗ рдкрд░ рдореБрдЭреЗ рдпрд╣рд╛рдВ рдХреНрдпрд╛ рдорд┐рд▓реЗрдЧрд╛:

0.9.8zd рдореВрд▓ generate_cert (0.1) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

% /usr/bin/openssl version
OpenSSL 0.9.8zd 8 Jan 2015
% /usr/bin/openssl s_client -showcerts -connect "${DOCKER_HOST#tcp:\/\/}" -key "${DOCKER_CERT_PATH}/key.pem" -cert "${DOCKER_CERT_PATH}/cert.pem" -CAfile "${DOCKER_CERT_PATH}/ca.pem" -tls1 </dev/null
depth=1 /O=Boot2Docker
verify return:1
depth=0 /O=Boot2Docker
verify return:1
CONNECTED(00000003)
---
Certificate chain
 0 s:/O=Boot2Docker
   i:/O=Boot2Docker
-----BEGIN CERTIFICATE-----
MIIC/TCCAeegAwIBAgIRAKt8Sy0ND8z8omBU0uhODVAwCwYJKoZIhvcNAQELMBYx
...
qKFg5oUO9wigoGlwnSjqC/5ZmFRf9B+nWeCUVi/vWl0skOIqCMlDamD8AOVtmtRg
tg==
-----END CERTIFICATE-----
---
Server certificate
subject=/O=Boot2Docker
issuer=/O=Boot2Docker
---
Acceptable client certificate CA names
/O=Boot2Docker
---
SSL handshake has read 2554 bytes and written 2188 bytes
---
New, TLSv1/SSLv3, Cipher is AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : AES256-SHA
    Session-ID: 621C9DF6883DA1FAF273408D0C984AC6E1DA33BA44ADA0EBA88BE59490560CFC
    Session-ID-ctx: 
    Master-Key: 39A75DE8551C41241CDBF889A5EF32DC7F86A45C792218B7E380E90627C7D0691BC5FCCAB69154B84142171F866F36C2
    Key-Arg   : None
    TLS session ticket:
    0000 - 77 ca 24 b7 2e 33 6a fc-9d 6e d0 eb aa 0d d5 89   w.$..3j..n......
    ...
    0630 - db 49 35 a1 97                                    .I5..

    Start Time: 1438703085
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
---
DONE

1.0.2d (MacPorts рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдкрд┐рдд) _not_ рдореВрд▓ generate_cert (0.1) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

% openssl version
OpenSSL 1.0.2d 9 Jul 2015
% openssl s_client -showcerts -connect "${DOCKER_HOST#tcp:\/\/}" -key "${DOCKER_CERT_PATH}/key.pem" -cert "${DOCKER_CERT_PATH}/cert.pem" -CAfile "${DOCKER_CERT_PATH}/ca.pem" -tls1 </dev/null
depth=0 O = Boot2Docker
verify error:num=18:self signed certificate
verify return:1
depth=0 O = Boot2Docker
verify error:num=21:unable to verify the first certificate
verify return:1
CONNECTED(00000003)
---
Certificate chain
 0 s:/O=Boot2Docker
   i:/O=Boot2Docker
-----BEGIN CERTIFICATE-----
MIIC/TCCAeegAwIBAgIRAKt8Sy0ND8z8omBU0uhODVAwCwYJKoZIhvcNAQELMBYx
...
qKFg5oUO9wigoGlwnSjqC/5ZmFRf9B+nWeCUVi/vWl0skOIqCMlDamD8AOVtmtRg
tg==
-----END CERTIFICATE-----
---
Server certificate
subject=/O=Boot2Docker
issuer=/O=Boot2Docker
---
Acceptable client certificate CA names
/O=Boot2Docker
Client Certificate Types: RSA sign, ECDSA sign
Server Temp Key: ECDH, P-256, 256 bits
---
SSL handshake has read 2156 bytes and written 1373 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1
    Cipher    : ECDHE-RSA-AES256-SHA
    Session-ID: BAE02ACF63C2F4E28C46664CEB8E790DB0F00E8CB75913484BFE88CC215995D2
    Session-ID-ctx: 
    Master-Key: C7227519074A26A51D815655721F18C63932897D731D1BF077B8374F8A021D51EDF2E603386D249ED62127BD71A86048
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket:
    0000 - 14 b0 7a 58 68 91 62 10-14 53 04 cf da 41 63 6e   ..zXh.b..S...Acn
    ...
    0350 - 5f 8e fe fd 9c b0 d0                              _......

    Start Time: 1438703297
    Timeout   : 7200 (sec)
    Verify return code: 21 (unable to verify the first certificate)
---
DONE

0.9.8zd рд╣реИрдХ рдХрд┐рдП рдЧрдП generate_cert (0.1.1 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ; рдЖрд╢реНрдЪрд░реНрдп рдХреА рдмрд╛рдд рдирд╣реАрдВ)

% /usr/bin/openssl s_client -showcerts -connect "${DOCKER_HOST#tcp:\/\/}" -key "${DOCKER_CERT_PATH}/key.pem" -cert "${DOCKER_CERT_PATH}/cert.pem" -CAfile "${DOCKER_CERT_PATH}/ca.pem" -tls1 </dev/null
depth=1 /O=Boot2DockerCA
verify return:1
depth=0 /O=Boot2Docker
verify return:1
CONNECTED(00000003)
---
Certificate chain
 0 s:/O=Boot2Docker
   i:/O=Boot2DockerCA
-----BEGIN CERTIFICATE-----
MIIC/zCCAemgAwIBAgIRAMLl0tA00F2BDjyktFSD5aEwCwYJKoZIhvcNAQELMBgx
...
jhzP4aW3a8uAdpQXjf8nmJ5Qrq4Xb6yWAezXRdmPWfG1u4neBQKy1Zp64PiBd+0v
1UPu
-----END CERTIFICATE-----
---
Server certificate
subject=/O=Boot2Docker
issuer=/O=Boot2DockerCA
---
Acceptable client certificate CA names
/O=Boot2DockerCA
---
SSL handshake has read 2563 bytes and written 2193 bytes
---
New, TLSv1/SSLv3, Cipher is AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : AES256-SHA
    Session-ID: 1E52C9982BE1F98559529B9E804D330ADD5EC8654EE9F3AFE6139B2AEAB24919
    Session-ID-ctx: 
    Master-Key: 0714B120A52F735C484BF0F6612909CEB5FAF27D5E66B3DDB76DCB32FFE506F70E4BC5EFC42BB19E5CBE6223ACEA5803
    Key-Arg   : None
    TLS session ticket:
    0000 - c4 54 e0 2f 90 68 f2 22-7a c9 ee 2f fb da 25 7a   .T./.h."z../..%z
    ...
    0630 - 5c 95 c6 0a e9 bd 21 70-fd                        \.....!p.
    063a - <SPACES/NULS>

    Start Time: 1438703534
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
---
DONE

1.0.2d _works (!) _: Tada:: see_no_evil:: Hear_no_evil:: Speak_no_evil: рд╣реИрдХ рдХрд┐рдП рдЧрдП generate_cert (0.1.1) рдХреЗ рд╕рд╛рде

% openssl s_client -showcerts -connect "${DOCKER_HOST#tcp:\/\/}" -key "${DOCKER_CERT_PATH}/key.pem" -cert "${DOCKER_CERT_PATH}/cert.pem" -CAfile "${DOCKER_CERT_PATH}/ca.pem" -tls1 </dev/null
depth=1 O = Boot2DockerCA
verify return:1
depth=0 O = Boot2Docker
verify return:1
CONNECTED(00000003)
---
Certificate chain
 0 s:/O=Boot2Docker
   i:/O=Boot2DockerCA
-----BEGIN CERTIFICATE-----
MIIC/zCCAemgAwIBAgIRAMLl0tA00F2BDjyktFSD5aEwCwYJKoZIhvcNAQELMBgx
...
jhzP4aW3a8uAdpQXjf8nmJ5Qrq4Xb6yWAezXRdmPWfG1u4neBQKy1Zp64PiBd+0v
1UPu
-----END CERTIFICATE-----
---
Server certificate
subject=/O=Boot2Docker
issuer=/O=Boot2DockerCA
---
Acceptable client certificate CA names
/O=Boot2DockerCA
Client Certificate Types: RSA sign, ECDSA sign
Server Temp Key: ECDH, P-256, 256 bits
---
SSL handshake has read 2899 bytes and written 2111 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1
    Cipher    : ECDHE-RSA-AES256-SHA
    Session-ID: 0F1A3A0AB7B1E7C1CFD43CED169E730745DEB935C4DBEDDC7CD8AB698ECB8896
    Session-ID-ctx: 
    Master-Key: A48F441FD8677E1602BFB96DC7E9B39D0E9A7241D1C4AF93F3022ACB621C73E16BD69F557FF4428B033B1C07DF5EB0FB
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket:
    0000 - 30 e1 e9 1a 4d e0 48 78-14 22 e8 21 5d 84 e7 6f   0...M.Hx.".!]..o
    ...
    0630 - 27 15 8a 64 ff 2e 24 44-3d d8                     '..d..$D=.

    Start Time: 1438703550
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
---
DONE

рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдВ

рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреЗ рд╣рд┐рдд рдореЗрдВ, рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЬрдм рдореВрд▓ generate_cert (0.1) рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдЗрд╕рдХрд╛ рдирд┐рд░реНрдорд╛рдг рддрдм рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬрдм golang:1.3-cross рдбреЙрдХрдЯрд░ рдЫрд╡рд┐ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреИрдХреЗрдЬ рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред ssh рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрд╕ рдкреИрдХреЗрдЬ рдХреЛ рддрдм рд╕реЗ openssh-client рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореЗрд░реЗ рд╣реИрдХ рдХрд┐рдП рдЧрдП generate_cert рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп OpenSSL рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ 1.0.1k ред рдпрд╣ рд╡реИрдзрд╛рдирд┐рдХ рд░реВрдк рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ:

% ldd generate_cert-0.1.1-linux-amd64
        linux-vdso.so.1 (0x00007ffd0936c000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00007fddefe7f000)
        libc.so.6 => /lib/libc.so.6 (0x00007fddefb11000)
        /lib64/ld-linux-x86-64.so.2 => /lib/ld-linux-x86-64.so.2 (0x00007fddf009a000)

рддреЛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рджреЛ рдЪреАрдЬреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:

  • рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдХреЗ рдпрд╛ рддреЛ рджреЗрд░ рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рднреНрд░рдорд┐рдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ рдЬрдм Issuer == Subject , рдЬреИрд╕рд╛ рдХрд┐ @tdsmith рдмрддрд╛рддреЗ рд╣реИрдВ; рдпрд╛
  • рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдЬрдирд░реЗрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдФрд░ рд╣реИ рдЬреЛ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдХреЗ рдмрд╛рдж рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдкрд╣рд▓реЗ рдХреЗ рдЬрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдкрд░реЗрд╢рд╛рдиреА рд╣реЛрддреА рд╣реИред

рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдореЗрд░реА рд╣реИрдХ рдХреЗ рдмрд┐рдирд╛ generate_cert рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдХреЗ рдПрдХ рдЕрджреНрдпрддрди рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рдеред рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рдж рдХрд░реВрдБрдЧрд╛ред

рддреЛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @tdsmith рд╕рд╣реА рд╣реИред рдмрд╛рдж рдореЗрд░реА рд╣реИрдХ рдмрд╛рд╣рд░ рд╕рдорд░реНрдерди рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Issuer <> Subject , рд▓реЗрдХрд┐рди рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг generate_cert рд╕реЗ OpenSSL рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде golang:1.3-cross , рдЗрд╕рдХреЗ рд╕рд╛рде рдореЗрдВ рдирд╛рдХрд╛рдо рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдкрд╕ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ рдмрд╛рдж рдореЗрдВ рдХреНрд▓рд╛рдЗрдВрдЯ рдкрдХреНрд╖ рдкрд░ OpenSSL рд╕рдВрд╕реНрдХрд░рдг:

0.9.8zd generate_cert (0.1.2) рдХреЗ рд╕рд╛рде рдЕрджреНрдпрддрди OpenSSL рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

% /usr/bin/openssl version
OpenSSL 0.9.8zd 8 Jan 2015
% /usr/bin/openssl s_client -showcerts -connect "${DOCKER_HOST#tcp:\/\/}" -key "${DOCKER_CERT_PATH}/key.pem" -cert "${DOCKER_CERT_PATH}/cert.pem" -CAfile "${DOCKER_CERT_PATH}/ca.pem" -tls1 </dev/null
depth=1 /O=Boot2Docker
verify return:1
depth=0 /O=Boot2Docker
verify return:1
CONNECTED(00000003)
---
Certificate chain
 0 s:/O=Boot2Docker
   i:/O=Boot2Docker
-----BEGIN CERTIFICATE-----
MIIC/TCCAeegAwIBAgIRAIVQ9IAYtPQwnu/FHM8HNS0wCwYJKoZIhvcNAQELMBYx
...
xZ+XhXvepeJ/mBIui1qT3yAMum0Mj1zLAxqCY/qsEU4odsgU9N9DbUGngoIkBCrY
gw==
-----END CERTIFICATE-----
---
Server certificate
subject=/O=Boot2Docker
issuer=/O=Boot2Docker
---
Acceptable client certificate CA names
/O=Boot2Docker
---
SSL handshake has read 2554 bytes and written 2188 bytes
---
New, TLSv1/SSLv3, Cipher is AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : AES256-SHA
    Session-ID: FDE088ECF8D0EB2B36EC909B9A66C9C6770AE31355040761CB35150C5A56E92E
    Session-ID-ctx: 
    Master-Key: 86522F869CDE85C8171EEC3A7CF76FDF26F81AE6162DDDEA7D1C55FD5E49E4BDCA56D827C3BFECBFAD9AA2F71A5A94EE
    Key-Arg   : None
    TLS session ticket:
    0000 - 67 d0 60 8e 54 54 7c 7a-3e 5e 71 97 26 e0 06 2c   g.`.TT|z>^q.&..,
    ...
    0630 - cf 68 86 83 d7                                    .h...

    Start Time: 1438705996
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
---
DONE

1.0.2d (MacPorts рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдкрд┐рдд) _not_ generate_cert (0.1.2) рдХреЗ рд╕рд╛рде рдЕрджреНрдпрддрди OpenSSL рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

% openssl version
OpenSSL 1.0.2d 9 Jul 2015
% openssl s_client -showcerts -connect "${DOCKER_HOST#tcp:\/\/}" -key "${DOCKER_CERT_PATH}/key.pem" -cert "${DOCKER_CERT_PATH}/cert.pem" -CAfile "${DOCKER_CERT_PATH}/ca.pem" -tls1 </dev/null
depth=0 O = Boot2Docker
verify error:num=18:self signed certificate
verify return:1
depth=0 O = Boot2Docker
verify error:num=21:unable to verify the first certificate
verify return:1
CONNECTED(00000003)
---
Certificate chain
 0 s:/O=Boot2Docker
   i:/O=Boot2Docker
-----BEGIN CERTIFICATE-----
MIIC/TCCAeegAwIBAgIRAIVQ9IAYtPQwnu/FHM8HNS0wCwYJKoZIhvcNAQELMBYx
...
xZ+XhXvepeJ/mBIui1qT3yAMum0Mj1zLAxqCY/qsEU4odsgU9N9DbUGngoIkBCrY
gw==
-----END CERTIFICATE-----
---
Server certificate
subject=/O=Boot2Docker
issuer=/O=Boot2Docker
---
Acceptable client certificate CA names
/O=Boot2Docker
Client Certificate Types: RSA sign, ECDSA sign
Server Temp Key: ECDH, P-256, 256 bits
---
SSL handshake has read 2156 bytes and written 1373 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1
    Cipher    : ECDHE-RSA-AES256-SHA
    Session-ID: C2A8BF01E9B754CBF48C69243091C54DAD19DCF52D285C9379B684A3B333AFDD
    Session-ID-ctx: 
    Master-Key: F8510162517AF4C115A13B7CA9E05E04868B4D78CBFA57B28A5B9616EE6FBED6B7B4FC52C2003EBC5D150FA8BDE95F4C
    Key-Arg   : None
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket:
    0000 - bc bc 2c 3e 2d b0 92 49-80 c2 c0 df 4f bd fb 84   ..,>-..I....O...
    ...
    0350 - 1e c7 c2 b2 e6 f5 74                              ......t

    Start Time: 1438705985
    Timeout   : 7200 (sec)
    Verify return code: 21 (unable to verify the first certificate)
---
DONE

SvenDowideit / generate_cert # 10 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╡реИрд╕реЗ, рдЕрдЧрд░ рдХреЛрдИ рднреА b2d рдЫрд╡рд┐рдпрд╛рдВ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рдЬреЛ рдореЗрд░реЗ рд╣реИрдХ рдХрд┐рдП рдЧрдП generate_cert s рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрдиреНрд╣реЗрдВ рддрдм рддрдХ

рдЕрдЧрд░ рдореИрдВ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╕рдордЭреВрдВ, рддреЛ рдпрд╣ _should_ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд╛рдЗрдб рдкрд░ OpenSSL / рдкрд╛рдпрдерди рд╕рдВрд╕реНрдХрд░рдг рдЧреЗрдо рдЦреЗрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдХрдо рд╕реЗ рдХрдо (рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ)ред

@SvenDowideit рдХреЛ рдЯреИрдЧ рдХрд░рдирд╛

рдореИрдВрдиреЗ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рдЖрдЧреЗ-рдкреАрдЫреЗ рдХрд┐рдпрд╛ рд╣реИред рдпрд╣рд╛рдБ рд╕реНрдЯреАрд╡ Henson рд╕реЗ рдПрдХ рд╕рд╛рд░рд╛рдВрд╢ рд╣реИ:

From: Stephen Henson via RT <[email protected]>
Subject: [openssl.org #3979] New OpenSSL issue: valid certificate fails validation where subject text == issuer text
Date: August 5, 2015 at 04:32:18 PDT
Cc: [email protected]
Reply-To: [email protected]

... The bug is that OpenSSL 1.0.2 is less strict about
what counts as a valid self signed certificate. Before 1.0.2 the certificate
had to have issuer and subject matching, if present AKID==SKID and
keyUsage (if present) had to include keyCertSign. For1.0.2 and later the
keyCertSign check is no longer present.

The attached patch should fix it. Let me know if it works for you.

A workaround (other than making subject != issuer) is to include SKID/AKID in
all certificates.

Regards, Steve.
--
Dr Stephen N. Henson. OpenSSL project core developer.
Commercial tech support now available see: http://www.openssl.org

рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ b2d рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдмрдирд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЫреЛрдЯреА рдЧрд╛рдбрд╝реА рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░ рд╕рдХреЗ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреА рддрд░рдл рд╕реЗ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдХреЛ рдкреИрдЪрд┐рдВрдЧ рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдореЗрдВ рдмреЗрд╣рддрд░ рд╣реЛред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреМрди рд╕рд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд╣реИ (рд╡рд┐рд╖рдп рдмрдирд╛рддреЗ рд╣реБрдП! = рдЬрд╛рд░реАрдХрд░реНрддрд╛ рдмрдирд╛рдо рд╕рднреА рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдореЗрдВ SKID / ADID рд╕рд╣рд┐рдд)ред рдореИрдВ рдЙрд╕ рд░реБрдкрдпреЗ рдХреЛ @SvenDowideit рдкрд░ рдкрд╛рд╕ рдХрд░ рджреВрдВрдЧрд╛ред : рдмрдирд╛рд╡рдЯреА рд╣рдВрд╕реА:

рдЬрд┐рдЬреНрдЮрд╛рд╕реБ рдХреЗ рд▓рд┐рдП (рдлрд┐рд░ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдореЗрдВ рдпрд╣ рдорд╛рд░реНрдЧ рд▓реЗрдирд╛ рдЪрд╛рд╣рд┐рдП), рдпрд╣рд╛рдБ рд╕реНрдЯреАрд╡ рд╕реЗ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдкреИрдЪ рд╣реИ:

diff --git a/crypto/x509v3/v3_purp.c b/crypto/x509v3/v3_purp.c
index 1f9296a..7a0130a 100644
--- a/crypto/x509v3/v3_purp.c
+++ b/crypto/x509v3/v3_purp.c
@@ -63,6 +63,7 @@
 #include <openssl/x509_vfy.h>

 static void x509v3_cache_extensions(X509 *x);
+static int check_ca(const X509 *x);

 static int check_ssl_ca(const X509 *x);
 static int check_purpose_ssl_client(const X509_PURPOSE *xp, const X509 *x,
@@ -493,7 +494,7 @@ static void x509v3_cache_extensions(X509 *x)
     if (!X509_NAME_cmp(X509_get_subject_name(x), X509_get_issuer_name(x))) {
         x->ex_flags |= EXFLAG_SI;
         /* If SKID matches AKID also indicate self signed */
-        if (X509_check_akid(x, x->akid) == X509_V_OK)
+        if (X509_check_akid(x, x->akid) == X509_V_OK && check_ca(x) == 1)
             x->ex_flags |= EXFLAG_SS;
     }
     x->altname = X509_get_ext_d2i(x, NID_subject_alt_name, NULL, NULL);

рдкреВрд░рд╛ рдЗрддрд┐рд╣рд╛рд╕: http://rt.openssl.org/Ticket/History.html?user=guest&pass=guest&id=3979ред

рд░реБрдХреЛ ... _less_ рд╕рдЦреНрдд? рдореИрдВ рдЕрд╕рдордВрдЬрд╕ рдореЗрдВ рд╣реВрдБ рдХрд┐ рдХреИрд╕реЗ рдПрдХ _less_ рд╕рдЦреНрдд рдЬрд╛рдБрдЪ рд╡рд┐рдлрд▓ рд╣реЛ рд░рд╣реА рд╣реИ рдЬрд╣рд╛рдБ рдПрдХ рдФрд░ рдЕрдзрд┐рдХ рд╕рдЦреНрдд рдЧреБрдЬрд░рддрд╛ рд╣реИ?

рд░реБрдХреЛ ... _less_ рд╕рдЦреНрдд? рдореИрдВ рдЕрд╕рдордВрдЬрд╕ рдореЗрдВ рд╣реВрдБ рдХрд┐ рдХреИрд╕реЗ рдПрдХ _less_ рд╕рдЦреНрдд рдЬрд╛рдБрдЪ рд╡рд┐рдлрд▓ рд╣реЛ рд░рд╣реА рд╣реИ рдЬрд╣рд╛рдБ рдПрдХ рдФрд░ рдЕрдзрд┐рдХ рд╕рдЦреНрдд рдЧреБрдЬрд░рддрд╛ рд╣реИ?

рд╣рд╛рдБ, рдореБрдЭреЗ рднрд╛рд╖рд╛ рдХреЗ рдЙрд╕ рд╡рд┐рдХрд▓реНрдк рд╕реЗ рднреА рдкрд░реЗрд╢рд╛рдиреА рдереАред рдлрд╝рд░реНрдХ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдирдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЕрдзрд┐рдХ рдкреНрд░рдорд╛рдг-рдкрддреНрд░реЛрдВ рдореЗрдВ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рд╕реНрд╡реАрдк рдХрд░рдирд╛, рдЬреЛ рдХрд┐ рдХрдИ рдЪреЗрдХ (рдЬреИрд╕реЗ рдХрд┐, рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдХрдо рд╕рдЦреНрдд рди рд╣реЛ рдХрд┐ рд╕реНрд╡-рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рдЕрд░реНрд╣рддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ) рдпрд╛ рдирд╣реАрдВред рд▓реЗрдХрд┐рди рддреБрдо рд╕рд╣реА рд╣реЛред рдпрд╣ рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдХрд╛ рдПрдХ рдЕрдЬреАрдм рдореЛрдбрд╝ рд╣реИред

рдореИрдВрдиреЗ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рд╕реНрд░реЛрддреЛрдВ рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рд╡реНрдпрддреАрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдХрдИ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдХрд╛рдлреА рдЕрднреЗрджреНрдп рд▓рдЧрддрд╛ рд╣реВрдВред рд╢рд╛рдпрдж рдпрд╣ рдЙрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ "рд╡рд┐рд╢реЗрд╖" рдорд╛рдирд╕рд┐рдХрддрд╛ рд▓реЗрддрд╛ рд╣реИред : рдореБрд╕реНрдХреБрд░рд╛рд╣рдЯ:

рдореИрдВрдиреЗ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рд╕реНрд░реЛрддреЛрдВ рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рд╡реНрдпрддреАрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдХрдИ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдХрд╛рдлреА рдЕрднреЗрджреНрдп рд▓рдЧрддрд╛ рд╣реВрдВред рд╢рд╛рдпрдж рдпрд╣ рдЙрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ "рд╡рд┐рд╢реЗрд╖" рдорд╛рдирд╕рд┐рдХрддрд╛ рд▓реЗрддрд╛ рд╣реИред

рдПрдХ рдЦрд╝рд╛рдореЛрд╢, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ: рдкрд▓рдХ:ред

рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рд▓реЛрдЧреЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЦреБрд╢реА рд╕реЗ рдпрд╣рд╛рдВ рдЗрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рдмреАрдЪ, рдмреА 2 рдбреА рдореЗрдВ рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдирд╛ рд╕рд╣реА рдХрд╛рдо рдХрд░рдиреЗ рдЬреИрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣рд╛рдВ рдХреБрдЫ рднреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ рд▓реЗрдХрд┐рди рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВред

рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛

pip install requests[security]

@ рд╢рд┐рд╡рд╛рдп рдПрдХ рд▓рд╛рд▓ рд╣реЗрд░рд┐рдВрдЧ рд╣реИ; рдпрд╣ рд╕рдВрднрд╡рддрдГ рдЖрдкрдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдареАрдХ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдХреИрд╢реНрдб рдмрд╛рдЗрдирд░реА рд╡реНрд╣реАрд▓ рдерд╛ рдЬреЛ рдПрдХ рдЕрд▓рдЧ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдХреЗ рдЦрд┐рд▓рд╛рдл рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рдерд╛ред

FYI рдХрд░реЗрдВ, PR рдлрд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде boot2docker / boot2docker # 1029 рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред

рдЗрд╕ рдХреЗ рд▓рд┐рдП рдлрд┐рдХреНрд╕ (рдзрдиреНрдпрд╡рд╛рдж @ рдПрдХреНрд╕рдкреЛ!) Boot2docker рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдмрд╛рд╣рд░ рд╣реИред рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛:

$ boot2docker upgrade
$ boot2docker delete
$ boot2docker init
$ boot2docker up

рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рдореБрджреНрджрд╛ рддрдп рд╣реЛ рдЧрдпрд╛ред рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛рдПрдБ рдФрд░ рд╡рд╛рдкрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдВред

рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдбреЙрдХрд░ рдорд╢реАрди рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВ, рдЬреЛ рдЕрдм рдирдП рдбреЙрдХрд░ рдЯреВрд▓рдмреЙрдХреНрд╕ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрддреА рд╣реИред

рдореИрдВ рдЕрднреА рднреА рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЖ рд░рд╣рд╛ рд╣реВрдБ ...

тЭп openssl version && docker-compose --version && docker-machine --version && python --version
OpenSSL 1.0.2d 9 Jul 2015
docker-compose version: 1.4.0
docker-machine version 0.4.1 (HEAD)
Python 2.7.10

тЭп docker-compose ps
/usr/local/Cellar/fig/1.4.0/libexec/vendor/lib/python2.7/site-packages/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
Name   Command   State   Ports
------------------------------

@chiefy рдЖрдкрдХрд╛ рдХрдВрдкреЛрдЬрд╝ рдХреЙрд▓ рд╕рдлрд▓ рд╣реЛ рд░рд╣рд╛ рд╣реИ; рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рджреЗрдЦреА рдЬрд╛ рд░рд╣реА рдЪреЗрддрд╛рд╡рдиреА рд╣рд╛рдирд┐рд░рд╣рд┐рдд рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рджреЗрдЦрдиреЗ рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ OS X 10.10.5 рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

@ рдЯреАрдПрд╕рдбреАрдПрдорд┐рде рдореЗрд░реЗ рд▓рд┐рдП рд╣рд╛рдирд┐рд░рд╣рд┐рдд рдирд╣реАрдВ рд╣реИ, рдореЗрд░реА рдУрд╕реАрдбреА рдкрд╛рдЧрд▓: рдбреНрд░рд╛рдЗрд╡рд┐рдВрдЧ: рдореБрд╕реНрдХрд╛рди: рдЯрд┐рдк рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЕрднреА рдЕрдкрдЧреНрд░реЗрдб рдХрд░реЗрдЧрд╛ред

рдХрд╛рдврд╝рд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдЕрдЬрдЧрд░ рд╕рдВрд╕реНрдХрд░рдг рдХреА рд╕реНрдерд╛рдкрдирд╛ рд░рджреНрдж рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред brew remove --force python

рдореИрдВрдиреЗ рдХрд╛рдврд╝рд╛ рд╕рдВрд╕реНрдХрд░рдг рдХреА рд╕реНрдерд╛рдкрдирд╛ рд░рджреНрдж рдХрд░ рджреА рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рднреА Python 2.7.10 рдФрд░ рдЕрднреА рднреА рд╣реИ
SSL error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581) рддреНрд░реБрдЯрд┐ред

рдореЗрд░реЗ рдкрд╛рд╕ рдЕрдЧрд▓рд╛ рд╕реЗрдЯрдЕрдк рд╣реИ:

OpenSSL 0.9.8zg 14 July 2015
docker-compose version: 1.4.0
docker-machine version 0.4.1 (e2c88d6)
Python 2.7.10

@chiefy
рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рдХрд░ рд▓реА рд╣реИ?

рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЛ рдкрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдбреЙрдХ-рдХрдВрдкреЛрдЬрд╝ рд▓реЛрдЧ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдпрд╛ рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рдЙрдирдХрд╛ рдореБрджреНрджрд╛ рдирд╣реАрдВ рд╣реИ?

рд╕рд╛рджрд░,

@PavelPolyakov
рдирд╣реАрдВред рдореЗрд░реЗ рджреЛрдиреЛрдВ macs (10.9.x рдФрд░ 10.10.x) рдкрд░, рдореИрдВрдиреЗ рд╡рд┐рднрд┐рдиреНрди рдЪреАрдЬреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ w / рдХреЛрдИ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдПрдХ docker-compose рдЪреАрдЬрд╝ рд╣реИ рдФрд░ рдкрд╛рдпрдерди рдЪреАрдЬрд╝ FWIW рд╕реЗ рдЕрдзрд┐рдХ рд╣реИред

@chiefy
рдореИрдВ рд╕рд╣рдордд рд╣реВрдБ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рд░реВрдк рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ :(

рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рд░ рдХрд┐рд╕реА рдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдкрд╣рд▓реЗ рд╣реА рд╣рд▓ рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ :)

рдореИрдВрдиреЗ рдПрдХ рдмрд╛рд░ рдХрд╛рдврд╝рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдЬрдЧрд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рдкреБрд░рд╛рдиреЗ рд╡рд╛рд▓реЗ рдкрд░ рд▓реМрдЯрдиреЗ рдХрд╛ рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИред

рдореИрдВрдиреЗ рдХрдИ рд╡реЗрд░рд┐рдПрдВрдЯреНрд╕ рджреНрд╡рд╛рд░рд╛ docker рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ:

  1. рдмрд╛рдЗрдирд░реА рд╕реЗ (рдбреЙрдХрд░ рдЯреВрд▓рдмреЙрдХреНрд╕ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛)
  2. рдХрд╛рдврд╝рд╛ рд╕реЗ рд╣реА

рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рд╣реИ:
image

рдХрд┐рд╕реА рдХреЛ рднреА рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реНрдпрд╛рдкрдХ рдЧрд╛рдЗрдб рд╣реИ?

рд╕рд╛рджрд░,

@PavelPolyakov - рдмрдЧ рд╡рд╣ рдмреВрдЯ 2docker рд╣реИ (рдФрд░ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, docker-machine) рдХреБрдЫ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд░рд╣рд╛ рдерд╛ рдЬреЛ рдХрд┐ рдЕрдЬрдЧрд░ рдХреЗ SSL рд╕рдорд░реНрдерди рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрдкрдпреЛрдЧреА рдереЗред рдпрджрд┐ рдЖрдкрдиреЗ рдЕрдкрдиреЗ рд╕рднреА рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЛ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рднреА рдкреБрд░рд╛рдиреЗ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдЦрд░рд╛рдм рд╣реИрдВ, рддреЛ рднреА рдЪреАрдЬреЗрдВ рдЯреВрдЯ рдЬрд╛рдПрдВрдЧреАред рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдореИрдВ рдбреЙрдХрдЯрд░-рдорд╢реАрди рдХреЗ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдЬреЛ рднреА рджреЗрд╡ рд╡реАрдПрдо рдорд┐рд▓рд╛ рд╣реИ, рдЙрд╕реЗ рдлрд┐рд░ рд╕реЗ рдкреНрд░реЛрд╡рд┐рдЬрди рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреВрдВрдЧрд╛, рддрд╛рдХрд┐ рдирдП рдПрд╕рдПрд╕рдПрд▓ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХрд╛ рдкреНрд░рд╛рд╡рдзрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рдореЗрдВ рдЖрдкрдХреЗ рд╣реЛрд╕реНрдЯ рдкрд░ ~/.docker рдПрдХ рддрд░рдл рдмрдврд╝рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

@PavelPolyakov рдФрд░ @chiefy , @glyph рдХреА рд╕рд▓рд╛рд╣ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдпрд╣ рднреА рдЖрдЬрд╝рдорд╛ рд╕рдХрддреЗ рд╣реИрдВ (рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ boot2docker рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рд╣рдЯрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ):

% mv ~/.docker ~/.docker.bak
% ssh docker@[boot2dockerip]
docker@[boot2dockerip]'s password: [typically "tcuser"]
...
Boot2Docker version 1.8.1, build master : 7f12e95 - Thu Aug 13 03:24:56 UTC 2015
Docker version 1.8.1, build d12ea79
docker<strong i="10">@boot2docker</strong>:~$ rm -frv ~/.docker
...
docker<strong i="11">@boot2docker</strong>:~$ sudo -s
root<strong i="12">@boot2docker</strong>:/home/docker# rm -v /var/lib/boot2docker/tls/*
...
root<strong i="13">@boot2docker</strong>:/home/docker# shutdown -h now
...

[boot2dockerip] рдЖрдкрдХреЗ VM рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИред рдЖрд╕рд╛рди рддрд░реАрдХреЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ (рдЬреИрд╕реЗ, vagrant ssh , рдпрджрд┐ рдЖрдк рд╡реИрдЧреНрд░рдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ)ред рдлрд┐рд░ рдЕрдкрдиреЗ boot2docker рдЙрджрд╛рд╣рд░рдг рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ SSL рддреНрд░реБрдЯрд┐ рдЕрднреА рднреА рд╣реЛрддреА рд╣реИред

@glyph

рд╕рд▓рд╛рд╣ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рдбреЙрдХрдЯрд░-рдорд╢реАрди рдХреЛ рдлрд┐рд░ рд╕реЗ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдореБрджреНрджрд╛ рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдЬрдм рдореИрдВ docker & co рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ:
brew install docker docker-machine docker-compose

рдлрд┐рд░, default рдорд╢реАрди рдирд╣реАрдВ рдмрдирд╛рдИ рдЧрдИ рд╣реИред рдФрд░ рдореБрдЭреЗ docker-machine create рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдмрдирд╛рдиреЗ рдХрд╛ рдХреЛрдИ рдкрддрд╛ рдирд╣реАрдВ рд╣реИред

рдЬрдм рдореИрдВ * .pkg рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ docker-toolbelt рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдорд╢реАрди рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ SSL рддреНрд░реБрдЯрд┐ рд╣реИред
рдореИрдВрдиреЗ рднреА рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ:

docker-machine regenerate-certs default

рд▓реЗрдХрд┐рди рдпрд╣ рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

@posita
рд╕рд▓рд╛рд╣ рдХреЗ рд▓рд┐рдП рднреА рдзрдиреНрдпрд╡рд╛рджред
рдЖрдкрдХреЗ рдЧрд╛рдЗрдб рдореЗрдВ, рдЖрдк mv ~/.docker ~/.docker-bak рдХреЛ рдХрд┐рд╕ рдХрд╛рд░рдг рд╕реЗ рд╕реБрдЭрд╛рддреЗ рд╣реИрдВ? рдЬреИрд╕реЗ рд╣реА рд╣рдо рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рдорд╢реАрди рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рдХреНрдпреЛрдВрдХрд┐ рдлрд╛рдЗрд▓реЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рдЬрд╛рддреА рд╣реИрдВред
рд╣рд╛рдВ, рдореИрдВ рдорд╢реАрди рдХреЛ рд▓реЙрдЧрд┐рди рдХрд░рдиреЗ рдФрд░ tls/* рдирд┐рдХрд╛рд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВ, рдлрд┐рд░ рдЗрд╕реЗ рдмрдВрдж рдХрд░ рджреВрдВ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдХреИрд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рдП?

рдЗрд╕реЗ рдЦрд░реЛрдВрдЪ рд╕реЗ рдХреИрд╕реЗ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ?

@рд╕рдм
Docker (рд╡рд░реНрдХрд┐рдВрдЧ рдбреЙрдХ-рдХрдВрдкреЛрдЬрд╝ рдХреЗ рд╕рд╛рде) рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЖрдкрдХрд╛ рддрд░реАрдХрд╛ рдХреНрдпрд╛ рд╣реИ, рдХреНрдпрд╛ рдпрд╣ brew install рдпрд╛ рдЯреВрд▓рдмреЗрд▓реНрдЯ .pkg рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реИ?
рдореИрдВ рдХреИрд╕реЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВ, рдХрд┐ рдореЗрд░реЗ рдбреЙрдХрдЯрд░-рдорд╢реАрди рдкрд░ рдЬреЛ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рд╣реИрдВ, рд╡реЗ рдЕрдЬрдЧрд░ рджреНрд╡рд╛рд░рд╛ рдорд╛рдиреНрдп рдФрд░ рдЙрдкрдпреЛрдЧреА рд╣реИрдВ, рдореИрдВ рдЕрдЬрдЧрд░ рдХреЛ рдХреИрд╕реЗ рдЙрдиреНрдирдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕рд╕реЗ рднреА рдЕрдзрд┐рдХ рдкреАрд╕рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЖрджрд┐?

рдорджрдж рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рд╕рд╛рджрд░,

@PavelPolyakov - docker-machine рдкрд╛рд╕ "рдбрд┐рдлрд╝реЙрд▓реНрдЯ" рдорд╢реАрди рдХреА рдзрд╛рд░рдгрд╛ рдирд╣реАрдВ рд╣реИред рдЖрдк docker-machine create --driver virtualbox my-docker-machine рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред

@PavelPolyakov рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдк рдХрд░ рд▓реЗрддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ eval "$(docker-machine env my-docker-machine)" рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдпрд╛ рдЬреЛ рднреА рдЖрдкрдиреЗ рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рджреЗрд╡ рдорд╢реАрди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреБрдирд╛ рд╣реИред

@glyph
рд╕рд╣реА рд╣реИ, рдХрд┐ brew рд╕реЗ рд╕рдм рдХреБрдЫ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдЧрд╛рдпрдм рд╣рд┐рд╕реНрд╕рд╛ рдерд╛ред рдореИрдВрдиреЗ default (рдЬреЛ рдХрд┐ .pkg рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╕рдордп рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рдирд╛рдо рдХреЗ рд╕рд╛рде рдорд╢реАрди рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреНрд░рд╛рд╡рдзрд╛рдирд┐рдд рдХрд┐рдпрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рдореИрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реВрдВ:
image

:(

рдЕрдкрдиреЗ рдЧрд╛рдЗрдб рдореЗрдВ, рдЖрдк рдПрдорд╡реА рдХреЛ рд╕реБрдЭрд╛рд╡ рджреЗрддреЗ рд╣реИрдВ ~ /ред рдбреЙрдХрдЯрд░ ~ /ред рдбреЙрдХрд░-рдмрдХ - рдХрд┐рд╕ рдХрд╛рд░рдг рд╕реЗ? рдЬреИрд╕реЗ рд╣реА рд╣рдо рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рд╣рдо рдорд╢реАрди рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рдХреНрдпреЛрдВрдХрд┐ рдлрд╛рдЗрд▓реЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рдЬрд╛рддреА рд╣реИрдВред

@PavelPolyakov , рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИред рдореИрдВ docker-machine рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ред рдореИрдВ рдЕрдиреНрдп рд╡рд╛рддрд╛рд╡рд░рдгреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд░рд╣рд╛ рдерд╛ред рдпрджрд┐ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рддреЛ рдХреГрдкрдпрд╛ рдЕрд╡рд╣реЗрд▓рдирд╛ рдХрд░реЗрдВред

рд╣рд╛рдВ, рдореИрдВ рдорд╢реАрди рдХреЛ рд▓реЙрдЧрд┐рди рдХрд░рдиреЗ рдФрд░ tls/* рдирд┐рдХрд╛рд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВ, рдлрд┐рд░ рдЗрд╕реЗ рдмрдВрдж рдХрд░ рджреВрдВ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдХреИрд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рдП?

рдХреНрдпрд╛ docker-machine restart рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ?

рдореЗрд░реА рдЯрд┐рдкреНрдкрдгреА рд╡реИрдЧреНрд░рд╛рдВрдд рдХреЗ рд╕рд╛рде boot2docker рдЪрд▓рдиреЗ рдХреЗ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдереАред рдпрд╣ docker-machine рдкрд░ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @glyph рдХреЛ рдЙрд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рдЕрдиреБрднрд╡ рд╣реИред рдореИрдВ рдЙрдирдХреЗ рд╕реБрдЭрд╛рд╡реЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред

Docker (рд╡рд░реНрдХрд┐рдВрдЧ docker-Compose рдХреЗ рд╕рд╛рде) рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЖрдкрдХрд╛ рддрд░реАрдХрд╛ рдХреНрдпрд╛ рд╣реИ, рдХреНрдпрд╛ рдпрд╣ brew install рдпрд╛ рдЯреВрд▓рдмреЗрд▓реНрдЯ .pkg рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реИ?

рдпрд╣ рдХреБрдЫ рд╣рдж рддрдХ рдмрд╛рд╣рд░ рдЗрд╕ рдореБрджреНрджреЗ рдХреА рдЧреБрдВрдЬрд╛рдЗрд╢ (рдЬреЛ рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рд╛рде рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ boot2docker рдореЗрдВ рдкреНрд░рдХрдЯ docker-compose ), рд▓реЗрдХрд┐рди рдУрдПрд╕ рдПрдХреНрд╕ рдкрд░, рдореИрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдмрдирд╛рддрд╛ рд╣реИ ред

@PavelPolyakov , рдЬрдм рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ?

docker-machine create --driver virtualbox shiny-new-machine-74d5a19e
eval $( docker-machine env shiny-new-machine-74d5a19e )
docker-compose build

boot2docker рд▓рд┐рдП рд╡рд╣ рд╕рдВрд╕реНрдХрд░рдг рдХреНрдпрд╛ рд╣реИ рдЬреЛ рдЖрдк рдирд┐рдореНрди рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╕рдордп рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ?

docker-machine ssh shiny-new-machine-74d5a19e

рдмреЗрдЭрд┐рдЭрдХ shiny-new-machine-74d5a19e рдХреЛ рдЬреЛ рдХреБрдЫ рднреА рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЙрд╕рдХреЗ рд╕рд╛рде рдмрджрд▓реЗрдВ, рдЗрд╕рд▓рд┐рдП рдЬрдм рддрдХ рдпрд╣ рдПрдХ рдореМрдЬреВрджрд╛ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рд╕рдВрджрд░реНрдн рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ (рдпрд╛рдиреА, рдирд╛рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░рдХрдЯ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рдЖрдк рдЙрдкрд░реЛрдХреНрдд рдЖрджреЗрд╢реЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ docker-machine ls рдХрд░рддреЗ рд╣реИрдВред ред)ред

@posita
image
image

рд╣рдореНрдордо ....: рдЙрд▓рдЭрди:

eval $( docker-machine env shiny-new-machine-74d5a19e ) # probably unnecessary if you're still in the same shell as above
which openssl
openssl s_client -showcerts -connect "${DOCKER_HOST#tcp:\/\/}" -key "${DOCKER_CERT_PATH}/key.pem" -cert "${DOCKER_CERT_PATH}/cert.pem" -CAfile "${DOCKER_CERT_PATH}/ca.pem" -tls1 </dev/null

@posita
рдзрдиреНрдпрд╡рд╛рдж рдХрд┐ рдЖрдк рдорджрдж рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВред
image

openssl s_client -showcerts -connect "${DOCKER_HOST#tcp:\/\/}" -key "${DOCKER_CERT_PATH}/key.pem" -cert "${DOCKER_CERT_PATH}/cert.pem" -CAfile "${DOCKER_CERT_PATH}/ca.pem" -tls1 </dev/null
http://pastebin.com/Y9ZqfTVG

рдЕрд▓рдЧ OSX рдорд╢реАрди рдкрд░ рдРрд╕рд╛ рд╣реА рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИред
рд╕рднреА рдирд╡реАрдирддрдо рдЕрдкрдбреЗрдЯ (рдУрдПрд╕ рдФрд░ рдХрд╛рдврд╝рд╛ рдкреИрдХреЗрдЬ) рдХреЗ рд╕рд╛рде, рдФрд░ рдПрд╕рдПрд╕рдПрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред

image

@PavelPolyakov , рдореИрдВ рдЗрд╕реЗ рдЖрдкрдХреЗ openssl s_client ... рдбрдВрдк рд╕реЗ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдБ:

...
Certificate chain
 0 s:/O=shiny-new-machine-74d5a19e
   i:/O=PavelPolyakov
...

рдпреЗ boot2docker рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд╣реАрдВ рд╣реИрдВ, рдЬреЛ (рдЕрдм) рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

...
Certificate chain
 0 s:/O=Boot2Docker
   i:/O=Boot2Docker
...

рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдмрд┐рдирд╛, рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ docker-machine рдбрд┐рдлрд╝реЙрд▓реНрдЯ (рдХрд┐рд╕реА рддрд░рд╣) рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬрдм рдпрд╣ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдХрд╛ рдкреНрд░рд╛рд╡рдзрд╛рди рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди openssl рдХреЙрд▓ рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдореБрджреНрджрд╛ рд╣реИ, рдФрд░ рдореБрдЭреЗ рд╕рдордЭ рдирд╣реАрдВ рдЖрддрд╛ рдХрд┐ docker-compose рд╡рд┐рдлрд▓ рдХреНрдпреЛрдВ рд╣реЛрдВрдЧреЗред : рдЪрдХрд┐рдд:

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЗ рд▓рд┐рдП рдЖрдкрдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдХреНрдпрд╛ рд╣реИ?

(
set -x
eval $( docker-machine env shiny-new-machine-74d5a19e )
env | grep DOCKER
ls -al "${DOCKER_CERT_PATH}"
openssl x509 -in "${DOCKER_CERT_PATH}/cert.pem" -text
openssl x509 -in "${DOCKER_CERT_PATH}/ca.pem" -text
docker-compose --verbose version
docker-compose --verbose ps
DOCKER_TLS_VERIFY=0 docker-compose --verbose ps
) >"${HOME}/Desktop/docker-compose-890-outerr-$( date -u +%Y-%m-%dT%H:%M:%SZ ).txt" 2>&1

рдпрд╣ рдЪрд┐рдкрдХрд╛рдиреЗ / рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ~/Desktop/docker-compose-890-outerr-2015-09-18T14:45:29Z.txt рддрд░рд╣ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

@posita
рдпрд╣ рд░рд╣рд╛:
http://pastebin.com/vWqZgVKi

рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЖрдкрдХреЗ рдореБрджреНрджреЗ рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ docker-compose рдФрд░ docker-py рд╕рдВрд╕реНрдХрд░рдг рдкреАрдЫреЗ рд╣реИрдВред рдпреЗ рдирд╡реАрдирддрдо рд░рд┐рд▓реАрдЬрд╝ рд╣реИрдВ:

...
 docker-compose version: 1.4.1
 docker-py version: 1.4.0
...

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ (рдФрд░ рдореИрдВ рдпрд╣ рдЧрд▓рдд рд╕рдордЭ рд╕рдХрддрд╛ рд╣реВрдВ), рдпрд╣ рдЖрдкрдХреЗ ca.pem рдФрд░ cert.pem рд╕рдорд╛рди Subject (рдЬреЛ рдореВрд▓ boot2docker рдХрд╛ рдХрд╛рд░рдг рдерд╛) рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИред рдореБрджреНрджрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рджреВрд╕рд░реА рджрд┐рд╢рд╛ рд╕реЗ рдЖ рд░рд╣рд╛ рд╣реИ)ред рдЪреВрдБрдХрд┐ рдпреЗ рдкреНрд░рдорд╛рдг рдкрддреНрд░ docker-machine рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП / рдмрдирд╛рдП рдЧрдП рдкреНрд░рддреАрдд рд╣реЛрддреЗ рд╣реИрдВ, рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рд╣реИ? рдореБрдЭреЗ рдбреЙрдХрдЯрд░ / рдорд╢реАрди # 1335 рдФрд░ рдбреЙрдХрдЯрд░ / рдорд╢реАрди # 1767 рдорд┐рд▓рд╛, рдЬреЛ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рди рддреЛ рд╕реАрдзреЗ рдмрд┐рдВрджреБ рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред

Fwiw, рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ docker-compose (рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд pip рдПрдХ рдореЗрдВ virtualenv OpenSSL рдФрд░ рдЕрдЬрдЧрд░ 2.7 MacPorts рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХреЗ рд╕рд╛рде)ред рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рдХрд╛ рд╡рд╣ рд╕рдВрд╕реНрдХрд░рдг рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рдкрд╣рдЪрд╛рдиреА рдЧрдИ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдЕрдзреАрди рд╣реИ (рдФрд░ boot2docker рдХреЗ рдЕрдкрдбреЗрдЯ рджреНрд╡рд╛рд░рд╛ рдХрд╛рдо рдХрд┐рдпрд╛ рдЧрдпрд╛)ред рдореЗрд░реЗ рд▓рд┐рдП, рдпрд╣ рд╕рдВрдпреЛрдЬрди boot2docker 1.8.1+ рдФрд░ рд╡реИрдЧреНрд░рд╛рдВрдЯ (рдореЗрд░реЗ Vagrantfile рд╣реИрдВрдбрд▓ рдХреЛ boot2docker рдХреБрдЫ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдореЗрдЬрдмрд╛рди рдХреЛ рд╡рд╛рдкрд╕ рдХреЙрдкреА рдХрд░рддреЗ рд╣реБрдП) рдХреЗ рд╕рд╛рде рдЬрд╛рд░реА рдХрд┐рдП рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

% cat /.../Vagrantfile
...
         # See <http://tinyurl.com/nz4tgy6>
         boot2docker.vm.provision :shell, inline: "set -e ; while ! docker >/dev/null ps --quiet ; do echo 'Waiting for Docker to come alive so we can kill it...' ; sleep 1 ; done ; sudo /etc/init.d/docker stop ; sudo rm -f /var/lib/boot2docker/tls/*.pem ~docker/.docker/*.pem ; sudo /etc/init.d/docker restart ; while ! docker >/dev/null ps --quiet ; do echo 'Waiting for Docker to come alive again so we can steal its keys...' ; sleep 1 ; done ; echo 'It lives!' ; [ -z \"$( find ~docker/.docker -name '*.pem' 2>/dev/null )\" ] || cp -Rv ~docker/.docker/*.pem '/vagrant/certs" , privileged: true
...
% env | grep DOCKER
DOCKER_HOST=tcp://w.x.y.z:2376
DOCKER_TLS_VERIFY=1
DOCKER_CERT_PATH=/.../certs
% ls "${DOCKER_CERT_PATH}"
ca.pem
cert.pem
key.pem
% openssl x509 -in "${DOCKER_CERT_PATH}/cert.pem" -text
...
        Issuer: O=Boot2DockerCA
...
        Subject: O=Boot2Docker
...
% openssl x509 -in "${DOCKER_CERT_PATH}/ca.pem" -text
...
        Subject: O=Boot2DockerCA
...
% virtualenv --python=python2.7 .../venv
...
% .../venv/bin/pip install docker-compose
...
% .../venv/bin/docker-compose --verbose version
docker-compose version: 1.4.1
docker-py version: 1.4.0
CPython version: 2.7.10
OpenSSL version: OpenSSL 1.0.2d 9 Jul 2015
% .../venv/bin/docker-compose ps
Name   Command   State   Ports
------------------------------

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡рд╣ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рдЗрд╕реЗ рдХреЗрд╡рд▓ рдЕрдВрддрд░реЛрдВ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреЛрд╕реНрдЯ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЬреЛ рдЖрдкрдХреЗ рдореБрджреНрджреЗ рдХрд╛ рдирд┐рджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдКрдкрд░ рдХреА рддреБрд▓рдирд╛ рдЕрдкрдиреЗ docker-machine -рд╕рдВрдЪрд┐рдд рд╕реЗрд░ рдХреЗ рд╕рд╛рде рдХрд░реЗрдВ:

+-zsh:39> openssl x509 -in /.../.docker/machine/machines/shiny-new-machine-74d5a19e/cert.pem -text
...
        Issuer: O=PavelPolyakov
...
        Subject: O=PavelPolyakov
...
+-zsh:40> openssl x509 -in /.../.docker/machine/machines/shiny-new-machine-74d5a19e/ca.pem -text
...
        Subject: O=PavelPolyakov
...

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ Subject ca.pem Subject cert.pem ред

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЖрдкрдХрд╛ рдореБрджреНрджрд╛ docker-compose ред ( @рдЖрдирдВрдж , рд╢рд╛рдпрдж рдЖрдк рдЯрд┐рдкреНрдкрдгреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?) рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдХрд┐рддрдирд╛ рдЕрд╡реНрдпрд╡рд╕реНрдерд┐рдд рд╣реИ, рдбреЙрдХрдЯрд░ / рдорд╢реАрди рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдмрд╛рдж , рдореИрдВ рдЗрд╕реЗ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░реВрдВрдЧрд╛ред

рдпрджрд┐ рдЖрдк рдбреЙрдХрдЯрд░ / рдорд╢реАрди рдХреЗ рд▓рд┐рдП рдПрдХ /var/log/docker.log рдпрд╛ /var/log/boot2docker.log рдореЗрдВ рдХреБрдЫ рднреА рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛рдПрдБ:

ssh docker@[machine-instance] grep generate_cert /var/log/boot2docker.log

рдпрд╛:

docker-machine ssh grep generate_cert /var/log/boot2docker.log

OSX el capitain рдкрд░ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛,

docker-machine version 0.4.1 (HEAD)
Docker version 1.8.2, build 0a8c2e3
docker-compose version: 1.4.2

рд╣рд╛рдп @DaveBlooman ,

рдмрд╕ рдЬрд┐рдЬреНрдЮрд╛рд╕реБ, рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рднреА рдХрд╛рдврд╝рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдЬрдЧрд░ рдФрд░ рд╕рд╛рдорд╛рди рд╕реНрдерд╛рдкрд┐рдд рд╣реИ? рдпрд╛ рджреВрд╕рд░рд╛ рддрд░реАрдХрд╛ред
рдФрд░ рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ docker-compose build рдХрд░рддреЗ рд╕рдордп рд╕рдЯреАрдХ рддреНрд░реБрдЯрд┐ рд╣реИ?

рд╡рд╛рдпрд╛ рд╣реЛрдордмреНрд░реЗ, рдкрд╛рдпрдерди 2.7.10

рддреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ brew рдХрд╛рд░рдг рдХреБрдЫ рд╣реЛрддрд╛ рд╣реИ :(

@DaveBlooman , @PavelPolyakov рдХреЗ рдореБрджреНрджреЗ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рджреЛ рдПрдХ рдирд┐рджрд╛рди рдкрд░ рд╕рд╣рдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдереА рдФрд░ рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдерд╛ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдЕрдиреНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрд╕реНрдЯреНрд░рд┐рд▓) рджреНрд╡рд╛рд░рд╛ рдмреИрдард╛ рд╡реАрдкреАрдПрди рдХрдиреЗрдХреНрд╢рди рдерд╛ рдЬреЛ рд╢рд╛рдпрдж рдиреЗрдЯрд╡рд░реНрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЧрдбрд╝рдмрдбрд╝ рдХрд░ рд░рд╣рд╛ рдерд╛ред рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдФрд░ рдХреА рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред

рдореБрдЭреЗ OSX 10.9.5 рдкрд░ рддреНрд░реБрдЯрд┐рдпрд╛рдБ рд╣реИрдВ

/usr/local/Cellar/docker-compose/1.5.0/libexec/vendor/lib/python2.7/site-packages/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
Starting compose_maven_1
/usr/local/Cellar/docker-compose/1.5.0/libexec/vendor/lib/python2.7/site-packages/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
Starting compose_ssh_1
/usr/local/Cellar/docker-compose/1.5.0/libexec/vendor/lib/python2.7/site-packages/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning

рдкрд╛рдпрдерди 2.7.10
docker- рдорд╢реАрди рд╕рдВрд╕реНрдХрд░рдг 0.5.0
docker- рд░рдЪрдирд╛ рд╕рдВрд╕реНрдХрд░рдг: 1.5.0

рд╕рднреА Homebrew рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛

@anthonygreen , рдЬреЛ рдХрд╛рдлреА рд╣рдж рддрдХ рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджреЗ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдБ рдЬреЛ рдЪрд░реНрдЪрд╛ рд╣реЛ рд░рд╣реА рд╣реИ, рдЙрд╕реА рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреЛ рдореИрдВ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рд╣реВрдБред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ Homebrew рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЗрд╕ рдПрдХ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рдПрдХ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдЕрдиреБрднрд╡ рд╣реИред рдХреГрдкрдпрд╛ рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рджрд░реНрдЬ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

рдореИрдВрдиреЗ рдЗрд╕ рдкреВрд░реА рдкреЛрд╕реНрдЯ рдХреЛ рдирд╣реАрдВ рдкрдврд╝рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ OS X Yosemite рдкрд░ рд╣рд╛рд▓ рд╣реА рдХреЗ рд╕реЗрдЯрдЕрдк рдкрд░ рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рджреЗрдЦреА рд╣реИ рдЬреЛ рдбреЙрдХрд░ рдЯреВрд▓рдмреЙрдХреНрд╕ 1.9.1a рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИред

$ docker-machine --version
docker-machine version 0.5.1 (7e8e38e)
$ docker-compose --version
docker-compose version: 1.5.1
$ docker --version
Docker version 1.9.1, build a34a1d5

рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ CURL_CA_BUNDLE рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ (рдХреБрдЫ рдХрд╕реНрдЯрдо рдЖрдВрддрд░рд┐рдХ рд╕реЗрд░рдЯ рдХреЗ рд╕рд╛рде) рдерд╛, рдФрд░ docker-compose рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕ env var рдХреЛ рдкрд░реЗрд╢рд╛рди рдХрд░рдиреЗ рд╕реЗ рдЗрд╕реЗ [SSL: CERTIFICATE_VERIFY_FAILED] рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓реАред

$ (unset CURL_CA_BUNDLE; docker-compose up)
Starting ...

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЙрдлрд╝, рдпрд╣рд╛рдБ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рдХрд╛ рдорддрд▓рдм рд╣реИ https://github.com/docker/machine/issues/1880

@pmahoney , рдзрдиреНрдпрд╡рд╛рдж рд╣рдо рдореЗрдВ рд╕реЗ рдмрд╛рдХреА рд▓реЛрдЧреЛрдВ рдХреЛ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП! рдореИрдВрдиреЗ рдХрднреА рдЕрдиреБрдорд╛рди рдирд╣реАрдВ рд▓рдЧрд╛рдпрд╛ рд╣реЛрдЧрд╛ред FYI рдХрд░реЗрдВ, рдЖрдк рд╢рд╛рдпрдж рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдпрджрд┐ рдЖрдк рд╕рдмрд╕реНрдХреНрд░рд┐рдкреНрд╢рди рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ):

$ CURL_CA_BUNDLE= docker-compose up

@posita рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдореЗрдВ рд░рд┐рдХреНрдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкрд░рд┐рдгрд╛рдореЛрдВ рдореЗрдВ env var рд╕реЗрдЯ рдХрд░рдирд╛:

$TMPDIR/requests/packages/urllib3/connectionpool.py:768: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.org/en/latest/security.html

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рдПрд╕рдПрд╕рдПрд▓ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдорд┐рд▓рддреА рд╣реИред

@pmahoney , рджрд┐рд▓рдЪрд╕реНрдкред рддреЛ рдпрд╣ рдПрдХ рд╕реЗрдЯ-рд▓реЗрдХрд┐рди-рдЦрд╛рд▓реА CURL_CA_BUNDLE рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╢рдмреНрджрд╛рд░реНрде (рдЬреИрд╕реЗ, рдПрдХ рд╢реВрдиреНрдп рдУрд╡рд░рд░рд╛рдЗрдб) рд╣реИ рдЬреЛ рдЗрд╕реЗ рдмрд┐рд▓реНрдХреБрд▓ рднреА рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рдЬреЛ рд╢рд╛рдпрдж рдХрд┐рд╕реА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реНрдерд╛рди рдкрд░ рджрд┐рдЦрддрд╛ рд╣реИ)ред рдореИрдВрдиреЗ рдЗрд╕реЗ рдбреЙрдХреНрд╕ рдореЗрдВ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рд╕рдлрд▓ рдирд╣реАрдВ рдерд╛ред рдореБрдЭреЗ рдЬреЛ рд╕рдмрд╕реЗ рдирд┐рдХрдЯрддрдо рдЪреАрдЬрд╝ рдорд┐рд▓реА, рд╡рд╣ рдпрд╣реА рдереА ред

@neilsarkar рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рднреА рдЪрд╛рд░реНрд▓реНрд╕ рдкреНрд░реЙрдХреНрд╕реА рдЪрд▓ рд░рд╣реА рдереА! рдзрдиреНрдпрд╡рд╛рдж!

рд╣реЗ рднрдЧрд╡рд╛рди, рдореЗрд░реЗ рдкрд╛рд╕ рджреЛрдиреЛрдВ рдорд╢реАрдиреЛрдВ рдкрд░ рдХрд╕реНрдЯрдо CURL_CA_BUNDLE рд╣реИ рдЬрд╣рд╛рдВ рдореИрдВ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣рд╛ рдерд╛ред

рдзрдиреНрдпрд╡рд╛рдж

рдореЗрд░реЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ, рдХреЛрдИ CURL_CA_BUNDLE рдЪрд░ рдирд╣реАрдВ :(
рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕реЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдлрд▓рддрд╛ рдХреЗ рдПрдХ рдореВрд▓реНрдп рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдореИрдВрдиреЗ CURL_CA_BUNDLE рдХреЛ рдХреБрдЫ рднреА рдирд╣реАрдВ (CURL_CA_BUNDLE =) рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдореЗрд░реЗ рдкрд╛рд╕ рдЪреЗрддрд╛рд╡рдиреА рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ @pmahoney рдиреЗ рдХрд╣рд╛ рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЯрд░реНрдорд┐рдирд▓ рдЪреЗрддрд╛рд╡рдиреА рд╕рдВрджреЗрд╢ рджреНрд╡рд╛рд░рд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рдмреЗрд╣рддрд░ рд╕рдорд╛рдзрд╛рди рд╣реИ :)

рдЕрдЧрд░ рдЖрдкрдХреЛ рдкрддрд╛ рд╣реИ рдХрд┐ CURL_CA_BUNDLE рдЪрд░ рдХрд╛ рдЕрдЪреНрдЫрд╛ рдореВрд▓реНрдп рдХреНрдпрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЗрд╕реЗ рд▓реЗ рд▓реЗрддрд╛ рд╣реВрдВ :)

рдзрдиреНрдпрд╡рд╛рдж

рдореИрдВ рд╡реЗрдмрдХрд┐рдЯ-рдкреИрдЪ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдореБрджреНрджрд╛ рдерд╛ред SSL / TLS рдореЙрдбреНрдпреВрд▓ рдкрд░ рдЕрдЬрдЧрд░ рдбреЙрдХреНрд╕ рдХреЛ рджреЗрдЦрдиреЗ рд╕реЗ , ssl.get_default_verify_paths() рд╣рдореЗрдВ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ Python / OpenSSL CA рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдлрд╝рд╛рдЗрд▓ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдЕрдкрдиреЗ рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рдЪрд▓рд╛рддреЗ рд╣реИрдВ:

python3 -c "import ssl; [print(i) for i in ssl.get_default_verify_paths()]"

рд╣рдореЗрдВ рдпрд╣ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ SSL_CERT_FILE рд╕реЗрдЯ рдХрд┐рдП рдмрд┐рдирд╛, Python рдХрд╛ SSL рдореЙрдбреНрдпреВрд▓ /usr/local/ssl/cert.pem (OpenSSL рдХреЛ /usr/local/ssl рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП) рдкрд░ CA рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдлрд╝рд╛рдЗрд▓ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИред рддреЛ рдпрд╛ рддреЛ, рдЖрдк рд░реВрдЯ CA рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ SSL_CERT_FILE рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛ рдЖрдк /usr/local/ssl/cert.pem CA curl рдФрд░ рд╕реНрд░реЛрдд рдЯреНрд░реА рдореЗрдВ lib/mk-ca-bundle.pl рдЪрд▓рд╛рдПрдВ рдФрд░ ca-bundle.crt рдлрд╝рд╛рдЗрд▓ рдЬреЗрдирд░реЗрдЯ рд╣реЛрдЧреАред рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ SSL_CERT_FILE рд╕реНрдерд╛рдкрдирд╛ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ 1.0.2d рдХреЗ рд╕рд╛рде рдкрд╛рдпрдерди 2.7.11 рдФрд░ рдкрд╛рдпрдерди 3.5.0 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдЧреАред

@grahamc рдХреНрдпрд╛ рдЖрдк рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реБрдП рдереЗ? рдореЗрд░реЗ рдкрд╛рд╕ рдЖрдкрдХреЗ рдЬреИрд╕рд╛ рд╣реА рд╕реЗрдЯ рдЕрдк рд╣реИ рдЬреЛ рд░рд┐рдореЛрдЯ рдбреЙрдХрдЯрд░ рдбреЗрдорди рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди docker-compose рд╕рд╛рде рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ

рдореБрдЭреЗ рдорд┐рд▓рдиреЗ рд╡рд╛рд▓реА рддреНрд░реБрдЯрд┐ ERROR: SSL error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)

рдирд╣реАрдВ, рдореБрдЭреЗ рдмрд╕ рджреВрд░рд╕реНрде рдбреЙрдХ рдореЗрдЬрдмрд╛рдиреЛрдВ рдХреЛ рдЫреЛрдбрд╝рдирд╛ рдкрдбрд╝рд╛, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ :(

рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рдпрд╣ рдореБрджреНрджрд╛ рд╣реИ рдЬрд╣рд╛рдВ CURL_CA_BUNDLE рдХрд╛рд░рдг docker-compose рдХрд╛ рд╡рд┐рдлрд▓ рд╣реЛрдирд╛ рд╣реИ:

ERROR: SSL error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)

рдЬрдмрдХрд┐ docker рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рдерд╛ред рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдХрд┐ docker-compose рдкрд░реНрдпрд╛рд╡рд░рдг рд╡реИрд░рд┐рдПрдмрд▓ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░реЗрдВ рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рджреЗрдВ рдХрд┐ рдпрд╣ рдЕрдкреЗрдХреНрд╖рд┐рдд рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

@ рдмрдХреЗрдЯ , рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рджрд░реНрдЬ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред docker-py рд╕рд╛рде рдПрдХ рдмрд╣рди рдХреЗ рдореБрджреНрджреЗ рдХреЛ рджрд░реНрдЬ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рджреВрд╕рд░реЗ рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрдВред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреМрди рд╕реА рдкрд░рдд рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рд╣реЛрдЧреАред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдирдпрд╛ рдЕрдВрдХ # 3114 рдмрдирд╛рдпрд╛ рдЧрдпрд╛

рдХреНрдпрд╛ рд╕рднреА рдиреЗ рдЗрд╕реЗ рдЕрднреА рддрдХ рдареАрдХ рдХрд┐рдпрд╛ рд╣реИ? рдореБрдЭреЗ рдЕрдм рднреА рд╡рд╣реА рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИред рдореЗрд░рд╛ docker-compose version рд╣реИ:

docker-compose version 1.6.2, build 4d72027
docker-py version: 1.7.2
CPython version: 2.7.9
OpenSSL version: OpenSSL 1.0.1j 15 Oct 2014

рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдореБрдЭреЗ docker-compose --verbose build рд╕реЗ рдорд┐рд▓рд╛ рд╣реИ:

compose.config.config.find: Using configuration files: ./docker-compose.yml
docker.auth.auth.load_config: File doesn't exist
Traceback (most recent call last):
  File "<string>", line 3, in <module>
  File "compose/cli/main.py", line 56, in main
  File "compose/cli/docopt_command.py", line 23, in sys_dispatch
  File "compose/cli/docopt_command.py", line 26, in dispatch
  File "compose/cli/main.py", line 189, in perform_command
  File "compose/cli/command.py", line 52, in project_from_options
  File "compose/cli/command.py", line 85, in get_project
  File "compose/cli/command.py", line 68, in get_client
  File "site-packages/docker/api/daemon.py", line 78, in version
  File "site-packages/docker/utils/decorators.py", line 47, in inner
  File "site-packages/docker/client.py", line 112, in _get
  File "site-packages/requests/sessions.py", line 477, in get
  File "site-packages/requests/sessions.py", line 465, in request
  File "site-packages/requests/sessions.py", line 573, in send
  File "site-packages/requests/adapters.py", line 431, in send
requests.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)

рдореИрдВрдиреЗ рдбреЙрдХрд░ рдХреЗ рдЯреВрд▓рдмреЙрдХреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЙрдХрдЯрд░, рдбреЙрдХ-рдорд╛рд╣рд╛рдЗрди рдФрд░ рдбреЙрдХ-рдХрдореНрдкреЛрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдПред

рдореИрдВрдиреЗ рдКрдкрд░ рджрд┐рдП рдЧрдП рд╕рднреА рд╕реБрдЭрд╛рд╡реЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ рд▓реЗрдХрд┐рди рдХреЛрдИ рднрд╛рдЧреНрдп рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ docker рдореЗрдВ рдХреЛрдИ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдирд╣реАрдВ рд╕рдордЭ рд╕рдХрд╛ред

рдХрд┐рд╕реА рдХреЛ рднреА рдЗрд╕ рдкрд░ рдПрдХ рдореВрд▓ рдХрд╛рд░рдг рдпрд╛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣рд▓ рд╣реИ? рдореИрдВ рдЗрд╕реЗ рдПрдХ рдирдП Opensl рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде 1.7.0 рд░рдЪрдирд╛ рдореЗрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВред
рдпрд╣ рд╕рднреА рдЕрд▓реНрдкрд╛рдЗрди рд╕реЗ рдмрдирд╛рдпрд╛ рдФрд░ рдЪрд▓рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкрд░реНрдпрд╛рд╡рд░рдг рд╢реБрджреНрдз рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

/usr/src/app # env | sed 's/DOCKER_HOST=.*/DOCKER_HOST=#redacted/' && docker version && docker ps && docker-compose version && docker-compose pull
HOSTNAME=aebfe81b5938
SHLVL=1
PYTHON_PIP_VERSION=8.1.1
HOME=/root
GPG_KEY=97FC712E4C024BBEA48A61ED3A5CA953F73C700D
DOCKER_TLS_VERIFY=1
TERM=xterm
DOCKER_CERT_PATH=/certs
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
LANG=C.UTF-8
PYTHON_VERSION=3.5.1
DOCKER_HOST=#redacted
PWD=/usr/src/app
Client:
 Version:      1.10.3
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   20f81dd
 Built:        Thu Mar 10 21:49:11 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.10.3
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   20f81dd
 Built:        Thu Mar 10 15:39:25 2016
 OS/Arch:      linux/amd64
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
docker-compose version 1.7.0, build 0d7bf73
docker-py version: 1.8.0
CPython version: 3.5.1
OpenSSL version: OpenSSL 1.0.2g  1 Mar 2016
Pulling registry (registry:2)...
ERROR: SSL error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:645)

@jmmills
рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдкреБрдирд░реНрдирд┐рд░реНрдзрд╛рд░рд┐рдд CURL_CA_BUNDLE env рд╡реИрд░рд┐рдПрдмрд▓ рдХреЗ рдХрд╛рд░рдг рд╣реБрдЖред рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рднреА рдРрд╕рд╛ рдорд╛рдорд▓рд╛ рд╣реИ рддреЛ рдЖрдкрдХреЛ рдЬрд╛рдВрдЪ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред

@PavelPolyakov рдореЗрд░реЗ рдПрдирд╡реА рдбрдВрдк рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ ... рдХреЛрдИ CURL_CA_BUNDLE рдирд╣реАрдВ

@PavelPolyakov рдареАрдХ рд╣реИ рдпрд╣ рдЕрдЬреАрдм рд╣реИ, рдореИрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ

@jmmills рд╣реБрд╣ ... рд╡рд╣реА рдпрд╣рд╛рдБред рд╢рд╛рдпрдж рдЕрдЬрдЧрд░ рд╕реЗрдЯ-рдП-рдЦрд╛рд▓реА рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реЗрд╢рд╛рди рдХрд░рддрд╛ рд╣реИ?

рдореИрдХ рдУрдПрд╕, рд╣реЛрдордмреНрд░реЗ рдбреЙрдХрдЯрд░-рдХрдореНрдкреЛрдЬрд╝ рдФрд░ рдбреВрдХрд░-рдорд╢реАрди, рд╕рд┐рд╕реНрдЯрдо рдкрд╛рдпрдерди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдПред рдирд╡ рдирд┐рд░реНрдорд┐рдд рдорд╢реАрди рдХреЗ рд╕рд╛рде: docker-machine create --driver=vmwarefusion --vmwarefusion-memory-size 1536 dev

env | grep CURL рдХреБрдЫ рднреА рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ
docker-compose ps рд░рд┐рдЯрд░реНрди

рддреНрд░реБрдЯрд┐: SSL рддреНрд░реБрдЯрд┐: рд╣реЛрд╕реНрдЯрдирд╛рдо '172.16.129.133' 'рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ' рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддрд╛

CURL_CA_BUNDLE='' docker-compose ps рд░рд┐рдЯрд░реНрди:

/usr/local/Cellar/docker-compose/1.7.0/libexec/vendor/lib/python2.7/site-packages/requests/packages/urllib3/connectionpool.py:768: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.org/en/latest/security.html
  InsecureRequestWarning)
/usr/local/Cellar/docker-compose/1.7.0/libexec/vendor/lib/python2.7/site-packages/requests/packages/urllib3/connectionpool.py:768: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.org/en/latest/security.html
  InsecureRequestWarning)
Name   Command   State   Ports 
------------------------------

рдореЗрд░реЗ рдкрд╛рд╕ рдмрд┐рд▓реНрдХреБрд▓ рд╡рд╣реА рд╣реИ - CURL_CA_BUNDLE рдореЗрд░реЗ рдПрдирд╡реА рдореЗрдВ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рдерд╛, рдФрд░ рдЗрд╕реЗ рдПрдХ рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдореБрдЭреЗ @inanimatt рдХреЗ рд╕рдорд╛рди рдЖрдЙрдЯрдкреБрдЯ рдорд┐рд▓рд╛ред

рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдЕрдкрд╕реНрдЯреНрд░реАрдо рдмрдЧ рдХреА рддрд░рд╣ рдмрджрдмреВ рдЖ рд░рд╣реА рд╣реИ, рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рдХрд░реНрд▓ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдкрд░реНрдпрд╛рд╡рд░рдг рдЕрдиреБрдХреВрд▓рддрд╛ рдХреЛрдб рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ "рдкрд░рд┐рднрд╛рд╖рд┐рдд" рдФрд░ "рдЦрд╛рд▓реА" рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред

рдзрдиреНрдпрд╡рд╛рдж,
рдЬреЗрд╕рди рдорд┐рд▓реНрд╕

  • рдореЛрдмрд╛рдЗрд▓ рд╕реЗ рднреЗрдЬрд╛ рдЧрдпрд╛ред

24 рдЕрдкреНрд░реИрд▓, 2016 рдХреЛ рд╕реБрдмрд╣ 6:14 рдмрдЬреЗ, рдПрд▓реЗрдХреНрд╕ рд╡рд┐рд▓реНрд╕рди рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдореЗрд░реЗ рдкрд╛рд╕ рдареАрдХ рд╡реИрд╕рд╛ рд╣реА рд╣реИ - CURL_CA_BUNDLE рдореЗрд░реЗ env рдореЗрдВ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рдерд╛, рдФрд░ рдЗрд╕реЗ рдПрдХ рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдореБрдЭреЗ @inanimatt рдЬреИрд╕рд╛ рд╣реА рдЖрдЙрдЯрдкреБрдЯ рдорд┐рд▓рд╛ред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ

рдХреЗрд╡рд▓ рд╣реЛрдордмреНрд░реЗрд╡ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрддрд╛ рд╣реИ - рд╣реЛрдордмреНрд░реЗрд╡ рдкрд╛рдпрдерди рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдФрд░ рдлрд┐рд░ рд╕рднреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкрд╛рдЗрдк рд╕реЙрд▓реНрд╡ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЙрдХрдЯрд░-рдХрдореНрдкреЛрдЬрд╝ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ред

24 рдЕрдкреНрд░реИрд▓ 2016 рдХреЛ 14:14 рдмрдЬреЗ, рдПрд▓реЗрдХреНрд╕ рд╡рд┐рд▓реНрд╕рди рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @ithub.com рдиреЗ рд▓рд┐рдЦрд╛:

рдореЗрд░реЗ рдкрд╛рд╕ рдареАрдХ рд╡реИрд╕рд╛ рд╣реА рд╣реИ - CURL_CA_BUNDLE рдореЗрд░реЗ env рдореЗрдВ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рдерд╛, рдФрд░ рдЗрд╕реЗ рдПрдХ рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдореБрдЭреЗ @inanimatt рдЬреИрд╕рд╛ рд╣реА рдЖрдЙрдЯрдкреБрдЯ рдорд┐рд▓рд╛ред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреА рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЛ рдЪрд┐рдкрдХрд╛рдпрд╛ рдерд╛ред рдореИрдВ рдПрдХ рдХрд╛рд░реНрдп рдХреЗрдВрджреНрд░ рдореЗрдВ рдХрд▓ рдХреА рджреЛрдмрд╛рд░рд╛ рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ

рдзрдиреНрдпрд╡рд╛рдж,
рдЬреЗрд╕рди рдорд┐рд▓реНрд╕

  • рдореЛрдмрд╛рдЗрд▓ рд╕реЗ рднреЗрдЬрд╛ рдЧрдпрд╛ред

24 рдЕрдкреНрд░реИрд▓, 2016 рдХреЛ рджреЛрдкрд╣рд░ 12:22 рдмрдЬреЗ, рдореИрдЯ рд░реЙрдмрд┐рдиреНрд╕рди рд╕реВрдЪрдирд╛рдПрдБ @ithub.com рдиреЗ рд▓рд┐рдЦрд╛:

рдХреЗрд╡рд▓ рд╣реЛрдордмреНрд░реЗрд╡ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЧрддрд╛ рд╣реИ - рд╣реЛрдордмреНрд░реЗрд╡ рдкрд╛рдпрдерди рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдФрд░ рдлрд┐рд░ рд╕рднреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкрд╛рдЗрдк рд╕реЙрд▓реНрд╡ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЙрдХрдЯрд░-рдХрдореНрдкреЛрдЬрд╝ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ред

24 рдЕрдкреНрд░реИрд▓ 2016 рдХреЛ 14:14 рдмрдЬреЗ, рдПрд▓реЗрдХреНрд╕ рд╡рд┐рд▓реНрд╕рди рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @ithub.com рдиреЗ рд▓рд┐рдЦрд╛:

рдореЗрд░реЗ рдкрд╛рд╕ рдареАрдХ рд╡реИрд╕рд╛ рд╣реА рд╣реИ - CURL_CA_BUNDLE рдореЗрд░реЗ env рдореЗрдВ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рдерд╛, рдФрд░ рдЗрд╕реЗ рдПрдХ рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдореБрдЭреЗ @inanimatt рдЬреИрд╕рд╛ рд╣реА рдЖрдЙрдЯрдкреБрдЯ рдорд┐рд▓рд╛ред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ

рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдпрд╣рд╛рдБ рдХреЗ рдмрд╛рдж рд╕реЗ рдореИрдВ рдЕрджреНрдпрддрди рдХрд╛рдврд╝рд╛-рд╕рдВрд╕реНрдХрд░рдг 1.7 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдХрд╛рдврд╝рд╛ред

$ docker-compose ps
ERROR: SSL error: hostname '192.168.99.100' doesn't match 'localhost'
$ docker-compose version
docker-compose version 1.7.0, build unknown
docker-py version: 1.8.0
CPython version: 2.7.10
OpenSSL version: OpenSSL 0.9.8zh 14 Jan 2016

рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ CURL_CA_BUNDLE env var рдХреЛ рдЦрд╛рд▓реА рдХрд░рдирд╛:

CURL_CA_BUNDLE= docker-compose ps
/opt/boxen/homebrew/Cellar/docker-compose/1.7.0/libexec/vendor/lib/python2.7/site-packages/requests/packages/urllib3/connectionpool.py:768: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.org/en/latest/security.html
  InsecureRequestWarning)
/opt/boxen/homebrew/Cellar/docker-compose/1.7.0/libexec/vendor/lib/python2.7/site-packages/requests/packages/urllib3/connectionpool.py:768: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.org/en/latest/security.html
  InsecureRequestWarning)
/opt/boxen/homebrew/Cellar/docker-compose/1.7.0/libexec/vendor/lib/python2.7/site-packages/requests/packages/urllib3/connectionpool.py:768: InsecureRequestWarning: Unverified HTTPS request is being made. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.org/en/latest/security.html
  InsecureRequestWarning)
   Name                 Command               State    Ports
------------------------------------------------------------

1.6.2 рдкрд░ рдбрд╛рдЙрдирдЧреНрд░реЗрдб рдХрд░рдирд╛ рднреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред

$ brew switch docker-compose 1.6.2
Cleaning /opt/boxen/homebrew/Cellar/docker-compose/1.4.2
Cleaning /opt/boxen/homebrew/Cellar/docker-compose/1.5.1
Cleaning /opt/boxen/homebrew/Cellar/docker-compose/1.5.2
Cleaning /opt/boxen/homebrew/Cellar/docker-compose/1.6.0
Cleaning /opt/boxen/homebrew/Cellar/docker-compose/1.6.2
Cleaning /opt/boxen/homebrew/Cellar/docker-compose/1.7.0
3 links created for /opt/boxen/homebrew/Cellar/docker-compose/1.6.2
$ docker-compose ps
   Name                 Command               State    Ports
------------------------------------------------------------

CURL_CA_BUNDLE рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
CURL_CA_BUNDLE = ~ / .docker / рдорд╢реАрди / рдорд╢реАрдиреЗрдВ / рдбрд┐рдлрд╝реЙрд▓реНрдЯ / ca.pem docker- рд░рдЪрдирд╛ ps

рдореИрдВ рд╢рд╛рдпрдж рдкрд╣рд▓реЗ рд╡рд╛рд▓рд╛ рдирд╣реАрдВ рд╣реВрдВ, рдЬреЛ рдЗрд╕реЗ рдКрдкрд░ рд▓реЗ рдЖрдпрд╛ рд╣реЛ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдпрд╣ рд╕рд╣рдЬ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХрд░реНрд▓ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХрд╛ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рд╣реИ рдЬреЛ рдХрднреА рднреА рдПрдХ рдЕрд╕рдВрдмрдВрдзрд┐рдд рдкрд╛рдпрдерди рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкрд░ рд╣реЛрддрд╛ рд╣реИ?

рдзрдиреНрдпрд╡рд╛рдж,
рдЬреЗрд╕рди рдорд┐рд▓реНрд╕

  • рдореЛрдмрд╛рдЗрд▓ рд╕реЗ рднреЗрдЬрд╛ рдЧрдпрд╛ред

7 рдордИ, 2016 рдХреЛ 3:22 рдмрдЬреЗ, рд▓реЛрд░реЗрдВрдЬреЛ рд╕рд┐рд╕рд┐рд▓рд┐рдпрд╛ рд╕реВрдЪрдирд╛рдПрдВ @github.com рдиреЗ рд▓рд┐рдЦрд╛:

CURL_CA_BUNDLE рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
CURL_CA_BUNDLE = ~ / .docker / рдорд╢реАрди / рдорд╢реАрдиреЗрдВ / рдбрд┐рдлрд╝реЙрд▓реНрдЯ / ca.pem docker- рд░рдЪрдирд╛ ps

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ

рдореИрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ REQUESTS_CA_BUNDLE рдХреЗ рд╕рд╛рде рд╕реНрд╡-рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рд╕рдорд╛рд░реЛрд╣реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╕реНрдЯрдо рд╕реНрдерд╛рди рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреА рдереАред рдпрд╣ рдХрд┐рд╕реА рдХреЛ рднреА рдорджрдж рдХрд░рддрд╛ рд╣реИред

  • рдорд╛рдЗрдХрд▓ рд╣рд╛рдЙрд╢

@aboutlo рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ - рдпрд╣ рдЕрдиреНрдп ca.pem рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рдерд╛, рдХреЗрд╡рд▓ рдЗрд╕ рдПрдХ рдХреЗ рд╕рд╛рдеред рдореИрдВ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рднреА рд╣реВрдВ рдЗрд╕рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдЕрдзрд┐рдХ рд╡реВрдбреВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИ, рдзрдиреНрдпрд╡рд╛рдж!

Ndg-httpsclient рдХреА рд╕реНрдерд╛рдкрдирд╛ рд░рджреНрдж рдХрд░реЗрдВ (рдкрд╛рдЗрдк рдХреЗ рд╕рд╛рде - рд╕рдВрд╕реНрдХрд░рдг 0.4.0 рдерд╛) рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛, рдореЗрд░реА рдкреЛрд╕реНрдЯ рдпрд╣рд╛рдБ рджреЗрдЦреЗрдВ: https://github.com/docker/compose/issues/3365

рдореИрдВрдиреЗ docker-compose рдФрд░ docker-py рдХреЛ рдбрд┐рдмрдЧ рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдХрд┐ рдЖрдкрдХреЛ рдХрдорд╛рдВрдб рдореЗрдВ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдпрд╛ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдкрдХреЛ рдпреЗ рдирд╣реАрдВ рдорд┐рд▓рд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдк рдХрдорд╛рдВрдб рдореЗрдВ рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ - рддреЛ рдЖрдкрдХреЛ TLSConfig рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рднреА рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЕрдм TLSConfig рдСрдмреНрдЬреЗрдХреНрдЯ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрдорд╛рдВрдб рд╡рд┐рдХрд▓реНрдкреЛрдВ рд╕реЗ рдмрдирд╛ рд╣реИ рдФрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗ рдирд┐рд░реНрдорд┐рдд TFSConfig рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред

@ m-housh OMG рдЙрд╕ рдЯрд┐рдк рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдареАрдХ рд╡реИрд╕рд╛ рд╣реА рдореЗрд░реЗ рд╕рд╛рде рд╣реБрдЖ! рдореЗрд░реЗ рд╡рд╛рддрд╛рд╡рд░рдг рд╕реЗ REQUESTS_CA_BUNDLE рдирд┐рдХрд╛рд▓реЗ рдФрд░ рдЗрд╕рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░ рджрд┐рдпрд╛ред

рдореИрдВрдиреЗ рдЙрд╕реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рд╣реИред рдкрд╣рд▓реЗ рдореИрдВ рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдУрдкрдирдПрд╕рдПрд╕рдПрд▓ рд╕рдВрд╕реНрдХрд░рдг рдЕрдВрддрд░ (рдкрд╛рдпрдерди рдореЗрдВ 1.0.2 рдерд╛ рд▓реЗрдХрд┐рди рдУрдПрд╕ рдореЗрдВ 0.9.8 рдерд╛) рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ 1.0.2 рджреЛрдиреЛрдВ рдмрдирд╛рдпрд╛ рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред
рдореИрдВрдиреЗ рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреЗрд╡рд▓ do ssh рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдЕрдзрд┐рдХреГрдд рдХреБрдВрдЬрд┐рдпреЛрдВ рдореЗрдВ рдЕрдкрдиреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдХреЗ рдЗрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рд╣реИред рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдХрд┐ рдХрд┐рд╕реА рддрд░рд╣ рдпрд╣ рд╡рд╣рд╛рдВ рдЧрд▓рдд рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдерд╛ред

рдХреГрдкрдпрд╛ рдЗрди рдЪрд░рдгреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ:

boot2docker ssh
docker<strong i="10">@boot2docker</strong>:~$ cat .ssh/authorized_keys

рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдкрдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рд╣реИред рдЕрдЧрд░ рди рд╕рд┐рд░реНрдл рдЗрд╕ рдлрд╛рдЗрд▓ рдореЗрдВ рдЕрдкрдирд╛ рдХреЙрдкреА рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рд╕реЗрд╡ рдХрд░реЗрдВред рдлрд┐рд░ рдмрд╕ рдЪрд▓рд╛рдПрдВ:

docker-compose up

рдЗрд╕рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ рдФрд░ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИред

рдЗрд╢реНрдпреВ рдЧреНрд░реВрдорд┐рдВрдЧ: рдпрд╣рд╛рдБ рд╡рд░реНрдгрд┐рдд рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдлрд▓рддрд╛ рдореЛрдб рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддреНрд░реБрдЯрд┐ / рдЧрд╝рд▓рддрдлрд╝рд╣рдореА рдкрд░рд┐рджреГрд╢реНрдп (рд╕рднреА рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдРрддрд┐рд╣рд╛рд╕рд┐рдХ) рдХреА рдПрдХ рдХрд┐рд╕реНрдо рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИред

рдореИрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ, рдЬреЛ рд░рдЪрдирд╛ рдореЗрдВ рд╕рдХреНрд░рд┐рдп рдЪрд▓ рд░рд╣реЗ рдореБрджреНрджреЗ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдпрджрд┐ рдЖрдк рдЕрднреА рднреА рдЖрдзреБрдирд┐рдХ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдмрдВрдзрд┐рдд рддреНрд░реБрдЯрд┐ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ рдкрд░рд┐рджреГрд╢реНрдп рдЖрджрд┐ рдХреЗ рдкреВрд░реНрдг рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдПрдХ рддрд╛рдЬрд╝рд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓реЗрдВред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

davidbarratt picture davidbarratt  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

dimsav picture dimsav  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

komuw picture komuw  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

29e7e280-0d1c-4bba-98fe-f7cd3ca7500a picture 29e7e280-0d1c-4bba-98fe-f7cd3ca7500a  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

dazorni picture dazorni  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ