рдореБрдЭреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдПрдХ рдЦреБрд▓рд╛ рдЯрд┐рдХрдЯ рдирд╣реАрдВ рдорд┐рд▓рд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЕрдХреЗрд▓рд╛ рдирд╣реАрдВ рд╣реВрдВ рдЬрд┐рд╕реЗ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реИ?
$ uname -a
Darwin 14.5.0 Darwin
Kernel Version 14.5.0: Wed Jul 29 02:26:53 PDT 2015;
root:xnu-2782.40.9~1/RELEASE_X86_64 x86_64
$ time docker-machine env dev >/dev/null
real 0m0.254s
user 0m0.217s
.. рдЗрд╕рд▓рд┐рдП .bash_profile рдореЗрдВ eval $(docker-machine env dev)
рд╣реЛрдиреЗ рдХрд╛ рдХреЛрдИ рдордЬрд╝рд╛ рдирд╣реАрдВ рд╣реИред
рд╕рдорд╛рдзрд╛рди 1: рдирд┐рд░реНрдпрд╛рдд рдХреЛ рд╣рд╛рд░реНрдб рдХреЛрдб рдХрд░реЗрдВ
$ docker-machine env dev >> ~/.bash_profile
рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб 2: рдмрд╣реБрдд рдЧрдВрджрд╛ рдЖрд▓рд╕реА-рд▓реЛрдбрд┐рдВрдЧ рдлрд┐рдХреНрд╕
# Lazy load docker-machine env on first docker run
alias docker='docker-machine start dev>/dev/null && eval $(docker-machine env dev) && unalias docker && docker'
рдЗрд╕реЗ рддреЗрдЬреА рд╕реЗ рдмрдирд╛рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдпрд╣ рдХрдард┐рди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡реАрдПрдо рдХреЗ рдЖрдИрдкреА рдкрддреЗ рдХреЛ рджреЗрдЦрдирд╛ рд╣реЛрдЧрд╛ (рдФрд░ рдЕрдЧрд░ рдЙрдиреНрд╣реЗрдВ рдЕрдорд╛рдиреНрдп рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ)ред рдпрджрд┐ рдЖрдк рдХрдВрд╕рд┐рд╕реНрдЯреЗрдВрд╕реА рдЯреНрд░реЗрдбрдСрдлрд╝ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реИрдВ, рддреЛ рдЖрдк inspect
рджреНрд╡рд╛рд░рд╛ "рдХреИрд╢реНрдб" рдорд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛ рдХрд┐ рдпрд╣ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
рдореИрдВ рдЗрд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдирд┐рд░рдВрддрд░рддрд╛ рдХрд╛ рддреНрдпрд╛рдЧ рдХрд┐рдП рдмрд┐рдирд╛ рд╡рд░реНрддрдорд╛рди рдкрджреНрдзрддрд┐ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪ рд╕рдХрддрд╛, рд▓реЗрдХрд┐рди рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЛ рдХреИрд╕реЗ рдмреЗрд╣рддрд░ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕ рдкрд░ рд╕реБрдЭрд╛рд╡реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП docker-machine env --cached dev
"рдХреИрд╢реНрдб" рдорд╛рдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред
рдореИрдВ рдбреЙрдХрд░-рдорд╢реАрди рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рд╕реБрдЭрд╛рд╡ рджреЗрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдореИрдВ рд╕рд┐рд░реНрдл рдЗрд╕ рдореБрджреНрджреЗ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рддрд╛рдХрд┐ рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛ рд╕рдХреЗ :)
рдореИрдВ vmwarefusion рдбреНрд░рд╛рдЗрд╡рд░ рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред
рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдФрд░ рдиреЛрдЯ рдХрд┐рдпрд╛!
рдореИрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реБрдЖ, рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП 0.040
рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИред
: ${DOCKER_MACHINE_NAME="my_vm_name"}
docker-machine inspect ${DOCKER_MACHINE_NAME} --format \
"export DOCKER_HOST=tcp://{{ .Driver.IPAddress }}:2376
export DOCKER_TLS_VERIFY=1
export DOCKER_CERT_PATH={{ .HostOptions.AuthOptions.StorePath }}
export DOCKER_MACHINE_NAME=${DOCKER_MACHINE_NAME}"
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореИрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реБрдЖ, рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП
0.040
рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИред