Moby: рд░рд╣рд╕реНрдп: рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕ рд▓рд┐рдЦреЗрдВ, рдХреНрдпрд╛ рдХрд░реЗрдВ рдФрд░ рдХреНрдпрд╛ рди рдХрд░реЗрдВ, рд░реЛрдбрдореИрдк

рдХреЛ рдирд┐рд░реНрдорд┐рдд 26 рдордИ 2015  ┬╖  203рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: moby/moby

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

рдЕрдм рддрдХ, рд╣рдо рдХреЗрд╡рд▓ рд▓реЛрдЧреЛрдВ рдХреЛ рдЙрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рддреЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдпрд╛ рддреЛ рд╕рд┐рджреНрдз рд░реВрдк рд╕реЗ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИрдВ, рдпрд╛ рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП "рд╕рдВрднрд╡рддрдГ" рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИрдВред рд╣рдо рдЙрдиреНрд╣реЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдХрдо рд╕реЗ рдХрдо, рд╕рднреА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдФрд░ _if_, рддреЛ рдмрд┐рдирд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдг рдХреЗред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ "рд░рд╣рд╕реНрдп" рдПрдХ рдРрд╕реА рдЪреАрдЬ рд╣реИ рдЬрд┐рд╕реЗ рдмрд╣реБрдд рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ (рдЧрд▓рдд) рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдирд╣реАрдВ рдХрд┐рдП рдЧрдП рд╣реИрдВ (рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдлреАрдЪрд░ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд╕рд╛рде рдЪрд░реНрдЪрд╛ рдкреНрд░рджреВрд╖рд┐рдд рд╣реЛ рдЬрд╛рддреА рд╣реИ) рдФрд░ рдЙрдиреНрд╣реЗрдВ рд░рд╣рд╕реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реБрдкреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреВрджрдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред

рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ / рд╣реИрдХ рдЬреЛ (рдЧрд▓рдд) рд░рд╣рд╕реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ

рдпрд╣ рд╕реВрдЪреА рд╢рд╛рдпрдж рдЕрдзреВрд░реА рд╣реИ, рд▓реЗрдХрд┐рди рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ

  • рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ ред рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ "12 рдлрд╝реИрдХреНрдЯрд░ рдРрдк" рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ рд╣рддреЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╣реИрдВ;

    • рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдХрд┐рд╕реА рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рдкрд╣реБрдБрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЖрд╕рд╛рдиреА рд╕реЗ "рд▓реАрдХ" рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ

    • рдЫрд╡рд┐ рдХреА рдордзреНрдпрд╡рд░реНрддреА рдкрд░рддреЛрдВ рдореЗрдВ рд╕рдВрд░рдХреНрд╖рд┐рдд, рдФрд░ рдбреЙрдХрдЯрд░ рдирд┐рд░реАрдХреНрд╖рдг рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ

    • рдХрдВрдЯреЗрдирд░ рд╕реЗ рдЬреБрдбрд╝реЗ рдХрд┐рд╕реА рднреА рдХрдВрдЯреЗрдирд░ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛

  • рдмрд┐рд▓реНрдб-рдЯрд╛рдЗрдо рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ (https://github.com/docker/docker/pull/9176, https://github.com/docker/docker/pull/15182)ред рдмрд┐рд▓реНрдб-рдЯрд╛рдЗрдо рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдЕрднрд╛рд╡ рдореЗрдВ рд▓реЛрдЧ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЗрдирдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред _рдЗрдВрдкреНрд░реЗрд╢рди_ рджреЗрдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╡реЗ рд░рд╣рд╕реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИрдВ, рдпрд╣ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЙрди рдЪрд░реЛрдВ рдХреЛ рдЬрд╛рдирдмреВрдЭрдХрд░ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
  • рдорд╛рд░реНрдХ .. рд╕реНрдХреНрд╡реИрд╢ / рдкрд░рддреЛрдВ рдХреЛ рд╕рдорддрд▓ рдХрд░реЗрдВ ред (https://github.com/docker/docker/issues/332, https://github.com/docker/docker/pull/12198, https://github.com/docker/docker/pull/4232, https ://github.com/docker/docker/pull/9591)ред рд╕реНрдХреНрд╡рд╛рд╢рд┐рдВрдЧ рдкрд░рддреЗрдВ рдЕрдВрддрд┐рдо рдЫрд╡рд┐ рд╕реЗ рдордзреНрдпрд╡рд░реНрддреА рдкрд░рддреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдВрдЧреА, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЙрди рдордзреНрдпрд╡рд░реНрддреА рдкрд░рддреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд░рд╣рд╕реНрдп рдЕрднреА рднреА рдмрд┐рд▓реНрдб рдХреИрд╢ рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред
  • рд╡реЙрд▓реНрдпреВрдо ред IIRC рдХреБрдЫ рд▓реЛрдЧ рдЗрд╕ рддрдереНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рд▓реНрдб-рд╕реНрдЯреЗрдк рдХреЗ рд▓рд┐рдП рд╡реЙрд▓реНрдпреВрдо рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдЙрдиреНрд╣реЗрдВ рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЗрд╕рдХрд╛ рд╕рдВрджрд░реНрдн рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред
  • рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг ред Dockerfile рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЫреЛрдбрд╝реЗрдВ рдФрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдПрдХ рдХрдВрдЯреЗрдирд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ, рдЬрд┐рд╕рд╕реЗ рдкрд░рд┐рдгрд╛рдо рдПрдХ рдЫрд╡рд┐ рдкрд░ рдЖ рдЬрд╛рдП
  • рдХрд╕реНрдЯрдо рднрд╛рдбрд╝реЗ ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рд╕рд░реНрд╡рд░ рдкрд░ рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рд╣реЛрд╕реНрдЯ рдХрд░рдирд╛, curl рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рдЫрд┐рдкрд╛рдирд╛ рдФрд░ рдмрд╛рдж рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдПрдХ рд╣реА рдкрд░рдд рдореЗрдВ рд╣рдЯрд╛ рджреЗрдирд╛ред (https://github.com/dockito/vault рднреА рджреЗрдЦреЗрдВ)

рддреЛ, рдХреНрдпрд╛ рдЪрд╛рд╣рд┐рдП?

  • рд░рд╣рд╕реНрдпреЛрдВ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рджреМрд░рд╛рди "рдХреНрдпрд╛ рдХрд░реЗрдВ" рдФрд░ "рдХреНрдпрд╛ рдирд╣реАрдВ рдХрд░реЗрдВ" рдкрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдЬреЛрдбрд╝реЗрдВ; @diogomonica рдиреЗ https://github.com/docker/docker/pull/9176#issuecomment -99542089 рдореЗрдВ рдХреБрдЫ рдЙрддреНрдХреГрд╖реНрдЯ рдЕрдВрдХ рдмрдирд╛рдП
  • _current_ рд╕реБрд╡рд┐рдзрд╛рдУрдВ . рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ, рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ "рдЕрдиреБрдореЛрджрд┐рдд"/рдЕрдиреБрдореЛрджрд┐рдд рддрд░реАрдХреЗ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ
  • рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд░реЛрдбрдореИрдк / рдбрд┐рдЬрд╝рд╛рдЗрди рдкреНрд░рджрд╛рди рдХрд░реЗрдВ, рд╣рдо рдЗрд╕реЗ рдкреНрд▓рдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рд╣рдореЗрдВ рдкрд╣рд┐рдпрд╛ рдХрд╛ рдкреБрди: рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рди рдХрд░рдирд╛ рдкрдбрд╝реЗ рдФрд░ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдореМрдЬреВрджрд╛ рдкреНрд░рд╕рд╛рдж рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░рдирд╛ рдкрдбрд╝реЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡реЙрд▓реНрдЯ , рдХреАрд╡рд┐рдЬрд╝ , рд╕реНрдиреАрдХрд░

рдЙрдкрд░реЛрдХреНрдд рдХреЛ рдмрд┐рд▓реНрдб-рдЯрд╛рдЗрдо рдФрд░ рд░рди-рдЯрд╛рдЗрдо рд╕реАрдХреНрд░реЗрдЯреНрд╕ рджреЛрдиреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдХрд░ рд▓рд┐рдЦрд╛/рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП

@calavera рдиреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдирдП рд╡реЙрд▓реНрдпреВрдо-рдбреНрд░рд╛рдЗрд╡рд░реНрд╕ (https://github.com/docker/docker/pull/13161) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕ рдкрд░ рдПрдХ рддреНрд╡рд░рд┐рдд рдФрд░ рдЧрдВрджрд╛ рдкреНрд░реВрдл-рдСрдл-рдХреЙрдиреНрд╕реЗрдкреНрдЯ рдмрдирд╛рдпрд╛; https://github.com/calavera/docker-volume-keywhiz-fs

рдиреЛрдЯ: рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рдирдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди/рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ MySQL , WordPress , PostgreSQL ) рдкрд░ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЪрд┐рддреНрд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЗрди рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд▓рд┐рдЦреЗ/рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рддреЗ рд╕рдордп рдирдИ 'рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдУрдВ' рдХреЛ рдЕрдкрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

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

aresecurity statuneeds-attention

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

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рд╖рдп рд╕реЗ рд╣рдЯрдХрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдХрд┐рд╕реА рдФрд░ рдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдЕрдм рд▓рдЧрднрдЧ рдкреВрд░реЗ рдПрдХ рд╕рд╛рд▓ рд╕реЗ рд╕рдХреНрд░рд┐рдп рд╣реИ! рдХрд▓ рдЗрд╕рдХреА рдмрд░рд╕реА рд╣реИред рдореИрдВ

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

рдкрд┐рдВрдЧ @ewindisch @diogomonica @NathanMcCauley рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рддреНрд╡рд░рд┐рдд рд▓реЗрдЦрди рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рддреЛ рд╡рд┐рд╡рд░рдг рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд/рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ :)

рдпрд╣ рдЙрдкрдпреЛрдЧреА рдЬрд╛рдирдХрд╛рд░реА рд╣реИ:

https://github.com/hashicorp/vault/issues/165

рдЬреИрд╕рд╛ рдпрд╣ рд╣реИ:

https://github.com/hashicorp/vault/issues/164

@ Dreamcat4 рдПрдХ рд╕рд╛рдорд╛рдиреНрдп "рд╕реАрдХреНрд░реЗрдЯ рдПрдкреАрдЖрдИ" рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдХреБрдЫ рдпреЛрдЬрдирд╛рдПрдБ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЛ рдбреЙрдХрд░ рдХреЗ рд╕рд╛рде рд╡реЙрд▓реНрдЯ, рдпрд╛ рдХреАрд╡рд┐рдЬрд╝ рдпрд╛ рдпреВ-рдиреЗрдо-рдЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рд▓реЗрдХрд┐рди рд╕рднреА рдПрдХ рд╣реА рддрд░рд╣ рд╕реЗред рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рд╢реЛрдз рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

@thaJeztah рд╣рд╛рдБ рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдореИрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЙрди рдкреНрд░рдпрд╛рд╕реЛрдВ/рдЪрд░реНрдЪрд╛ рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореИрдВ рдФрд░ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рд╢рд╛рдпрдж рдпрд╣ рдПрдХ рдЙрдкрдпреЛрдЧреА рдЕрднреНрдпрд╛рд╕ рднреА рд╣реИ (рдЙрд╕ рд▓рдВрдмреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдФрд░ рдЬрдм рд╣рдо рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ) рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╣рдо рдЕрднреА рдХрд┐рддрдиреА рджреВрд░ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдлрд┐рд░ рдпрд╣ рджреВрд╕рд░реЛрдВ рдХреЛ рд╡рд░реНрддрдорд╛рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рд╕реАрдорд╛рдУрдВ рдФрд░ рдХрдорд┐рдпреЛрдВ рдХреЛ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдЬреЛ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╣реИ рд╡рд╣ рдЧрд╛рдпрдм рд╣реИ рдФрд░ рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рд╕реБрдзрд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд░рди-рдЯрд╛рдЗрдо рд╕реАрдХреНрд░реЗрдЯреНрд╕ рд╡реАрдПрд╕ рдмрд┐рд▓реНрдб-рдЯрд╛рдЗрдо рд╕реАрдХреНрд░реЗрдЯреНрд╕ рдХреА рд╡рд┐рднрд┐рдиреНрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реИред рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдПрд░рд┐рдпрд╛ рдУрд╡рд░рд▓реИрдк рдПрд░рд┐рдпрд╛ рднреА рд╣реИред

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

@ Dreamcat4 рд╣рд╛рдБ, рддреБрдо рд╕рд╣реА рд╣реЛ; рдЕрд▓реНрдкрд╛рд╡рдзрд┐ рдХреЗ рд▓рд┐рдП, рд╡реЗ рд▓рд┐рдВрдХ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реИрдВред

рд░рди-рдЯрд╛рдЗрдо рд╕реАрдХреНрд░реЗрдЯреНрд╕ рд╡реАрдПрд╕ рдмрд┐рд▓реНрдб-рдЯрд╛рдЗрдо рд╕реАрдХреНрд░реЗрдЯреНрд╕ рдХреА рд╡рд┐рднрд┐рдиреНрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реИред рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдПрд░рд┐рдпрд╛ рдУрд╡рд░рд▓реИрдк рдПрд░рд┐рдпрд╛ рднреА рд╣реИред

рдзрдиреНрдпрд╡рд╛рдж! рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдореЗрд░реЗ рдореВрд▓ рд╡рд┐рд╡рд░рдг рдореЗрдВ, рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЦреЛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред рдореИрдВ рдПрдХ рдмреБрд▓реЗрдЯ рдЬреЛрдбрд╝реВрдВрдЧрд╛

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рд╕реБрд░рдХреНрд╖рд╛ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдирд╣реАрдВ рд╣реВрдВред

рдореИрдВ рднреА рдирд╣реАрдВ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕реБрд░рдХреНрд╖рд╛ рдЕрдиреБрд░рдХреНрд╖рдХреЛрдВ рдХреЛ "рдкрд┐рдВрдЧ" рдХрд┐рдпрд╛; рдЖрдИрдПрдордУ, рдпрд╣ рдЙрдирдХреЗ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдХреБрдЫ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

@thaJeztah рдорд╣рд╛рди рд╕рд╛рд░рд╛рдВрд╢ред рдЬрдм рднреА рдореБрдЭреЗ рдХреБрдЫ рд╕рдордп рдорд┐рд▓реЗрдЧрд╛ рдореИрдВ рдЗрд╕ рдкрд░ рдкреНрд░рд╣рд╛рд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред

@diogomonica рд╣рд╛рд▓рд╛рдВрдХрд┐ _directly_ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИ, рдирд┐рд░реНрдорд╛рдг рдХреЗ рджреМрд░рд╛рди SSH рдХреБрдВрдЬреА рдПрдЬреЗрдВрдЯ рдХреЛ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рдВрдмрд╛ рдЦреБрд▓рд╛ рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз рд╣реИ; https://github.com/docker/docker/issues/6396 рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП, рдХреБрдЫ рд╕реЛрдЪ рднреА рджреЗрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред (рдпрджрд┐ рдЗрд╕ рдкрд░ рдирд┐рд░реНрдгрдп рд▓реЗрдирд╛ рднреА рд╣реИ рдХрд┐ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ)

рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдЖрдк рд░реВрдЯ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╡реЙрд▓реНрдпреВрдо рдорд╛рдЙрдВрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╣рд╛рд╕реНрдп), рдХреНрдпрд╛ рдпрд╣ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рд░рд╣рд╕реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреБрдХреВрд▓ рддрд░реАрдХрд╛ рд╣реЛрдЧрд╛?

рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рдореИрдВ -v host_dir:image_dir рд╡рд┐рдХрд▓реНрдк рдХреА рд╡рдХрд╛рд▓рдд рдХрд░реВрдВрдЧрд╛ рдЬреЛ рдХреЗрд╡рд▓ рдбреЗрдЯрд╛ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ -vc host_dir:image_dir (рдпрд╛рдиреА рд╡реЙрд▓реНрдпреВрдо-рдХреЙрдкреА) рдЬреИрд╕рд╛ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ host_dir рдХреА рд╕рд╛рдордЧреНрд░реА рд╣реИ рдХреЗрд╡рд▓-рдбреЗрдЯрд╛ рдХрдВрдЯреЗрдирд░ рдкрд░ image_dir рд╡реЙрд▓реНрдпреВрдо рдореЗрдВ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЧрдпрд╛ред

рдлрд┐рд░ рд╣рдо secure-data-only containers рдкреНрд░рддрд┐рдорд╛рди рдкрд░ рдЬреЛрд░ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ

рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ @jrslv рд╕реЗ рдПрдХ рдЕрдЪреНрдЫрд╛ рд▓реЗрдЦ рдкрдврд╝рд╛ рд╣реИ рдЬрд╣рд╛рдВ рд╡рд╣ рдЖрдкрдХреЗ рдРрдк рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣рд╕реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рд╢реЗрд╖ рдбреЙрдХрд░ рдЫрд╡рд┐ рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдирд┐рд░реНрдорд╛рдг рдЫрд╡рд┐ рдЪрд▓рд╛рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рддрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдЫрд╡рд┐ рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реИред

рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рджреЛ Dockerfiles рд╣реИрдВ:

  • Dockerfile.build (рдпрд╣рд╛рдБ рдЖрдк рдмрд╕ рдЕрдкрдиреЗ рд╕рднреА рд░рд╣рд╕реНрдпреЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБ)
  • Dockerfile.dist (рдЗрд╕реЗ рдЖрдк рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рдзрдХреЗрд▓реЗрдВрдЧреЗ)

рдЕрдм рд╣рдо рдЕрдкрдирд╛ рд╡рд┐рддрд░рдг рдЗрд╕ рддрд░рд╣ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ:

# !/bin/sh
docker build -t hello-world-build -f Dockerfile.build .
docker run hello-world-build >build.tar.gz 
docker build -t hello-world -f Dockerfile.dist ^

рдЖрдкрдХреЗ рд░рд╣рд╕реНрдп рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдХрднреА рднреА hello-world-build рдЫрд╡рд┐ рдХреЛ рдЖрдЧреЗ рдирд╣реАрдВ рдмрдврд╝рд╛рддреЗ рд╣реИрдВред

рдореИрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП @jrslv рд▓реЗрдЦ рдкрдврд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ http://resources.codeship.com/ebooks/continuous-integration-continuous-delivery-with-docker

@Kepkin рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!
рдЕрднреА рд▓реЗрдЦ рдкрдврд╝рдХрд░ рд╕рдорд╛рдкреНрдд рдХрд┐рдпрд╛ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдВрдХреНрд╖рд┐рдкреНрдд!

рдореБрдЭреЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЕрд▓рдЧ Dockerfile рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ "рдмрд┐рд▓реНрдб рдХреИрд╢ рдореЗрдВ рдордзреНрдпрд╡рд░реНрддреА рдкрд░рддреЗрдВ" рдореБрджреНрджреЗ рдХреЗ рдмрд┐рдирд╛ рд╕реНрдХреНрд╡реИрд╢рд┐рдВрдЧ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рдШрдмрд░рд╛рдпрд╛ рд╣реБрдЖ рд╣реВрдВ рдХрд┐ рдпрд╣ рд╡рд┐рдХрд╛рд╕ рдХреЛ рдЬрдЯрд┐рд▓ рдмрдирд╛ рджреЗрдЧрд╛ рдФрд░ рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП рддреАрд╕рд░реЗ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

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

@TomasTomecek рдЕрдЧрд░ рдореИрдВ рдЙрджрд╛рд╣рд░рдг рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ, рддреЛ https://github.com/docker-library/hello-world/blob/master/update.sh (рдпрд╣рд╛рдВ рдХреЛрдИ рд░рд╣рд╕реНрдп рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдмрд┐рд▓реНрдб рдХрдВрдЯреЗрдирд░ рдХрд╛ рд╕рд┐рд░реНрдл рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рд╣реИ)

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

@kepkin рдареАрдХ рд╣реИ, рдЕрдм рдореИрдВ рдЖрдкрдХреА рдкреЛрд╕реНрдЯ рдХреЛ рджреЛрдмрд╛рд░рд╛ рдкрдврд╝рддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕реЗ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВред рдЙрд╕рдХреЗ рд▓рд┐рдП рдорд╛рдлрд╝ рдХрд░рдирд╛ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬрдм рдЖрдкрдХреЛ рд╡рд┐рддрд░рдг рдЫрд╡рд┐ рдХреА рддреИрдирд╛рддреА/рдирд┐рд░реНрдорд╛рдг рдХреЗ рджреМрд░рд╛рди рд░рд╣рд╕реНрдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЛ рд▓рд╛рдирд╛ рдФрд░ рдЖрд░реНрдЯрд┐рдлреИрдХреНрдЯ рд╕реЗрд╡рд╛ рдХреЗ рд╕рд╛рде рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрд░рдирд╛)ред рд▓реЗрдХрд┐рди рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдФрд░ рд░рд┐рд▓реАрдЬ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдмреАрдЪ рдЕрд▓рдЧрд╛рд╡ рдХреЗ рд▓рд┐рдП рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИред

@TomasTomecek рдареАрдХ рдЗрд╕реА рддрд░рд╣ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реВрдВред

Docker.build рдЫрд╡рд┐ рдореЗрдВ рдореИрдВ Amazon S3 рдЫрд╡рд┐ рд╕реЗ рдХреБрдЫ рдмрд╛рдЗрдирд░реА рдирд┐рд░реНрднрд░рддрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддрд╛ рд╣реВрдВ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП AWS рдХреБрдВрдЬреА рдФрд░ рд░рд╣рд╕реНрдп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдЕрдкрдиреА рдЬрд░реВрд░рдд рдХреА рд╣рд░ рдЪреАрдЬ рдХреЗ рд╕рд╛рде рдПрдХ рдЯреИрд░рдмреЙрд▓ рдмрдирд╛рддрд╛ рд╣реВрдВред

рдХреНрдпрд╛ рдХреЛрдИ рд╡рд┐рд╣рд┐рдд "рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕" рд▓реЗрдЦ рд╣реИ - "рдХреНрдпрд╛ рдХрд░реЗрдВ" рдЬреИрд╕рд╛ рдХрд┐ "рдХреНрдпрд╛ рди рдХрд░реЗрдВ" рд╕реЗ рдЕрд╡рдЧрдд рдХрд░рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ - рдХрд┐ рдЖрдк рд╕рднреА рдкрдврд╝рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░реЗрдВрдЧреЗ?

рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп (рдореЗрд░реЗ рдЬреИрд╕реЗ рдХрд┐рд╕реА рдФрд░ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЗрд╕ рдкрд░ рдареЛрдХрд░ рдЦрд╛ рд░рд╣рд╛ рд╣реИ) рдХрд┐ рдбреЙрдХрд░ рдХрдВрдкреЛрдЬрд╝ рдХреЛ env_file рд╡рд┐рдХрд▓реНрдк рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╣реИред

https://docs.docker.com/compose/compose-file/#env -file

@afeld docker рдореЗрдВ рд╕реНрд╡рдпрдВ рднреА рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рд╣реИ, http://docs.docker.com/engine/reference/commandline/run/#set -environment-variables-e-env-env-file рджреЗрдЦреЗрдВ рд▓реЗрдХрд┐рди рд╡реЗ env-vars рдЕрднреА рднреА рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрдВ, рдЗрд╕рд▓рд┐рдП "рд▓реАрдХ" рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛

рдореИрдВ рдЗрд╕ рдЪреАрдЯ рд╢реАрдЯ рдореЗрдВ рдлрдВрд╕ рдЧрдпрд╛ рд╣реВрдВ: http://container-solutions.com/content/uploads/2015/06/15.06.15_DockerCheatSheet_A2.pdf

@kepkin рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдореИрдВ docker build ssh-key рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ:

# serve the ssh private key once over http on a private port.
which ncat
if [ "$?" = "0" ]; then
  ncat -lp 8000 < $HOME/.ssh/id_rsa &
else
  nc -lp 8000 < $HOME/.ssh/id_rsa &
fi
nc_pid=$!
docker build --no-cache -t bob/app .
kill $nc_pid || true

рдФрд░ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХреЗ рдЕрдВрджрд░ рдЬрд╣рд╛рдВ 172.17.0.1 рдбреЙрдХрд░ рдЧреЗрдЯрд╡реЗ рдЖрдИрдкреА рд╣реИ:

RUN \
  mkdir -p /root/.ssh && \
  curl -s http://172.17.0.1:8000 > /root/.ssh/id_rsa && \
  chmod 600 /root/.ssh/id_rsa && chmod 700 /root/.ssh && \
  ssh-keyscan -t rsa,dsa github.com > ~/.ssh/known_hosts && \
  git clone --depth 1 --single-branch --branch prod [email protected]/app.git . && \
  npm i --production && \
  ... && \
  rm -rf /root/.npm /root/.node-gyp /root/.ssh

рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдХреБрдЫ рдЖрд╕рд╛рди рд╣реИ рддреЛ рд╣рдореЗрдВ рдмрддрд╛рдПрдВред

рддреЛ рдЗрд╕рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреНрдпрд╛ рд╣реИ?

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

@thaJeztah рдЗрд╕реЗ рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рдбрд╛рдЙрдирд╕реНрдЯреНрд░реАрдо рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдХрдИ рдирд┐рдЧрд╛рд╣реЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рд╣реИрдВ... рдЙрджрд╛ред https://github.com/rancher/rancher/issues/1269

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдБ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ _secret_ :D . рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ

рдбреЙрдХрд░ рдХреЛ рд╣рдорд╛рд░реЗ рдкреНрд░реЛрдбрдХреНрд╢рди рд╕реНрдЯреИрдХ рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рджрд░реНрдж рдмрд┐рдВрджреБ рд╣реИред рдХреНрдпрд╛ рдХрд╣реАрдВ рдХреЛрдИ рд░реЛрдбрдореИрдк рдпрд╛ рдХреЛрдИ рдЕрдиреНрдп рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╣реИ рдЬреЛ рдЗрд╕ рджрд┐рд╢рд╛ рдореЗрдВ рдХрд┐рд╕реА рдкреНрд░рдЧрддрд┐ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддрд╛ рд╣реИ?

рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ k8s рд╕реЗ рдХреБрдЫ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╕рд╛рдордЧреНрд░реАред

рд░рди-рдЯрд╛рдЗрдо рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рддрд░реАрдХреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдк рдЗрд╕реЗ рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВ?
https://github.com/docker/docker/issues/19508

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

рдореИрдВрдиреЗ рдЬреЛ рдХреБрдЫ рджреЗрдЦрд╛ рд╣реИ, рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдмрд╣реБрдд рд╣реА рд╡реИрдз рдЪрд┐рдВрддрд╛рдУрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:

рд░рди-рдЯрд╛рдЗрдо рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓

  • рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛/рдкрд╛рд╕рд╡рд░реНрдб рдЬрд╛рдирдХрд╛рд░реА рджреЛ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдмреАрдЪ рд╕рдордиреНрд╡рд┐рдд рд╣реЛрддреА рд╣реИ рдЬреЛ link
  • рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдЕрдкрдиреЗ git рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИ
  • рдЖрдкрдХреА рдкреБрд╢ рдХреА рдЧрдИ рдЫрд╡рд┐рдпреЛрдВ рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдмрд╛рд╣рд░ рд░рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИ (рд╕реНрдерд╛рдиреАрдп рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?)
  • рдЬрд╛рдирдХрд╛рд░реА рдХреЛ .bash_history рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИ (рд╕рдВрднрд╡рддрдГ рдПрдХ рдкреБрд▓ рдмрд╣реБрдд рджреВрд░ рд╣реИ?)
  • рдХреБрдЫ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рд░рд╣рд╕реНрдпреЛрдВ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдЕрдиреНрдп рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИ
  • рдХреБрдЫ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд░рд╣рд╕реНрдпреЛрдВ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ
  • рдХреБрдЫ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рджреЛрдиреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ

рдЬрдм рдореИрдВ 'рдЖрд╕рд╛рди' рдХрд╣рддрд╛ рд╣реВрдВ рддреЛ рдореЗрд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЗрди рдЪрд░реЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрд░реНрдЧреЛрдиреЙрдорд┐рдХ рд░реВрдк рд╕реЗ рд╕рдордЭрджрд╛рд░ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЧрд▓рддреА рд╕реЗ рдЧрд▓рдд рдХрд╛рдо рдХрд░рдиреЗ рдФрд░ рд╕реБрд░рдХреНрд╖рд╛ рдмреБрд▓реЗрдЯрд┐рди рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдиреЗ рд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИред рдЕрдиреБрднрд╡ рдХрд╛ рддрдирд╛рд╡ рдЕрдХреНрд╕рд░ рдЧрд▓рддреА рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдЙрдкрдХрд░рдгреЛрдВ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИ (рдкрдврд╝реЗрдВ: рджреЛрд╖ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред

рдмрд┐рд▓реНрдб-рдЯрд╛рдЗрдо рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕

  • рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдирд┐рдЬреА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЙрджрд╛: package.json git urls рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ)
  • рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рдкреАрдЫреЗ рдмрд┐рд▓реНрдбрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
  • рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдмрд┐рд▓реНрдбрд░ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рдХреИрд╢ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░ рд░рд╣рд╛ рд╣реЛ
  • рдЕрдВрддрд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗрд╡рд▓ рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рдЫрд╡рд┐ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд░рддрд╛ рд╣реИ (рдпрд╛рдиреА, рд╡реЗ рдкреБрд▓ рдпрд╛ FROM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдХрднреА рдирд╣реАрдВ docker build )
  • рдЖрдкрдХреА рдкреБрд╢ рдХреА рдЧрдИ рдЫрд╡рд┐рдпреЛрдВ рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдмрд╛рд╣рд░ рд░рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИ

рдкрд╣рд▓рд╛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:

рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЫрд╡рд┐, рдХрдВрдЯреЗрдирд░ рдореЗрдВ 'рд▓реАрдХ' рдХреНрдпрд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг

  • рдЫрд╡рд┐ рдореЗрдВ рдХреМрди рд╕реА рдлрд╛рдЗрд▓реЗрдВ рд╣рд╡рд╛ рдореЗрдВ рдЖрддреА рд╣реИрдВ (рдмрд╕ рдХреЙрдкреА рдХрд░реЗрдВ рдФрд░ рдЬреЛрдбрд╝реЗрдВ? рдХреБрдЫ рдФрд░?)
  • рдЫрд╡рд┐ рдмрдирдиреЗ рдХреЗ рдмрд╛рдж рдбреЙрдХрдЯрд░-рдорд╢реАрди рдХреНрдпрд╛ рд░рдЦрддрд╛ рд╣реИ (рд╡рд┐рд╢реЗрд╖рдХрд░ boot2docker, рд▓реЗрдХрд┐рди рджреВрд╕рд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?)
  • рдЫрд╡рд┐ рдореЗрдВ рдкрд░реНрдпрд╛рд╡рд░рдг рдФрд░ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЪрд░ рдХреИрд╕реЗ рдХреИрдкреНрдЪрд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХрд╣рд╛рдБ рдХреИрдкреНрдЪрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
  • рдЗрди рд╡реНрдпрд╡рд╣рд╛рд░реЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдкреАрдЖрд░ рдЬрд╛рд░реАрдХрд░реНрддрд╛рдУрдВ рд╕реЗ рдЕрдкреЗрдХреНрд╖рд╛рдПрдВ

рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдореИрдВ рдпрд╣рд╛рдБ рдХреБрдЫ рдмрдбрд╝реЗ рд▓реЛрдЧреЛрдВ рдХреЛ рдпрд╛рдж рдХрд░ рд░рд╣рд╛ рд╣реВрдБред рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдХреБрдЫ рд╣реИ рдЬреЛ рдореИрдВ рднреВрд▓ рдЧрдпрд╛?

рдЬреЛ рднреА рдЬреЗрд╕рди рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдкреАрдЖрдИ рдХреБрдВрдЬреАред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП (рдФрд░ рдпрд╣ рдореЗрд░рд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓рд╛ рд╣реИ), рдбреЙрдХрд░ рдмрд┐рд▓реНрдб рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдореБрдЭреЗ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдиреЗ рдФрд░ рдмрд┐рд▓реНрдб рдЙрддреНрдкрд╛рдж (рдЙрддреНрдкрд╛рджреЛрдВ) рдХреЛ Bintray.com рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред

@ dreamcat4 рдЖрдк рдЬреЛ рдХрд╣ рд░рд╣реЗ рд╣реИрдВ рдЙрд╕рд╕реЗ рдореИрдВ рджреВрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдЬрд╛рддрд╛ рд╣реИ:

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

рдореЗрд░реА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдмрд┐рд▓реНрдб рдПрдЬреЗрдВрдЯ рд╕рд┐рд░реНрдл рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝/рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ 'рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ' рдХреЗ рд░реВрдк рдореЗрдВ рд░рдЦрддрд╛ рд╣реИ, рдФрд░ рдХреБрдЫ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдореЗрдВ рдзрдХреЗрд▓рддрд╛ рд╣реИ, рдЧрд┐рдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдЯреИрдЧ рдХрд░рддрд╛ рд╣реИ, рдЖрджрд┐ред рдпрд╣ рдореБрдЭреЗ рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рдЖрдкрд╛рддрдХрд╛рд▓реАрди рдмреИрдХрдЕрдк рджреЗрддрд╛ рд╣реИ рдпрджрд┐ рдореИрдВ рдПрдХ рдЙрддреНрдкрд╛рджрди рд╕рдорд╕реНрдпрд╛ рд╣реИ рдФрд░ рдХрд╣реЗрдВ, рдореЗрд░рд╛ рдПрдирдкреАрдПрдо, рдбреЙрдХрд░, рдпрд╛ рдЖрд░реНрдЯрд┐рдлреИрдХреНрдЯрд░реА рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдЕрдкрдЧреНрд░реЗрдб рдХреЗ рд▓рд┐рдП рдбрд╛рдЙрди рд╣реИ, рдпрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдореБрдЭ рдкрд░ рдЧрдбрд╝рдмрдбрд╝ рдХрд░ рд░рд╣рд╛ рд╣реИред

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

@dreamcat рдУрд╣, рдЖрд░рдИрдПрд╕рдЯреА рдПрдВрдбрдкреЙрдЗрдВрдЯреНрд╕ рдХреЗ рд▓рд┐рдП

рд╣рд╛рдБ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рдиреНрдпреВрдирддрдо рд╕реНрддрд░ рдХреЗ рдЖрдзрд╛рд░ рдХреЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЙрди рджреЛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдорд╛рдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдПрдкреАрдЖрдИ рдкреНрд░рд╛рдорд╛рдгрд┐рдХ рдЯреЛрдХрди рдЕрдХреНрд╕рд░ рд╣реЛрддреЗ рд╣реИрдВ:

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

рдкрд╛рд╕рд╡рд░реНрдб рдЕрдХреНрд╕рд░ рд╣реЛрддреЗ рд╣реИрдВ / рд╣реЛрддреЗ рд╣реИрдВ:

  • рдЕрдзрд┐рдХ рдкреВрд░реНрдг рдЦрд╛рддрд╛ рдкрд╣реБрдВрдЪ/рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдПред
  • рдПрдХ рдмрд╛рд░ рд╕рдордЭреМрддрд╛ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдорд▓рд╛рд╡рд░ рджреНрд╡рд╛рд░рд╛ рдЗрд╕реЗ рдХрд┐рд╕реА рдФрд░ рдЪреАрдЬрд╝ рдореЗрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рд▓реЙрдХ рдЖрдЙрдЯ)ред рдпрд╛ рдЕрдиреНрдп рдкрд┐рдЫрд▓реЗ рджрд░рд╡рд╛рдЬреЗ (рдЬреИрд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд░рдЦреЗ рдЧрдП рдЕрдиреНрдп рдЦрд╛рддреЛрдВ рдХрд╛ рдбреАрдмреА рд╕рдВрд╢реЛрдзрди, рдПрд╕рдХреНрдпреВрдПрд▓ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ) рдбрд╛рд▓рд╛ рдЧрдпрд╛ред
  • рдкрд╛рд╕рд╡рд░реНрдб рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдЕрдиреНрдп рдЦрд╛рддреЛрдВ рдХреЗ рдмреАрдЪ 'рд╕рдорд╛рди рдкрд╛рд╕рд╡рд░реНрдб рдкреБрди: рдЙрдкрдпреЛрдЧ' рдХрд╛ рдХрд╛рдлреА рдЕрдзрд┐рдХ рдЬреЛрдЦрд┐рдо рд╣реЛрддрд╛ рд╣реИред рдЬрдмрдХрд┐ рдПрдкреАрдЖрдИ рдХреБрдВрдЬрд┐рдпрд╛рдБ рд╣рдореЗрд╢рд╛ рдЕрджреНрд╡рд┐рддреАрдп рд╣реЛрддреА рд╣реИрдВ рдФрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВред

рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЙрди 2 рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рд░рд╣рд╕реНрдп рд╕рдорд╛рдзрд╛рди _рдЕрд▓рдЧ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП_ред рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдХреЗ рд▓рд┐рдП рд╕реНрд╡реАрдХрд╛рд░реНрдп рдиреНрдпреВрдирддрдо рдЖрдзрд╛рд░рднреВрдд рд╕реБрд░рдХреНрд╖рд╛ рд╕реНрддрд░ рдереЛрдбрд╝рд╛ рдХрдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

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

рдФрд░ рдХрднреА-рдХрднреА рдкрд╛рд╕рд╡рд░реНрдб рдХреА рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдореЗрдВ рдордЬрдмреВрдд/рдХрдордЬреЛрд░ рд╕реБрд░рдХреНрд╖рд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдмрд╕ рдЗрддрдирд╛ рд╣реА рдХрд┐ рдЕрдЧрд░ рдПрдХ рдЖрдХрд╛рд░-рдлрд┐рдЯ-рд╕рдм рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП - рдореЗрд░реА рдмрд┐рдВрдЯреНрд░реЗ рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА: рдЬреЛ рдореЗрд░реЗ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХреЗ рд╕рдорд╛рди .git рд░реЗрдкреЛ рдореЗрдВ рдЖрдпреЛрдЬрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИред рддреЛ рдЗрд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдЬреА рдЧрд┐рдЯ рд░реЗрдкреЛ (рдПрд╕рдПрд╕рдПрдЪ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╣реБрдВрдЪрд╛) рдореЗрдВ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдбреЙрдХрдЯрд░ рдХреЗ рдкрд╛рд╕ рдЕрдкрдиреА рд╕реНрд╡рдпрдВ рдХреА рдХреЛрдИ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЧреБрдкреНрдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ / рд╕реБрд░рдХреНрд╖рд╛ рдирд╣реАрдВ рд╣реИ, рдирд┐рд░реНрдорд┐рдд рдбреЙрдХрд░ рдЫрд╡рд┐ рдореЗрдВ рд╣рдореЗрд╢рд╛ рд╕рд╛рджреЗ рдкрд╛рда рдореЗрдВ рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рд╢рд╛рдорд┐рд▓ рд╣реЛрддреА рд╣реИред рдЗрд╕рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдореА рдбреЙрдХрд░ рдмрд┐рд▓реНрдб рдЗрдореЗрдЬ рдХреЛ рдЧрд┐рдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреА рддрд░рд╣ рдирд┐рдЬреА рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП ...

рдЕрдм рдпрд╣ рдХрдИ рдорд╛рдпрдиреЛрдВ рдореЗрдВ рдЖрджрд░реНрд╢ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рд╕рдордЧреНрд░ рд╕рдорд╛рдзрд╛рди рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐: рдХрд▓)ред рдпрджрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХреЛрдИ рдмреЗрд╣рддрд░ рддрдВрддреНрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛, рддреЛ рдореИрдВ рдЙрд╕ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддрд╛ред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╡рд╣ рддрдВрддреНрд░ рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рдкрд╣рд▓реЗ рд╕реЗ рдмрдирд╛рдП рдЧрдП рдореМрдЬреВрджрд╛ рд╕рдорд╛рдзрд╛рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕реЗрдЯрдЕрдк рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдЕрдзрд┐рдХ рдорд╣рдВрдЧрд╛/рдЬрдЯрд┐рд▓ рдерд╛ред рдЗрд╕рд▓рд┐рдП рдХреЗрд╡рд▓ 1 рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд-рдордЬрдмреВрдд рд╕реБрд░рдХреНрд╖рд╛ (рдЕрд▓реНрдереЛрдЧ рд╕реНрд╡рд╛рдЧрдд) рдЕрдзрд┐рдХ рд╣реЛ рд╕рдХрддреА рд╣реИред рдЬрд┐рд╕реЗ рдХреЗрд╡рд▓ рдХрд┐рд╕реА рдирдП NOCAHCE рд╡рд┐рдХрд▓реНрдк / Dockerfile рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде docker рдХреА рдЗрдореЗрдЬ рд▓реЗрдпрд░ рдХреИрд╢ рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

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

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдХреНрд▓рд╛рдЗрдВрдЯ/рд╕рд░реНрд╡рд░ рдореЙрдбрд▓ (рдЬреИрд╕реЗ рддрд┐рдЬреЛрд░реА рдореЗрдВ ) рдкреНрд░рдмрдВрдзрди рдФрд░ рд╕реБрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдкрдврд╝реЗрдВ: рдСрдбрд┐рдЯрд┐рдВрдЧ, рдмреНрд░реЗрдХ-рдЧреНрд▓рд╛рд╕) рд╕рднреА рд░рд╣рд╕реНрдпреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рд╛рдорд╛рди рдЕрдЪреНрдЫрд╛ рдЕрднреНрдпрд╛рд╕ рд╣реЛрдЧрд╛ рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░реЗрдЧрд╛, рдЕрдЧрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЛрдЪ-рд╕рдордЭрдХрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдореИрдВ, рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдЧреИрд░-рд╕рдордЧреНрд░ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЕрдкрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рд╢рдВрд╕рдХ рдирд╣реАрдВ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдУрдВ рдореЗрдВ рдмрд╛рд░ рдХреЛ рдКрдкрд░ рдЙрдард╛рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реИред

рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдПрдХ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ рдХреНрд▓рд╛рдЗрдВрдЯ (рдЙрд╕ рд╡реНрдпрдХреНрддрд┐ рдХреА рдЬрд┐рдореНрдореЗрджрд╛рд░реА рдЬреЛ рдПрдХ рдЫрд╡рд┐ рдХреЛ рддреИрдирд╛рдд рдХрд░рддрд╛ рд╣реИ) рдФрд░/рдпрд╛ рдПрдХ рдмрд┐рд▓реНрдб-рдЯрд╛рдЗрдо рдХреНрд▓рд╛рдЗрдВрдЯ (рдмрд┐рд▓реНрдбрд░ рдХреА рдЬрд┐рдореНрдореЗрджрд╛рд░реА)ред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдкреВрд░реНрд╡ рд╡рд╛рд▓реЗ рдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рдбреЙрдХрдЯрд░ рдбреЗрдореЙрди рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд░рди рдЯрд╛рдЗрдо рдкрд░ рдЕрдзрд┐рдХреГрдд рд░рд╣рд╕реНрдп рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

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

рдЦреИрд░, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдХреБрдЫ рджрд╕реНрддрд╛рд╡реЗрдЬ рдЕрднреА рднреА рдЙрдкрдпреЛрдЧреА рд╣реЛрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдбреЙрдХрд░ рд╕рдорд╕реНрдпрд╛ рд╕реНрдерд╛рди рдореЗрдВ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд┐рдВрдХ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИред

рдРрд╕рд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИ рдХрд┐ рд╢рд╛рдпрдж рддрд┐рдЬреЛрд░реА рд╡рд╛рд▓реЗ рднреА рдЗрд╕реЗ рдЕрдкрдиреА рддрд░рдл рд╕реЗ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЯрд┐рдХрдЯ рджреЗрдЦрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ:

https://github.com/hashicorp/vault/issues/165

рд╢рд╛рдпрдж рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рд╕рд╣рдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

@jdmarshall

рд╢рд╛рдпрдж рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рд╕рд╣рдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

+1

+1 рдбреЙрдХрд░ + рд╣рд╛рд╢реА рдХреЙрд░реНрдк рд╡реЙрд▓реНрдЯ

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

рдореИрдВ рдРрд╕реЗ рд╕рдорд╛рдзрд╛рди рдХреЛ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рдЬрд┐рд╕рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рд╢рд╛рдорд┐рд▓ рд╣реИ (рдЙрджрд╛рд╣рд░рдг: рдЬреАрдердм рдХреБрдВрдЬреА) рдФрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрди (рдЙрджрд╛рд╣рд░рдг: nginx рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреБрдВрдЬреА, рдбреАрдмреА рдкреНрд░рдорд╛рдг-рдкрддреНрд░)ред рдореИрдВ рдореЗрдЬрдмрд╛рди рдХреЛ env vars рдпрд╛ рдмрд┐рд▓реНрдб рдЯреВрд▓реНрд╕ рдХреЗ рд╕рд╛рде рдкреНрд░рджреВрд╖рд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреЛрдИ рд░рд╣рд╕реНрдп рдЬреАрдердм (рдЕрдирдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб) тАЛтАЛтАЛтАЛрдпрд╛ рдПрдХ рдбреЙрдХрд░ рдЫрд╡рд┐ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдПрдХ рдирд┐рдЬреА рдореЗрдВ рднреА рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

@gittycat рдореИрдВ рдЖрдкрдХреЗ рд╕рд╛рде рдЗрд╕ рдЕрд░реНрде рдореЗрдВ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рд╢рд╛рдпрдж рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЗ рд╣реИрдВред рдЬрд┐рд╕рд╕реЗ рдХреБрдЫ рд╕рдорд╛рдзрд╛рди рджреВрд╕рд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕рд░рд▓ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдИрдПрдирд╡реА рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓реЗрдиреЗ рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореЗрд░реА рдЕрдкрдиреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреА рдУрд░ рдЭреБрдХ рд░рд╣реА рд╣реИ рдХрд┐ рд╕рд░рд▓ рдХреБрдВрдЬреА рднрдВрдбрд╛рд░рдг рдХреЛ рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рдХреЗ рд╕рд╛рде "рд╡реЙрд▓реНрдЯ" рдореЗрд╕реАрдирд┐рдЬрд╝реНрдо рдХреЗ рд╕рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬрд╣рд╛рдВ рдЖрдкрдХреЗ рдкрд╛рд╕ рдмрд┐рд▓реНрдб рд╕рдВрджрд░реНрдн (рдпрд╛ рдирд┐рд░реНрдорд╛рдг рд╕рдВрджрд░реНрдн рдХреЗ рдмрд╛рд╣рд░/рд╕рд╛рде рдХреЗ рд╕реНрд░реЛрдд) рдХреЗ рднреАрддрд░ рдПрдХ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рд╣реИред рдлрд┐рд░ рдПрдХ рдЕрдирд▓реЙрдХ рдХреБрдВрдЬреА рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдЬреЛ рднреА рдкреНрд▓реЗрдирдЯреЗрдХреНрд╕реНрдЯ рдкрд╛рд╕рд╡рд░реНрдб рдпрд╛ рдПрдкреАрдЖрдИ рдХреБрдВрдЬреА рдЖрджрд┐ рдЕрдирд▓реЙрдХ рдХрд░ рд╕рдХрддреА рд╣реИред

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

рдореИрдВ рд╕реНрдерд╛рдиреАрдп рдлрд╝рд╛рдЗрд▓ рд╕рдВрдЧреНрд░рд╣рдг рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреВрдВрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреБрдЫ рдЬрдЯрд┐рд▓ рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп HTTP рдХреБрдВрдЬреА рд╕рдВрдЧреНрд░рд╣рдг рд╕рд░реНрд╡рд░ рдХреЛ рд╕реЗрдЯрдЕрдк рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рдмрдЪрддрд╛ рд╣реИред рд╕реАрдХреНрд░реЗрдЯ рд╕реНрдЯреЛрд░реЗрдЬ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЙрдкрд▓рдмреНрдз рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рди рдХрд┐ рдХреЗрд╡рд▓ рдЙрджреНрдпрдореЛрдВ рдХреЗ рд▓рд┐рдПред рдмрд╕ рдореЗрд░реА 2 рд╕реЗрдВрдЯ рдХреА рд░рд╛рдпред

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

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

рдЕрдЧрд░ рдореИрдВ рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рдХреЗ рд╕рдордп docker run рдкрд░ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕реЗ рдЕрдкрдиреЗ рдЪрдпрди рдХреА рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рд╕реЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдЬреИрд╕реЗ /sbin/get_secrets, рдЬреЛ рдореЗрд░реЗ рдЪрдпрди рдХреЗ рддрдВрддреНрд░ (рдЬреИрд╕реЗ рдХреЗрдПрдордПрд╕) рд╕реЗ рд░рд╣рд╕реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рдореВрд▓ рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдЧрд╛ (рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдПрдХ рдорд╛рддреНрд░ рдЖрд╡рд░рдг рдмрди рдЧрдпрд╛ рдЬрд┐рд╕рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдЙрджреНрджреЗрд╢реНрдп рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рд░рд╣рд╕реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдерд╛ред рдЗрд╕ рддрд░рд╣ рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╡реЙрд▓реНрдпреВрдо рдорд╛рдЙрдВрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░рдирдЯрд╛рдЗрдо рдкрд░ рдЖрдкреВрд░реНрддрд┐ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рддрдВрддреНрд░ рдореЗрдВ рдбрд┐рд╕реНрдХ рдкрд░ рдХрднреА рднреА рд▓рд┐рдЦреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд░рд╣рд╕реНрдп рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ ( рдореЗрд░реЗ рдкрд╛рд▓рддреВ рдЬрд╛рдирд╡рд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдирдлрд░рдд рдХрд░рддрд╛ рд╣реИ), рдпрд╛ рдбреЙрдХрд░ рджреНрд╡рд╛рд░рд╛ рд▓реАрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ (рдбреЙрдХрд░ рдирд┐рд░реАрдХреНрд╖рдг рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ), рд▓реЗрдХрд┐рди рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдЧрд╛ рдХрд┐ рд╡реЗ рдХреЗрд╡рд▓ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ 1 рдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рдЕрдВрджрд░ рдореМрдЬреВрдж рд╣реЛрдВ, рдЬреЛ 12-рдХрд╛рд░рдХрддрд╛ рд░рдЦрддрд╛ рд╣реИред

рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ) рдпрджрд┐ рдЫрд╡рд┐ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдореЗрдВ рдПрдВрдЯреНрд░реАрдкреЙрдЗрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ cmd рд╣реИ, рдПрдВрдЯреНрд░реАрдкреЙрдЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдХрдорд╛рдВрдб рдХреЛ рд▓рдкреЗрдЯрддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рд░реИрдкрд░ рдХреЛ рд░рдирдЯрд╛рдЗрдо рдкрд░ рд╡реЙрд▓рдорд╛рдЙрдВрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рдПрдВрдЯреНрд░реАрдкреЙрдЗрдВрдЯ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЫрд╡рд┐ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рддрдм рддрдХ рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рджреЗрдЦрдирд╛ рд╕рдВрднрд╡ рди рд╣реЛ рдХрд┐ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рд╕реЗ рдореВрд▓ рдПрдВрдЯреНрд░реАрдкреЙрдЗрдВрдЯ рдХреНрдпрд╛ рдерд╛ (cmdline рдУрд╡рд░рд░рд╛рдЗрдб рдирд╣реАрдВ) - рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдирд╣реАрдВ .

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

рдореИрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдЕрдЧрд░ рдпрд╣ рд╕рд┐рд░реНрдл рдкрд░рддреЛрдВ рдкрд░ рдкрд░рддреЗрдВ рд╣реИ, рдпрд╛ рдХреНрдпрд╛ рдпрд╣ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ .. рдХреНрд╖рдорд╛ рдХрд░реЗрдВ рдЕрдЧрд░ рд╕рд┐рд░реНрдл рдкрд╣рд▓реЗред

@thaJeztah - рдореИрдВ рдЙрдкрд░реЛрдХреНрдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рд░рд╣рд╕реНрдп рдкреНрд░рдХрдЯ рд╣реЛрддреЗ рд╣реИрдВ w/out

@gtmtech рджрд┐рд▓рдЪрд╕реНрдкред рдЗрд╕ рдмрд╛рдд рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реЛрдЧреА рдХрд┐ рдЖрдкрдХреЛ рдХреИрд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдореВрд▓ рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рдЖрдкрдХреЗ рдкреНрд░рд╛рдкреНрдд рд░рд╣рд╕реНрдп рдмрд╛рдЗрдирд░реА рд╕реЗ рдХреНрдпрд╛ рдерд╛ ..

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЛрдб рдлрд╝реЛрд▓реНрдбрд░ рдПрдкреНрд░реЛрдЪ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд/рд╕рдордЭрдиреЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЖрд╕рд╛рди рдмрдирд╛ рджреЗрдЧрд╛ред

рдЙрджрд╛рд╣рд░рдг рдХреЛрдб рдФрд░ рдХрд╛рд░реНрдп рдкрд░рд┐рджреГрд╢реНрдп рдпрд╣рд╛рдБ @ Dreamcat4 @kaos >

https://github.com/gtmtechltd/secret-squirrel

рдореИрдВ рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпреЗ рдЬрдЯрд┐рд▓ рддрд░реАрдХреЗ рдХреНрдпреЛрдВ? рдореИрдВ рдорд╛рдирдХ рдпреВрдирд┐рдХреНрд╕ рдлрд╝рд╛рдЗрд▓ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВред рдХреЗрд╡рд▓ рд░реВрдЯ рджреНрд╡рд╛рд░рд╛ рдкрдардиреАрдп -v /etc/secrets/docker1:/etc/secrets рд╕рд╛рде рд╕рднреА рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рдбреЙрдХрд░ рдХреЛ рд╕реМрдВрдкреЗрдВ рдФрд░ рдлрд┐рд░ рдХрдВрдЯреЗрдирд░ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓ рд░рд╣реА рд╣реИ, рдЬреЛ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рдкрд╛рд╕ рдХрд░рддреА рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЕрдкрд╛рдЪреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди)ред рдпреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рд░реВрдЯ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рд╣реИрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╡реЗ рдмрд╛рдж рдореЗрдВ рд░реВрдЯ-рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╡рд╛рд▓реЗ рд░рд╣рд╕реНрдп рдХреЛ рдирд╣реАрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдореИрдВ рдЬрд┐рд╕ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рд╡рд╣ рдХрд┐рд╕реА рддрд░рд╣ рддреНрд░реБрдЯрд┐рдкреВрд░реНрдг рд╣реИ?

рдзрдиреНрдпрд╡рд╛рдж @gtmtech :)
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЛрдИ рдорд╛рдирдХ рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рдирд╣реАрдВ рд╣реИ, рди рд╣реА рдореИрдВ рдбреЙрдХрд░ рдирд┐рд░реАрдХреНрд╖рдг рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВ .. рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЖрдкрдХрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкрд╕рдВрдж рд╣реИред

рдореИрдВ рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпреЗ рдЬрдЯрд┐рд▓ рддрд░реАрдХреЗ рдХреНрдпреЛрдВ? рдореИрдВ рдорд╛рдирдХ рдпреВрдирд┐рдХреНрд╕ рдлрд╝рд╛рдЗрд▓ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВред -v /etc/secrets/docker1:/etc/secrets рдХреЛ рдХреЗрд╡рд▓ рд░реВрдЯ рджреНрд╡рд╛рд░рд╛ рдкрдардиреАрдп рдХреЗ рд╕рд╛рде docker рдХреЛ рд╕рднреА рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рд╕реМрдВрдкреЗрдВ рдФрд░ рдлрд┐рд░ рдХрдВрдЯреЗрдирд░ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓ рд░рд╣реА рд╣реИ, рдЬреЛ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рдкрд╛рд╕ рдХрд░рддреА рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП apache рдХреЙрдиреНрдлрд┐рдЧ)ред рдпреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рд░реВрдЯ рдЕрдиреБрдорддрд┐рдпреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рд╣реИрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╡реЗ рдмрд╛рдж рдореЗрдВ рд░реВрдЯ-рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╡рд╛рд▓реЗ рд░рд╣рд╕реНрдп рдХреЛ рдирд╣реАрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдореИрдВ рдЬрд┐рд╕ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рд╡рд╣ рдХрд┐рд╕реА рддрд░рд╣ рддреНрд░реБрдЯрд┐рдкреВрд░реНрдг рд╣реИ?

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

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

рддреЛ рдлрд┐рд░ рд╡рд╣ рдирд┐рдХрд▓ рдЬрд╛рддрд╛ рд╣реИ (рдЖрдк рд╢рд╛рдпрдж рдкрд╣рд▓реЗ рд╣реА рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рдЪреБрдХреЗ рд╣реИрдВ) ...
рдмрд┐рд▓реНрдб-рдЯрд╛рдЗрдо рд╕реАрдХреНрд░реЗрдЯреНрд╕!

рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдкреНрд░рдЧрддрд┐ рд╣реИ! рдЪреВрдВрдХрд┐ рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рдмрд╛рдж рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╣реАрдВ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ, рд╢рд╛рдпрдж рдЪреАрдЬреЛрдВ рдХреЛ рдЖрдзрд╛ рдХрд░ рджреЗрддрд╛ рд╣реИ рдФрд░ рдХреБрд▓ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд▓рдЧрднрдЧ 45-50% рд╣рд▓ рдХрд░рддрд╛ рд╣реИред

рдФрд░ рдпрджрд┐ рд░рд╣рд╕реНрдпреЛрдВ рдХреЗ рдЗрд░реНрдж-рдЧрд┐рд░реНрдж рдЕрднреА рднреА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╢реЗрд╖ рд╣реИрдВ, рддреЛ рдХрдо рд╕реЗ рдХрдо рд╡реЗ рдЕрдзрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ / рдХреЗрдВрджреНрд░рд┐рдд рд╣реЛрдВрдЧреА рдФрд░ рдмрд╛рдж рдореЗрдВ рдЖрдЧреЗ рдмрдврд╝рддреА / рдЙрдард╛ рд╕рдХрддреА рд╣реИрдВред

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

secret_squirrel рд╡реИрд╕реЗ рднреА рдПрдХ рдРрд╕реА рдЬрдЧрд╣ рдореЗрдВ рдПрдХ рд╣реИрдХ рд╣реИ рдЬрд╣рд╛рдВ рдореБрдЭреЗ рдЕрднреА рддрдХ рдХреЛрдИ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИ, рдбреЙрдХрд░ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЕрднреА рддрдХ рдПрдХ рд░рд╣рд╕реНрдп рдПрдкреАрдЖрдИ, рдпрд╛ рдПрдХ рдкреНрд▓рдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд░рд╣рд╕реНрдп-рдЪрд╛рд▓рдХ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЬреЛ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╡реЗ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рд╣реЛрдВрдЧреЗ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдпрд╣ рдЙрд╕ рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ рдИрдПрдирд╡реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд┐рд╖реНрдкрд╛рджрди рд╕реЗ рдкрд╣рд▓реЗ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ vars, рд▓реЗрдХрд┐рди рдбреЙрдХрд░ рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ (рдпрд╛ рдореЗрдЯрд╛рдбреЗрдЯрд╛) рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ, рд░рд╣рд╕реНрдпреЛрдВ рдХреЗ рд╕рд╛рде 12-рдХрд╛рд░рдХ рдЕрдиреБрдкрд╛рд▓рди рд╣реЛрдиреЗ рдХрд╛ рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рддрд░реАрдХрд╛ рд╣реИ, рдФрд░ рд╢рд╛рдпрдж рдбреЙрдХрд░ рд╡рд┐рдХрд╛рд╕ рд╕рдореБрджрд╛рдп рдЙрд╕ рд╡рд┐рдЪрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рд╡реЗ рдПрдХ рдирд┐рд░реНрдорд╛рдг рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рд░рд╣рд╕реНрдп-рдПрдкреАрдЖрдИ/рдЪрд╛рд▓рдХ рдЕрдЧрд░ рдЙрдиреНрд╣реЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╣реИ!

рд╣реИрдкреНрдкреА рдбреЙрдХрд┐рдВрдЧ!

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

рдЖрдо рддреМрд░ рдкрд░ рдЬрд┐рд╕рдореЗрдВ рдЖрд╡реЗрджрди рдХреЗ рд╕рд╛рдордиреЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╢рд┐рдо рдПрдВрдЯреНрд░реАрдкреЙрдЗрдВрдЯ рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдо рдЙрд╕ рд╢рд┐рдо рдХреЛ рд╢реЗрд▓ рдФрд░ рдПрдХ рдЫреЛрдЯреЗ рдЧреЛрд▓рдВрдЧ рдмрд╛рдЗрдирд░реА (https://github.com/realestate-com-au/shush) рдХреЗ рд╕рдВрдпреЛрдЬрди рдХреЗ рд╕рд╛рде рд▓рд╛рдЧреВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдкреНрдпреЛрд░-рдЧреЛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рдЖрд╡рд╛рдЬрд╝ рдкрд╕рдВрдж рд╣реИред

@gtmtech @mdub рдореБрдЭреЗ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рджреЗрдЦрдХрд░ рдкреНрд░рд╕рдиреНрдирддрд╛ рд╣реЛрдЧреАред
@ Dreamcat4 рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ "рдЬрдЯрд┐рд▓" рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдкрде рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдЬреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдареАрдХ рд╣реИред рдлрд┐рд░ рднреА, рдпрд╣ рд╢рд╛рдпрдж рдПрдХ рдЕрдореВрд░реНрдд рдирд┐рд░реНрдгрдп рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ред рдЗрд╕рд▓рд┐рдП, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░ рдХреЗ рднреАрддрд░ рдПрдХ рд╕реБрд░рдХреНрд╖рд╛ рд░реИрдкрд░ рдбрд┐рдЬрд╛рдЗрди рд╕реНрддрд░ рдкрд░ рдореЗрд░реЗ рд▓рд┐рдП рдХреБрдЫ рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИред рдПрдХ рдЕрдиреНрдп рдкрд╣рд▓реВ рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕ рд╣реИ: рдЙрдиреНрд╣реЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдирд╣реАрдВ рдмрд▓реНрдХрд┐ рдПрдХ рдСрдкрд░реЗрд╢рди рдХреЗ рдирдЬрд░рд┐рдП рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдореЗрд░реЗ 2 рд╕реЗрдВрдЯ

рддрд┐рдЬреЛрд░реА +1

рддрд┐рдЬреЛрд░реА -1ред рд╡реЙрд▓реНрдЯ рдореЗрдВ рдХреБрдЫ рдкрд░рд┐рдЪрд╛рд▓рди рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ (рдЕрдирд╕реАрд▓рд┐рдВрдЧ) рд╣реИрдВ рдЬреЛ рдЗрд╕реЗ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрд╡рд╛рдВрдЫрдиреАрдп рдмрдирд╛рддреА рд╣реИрдВред

рдкреНрд▓рдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдПрдкреАрдЖрдИ рд╣реЛрдиреЗ рд╕реЗ рд╕рдмрд╕реЗ рдЬреНрдпрд╛рджрд╛ рдлрд╛рдпрджрд╛ рд╣реЛрдЧрд╛ред

рдЕрдВрд╕рд┐рдмрд▓ рдХреА рддрд┐рдЬреЛрд░реА рднреА рд╣реИред рдмрд▓реНрдХрд┐ рдПрдХ рдЕрд▓рдЧ рдЬрд╛рдирд╡рд░ рд╣реИред

@gtmtech рд╕реБрдЭрд╛рд╡ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЗрд╕рдиреЗ рдореБрдЭреЗ рдпрд╣ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдмрд┐рдВрджреБ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд┐рдпрд╛:

#!/bin/bash

if [ -d "/var/secrets" ]; then
  tmpfile="$(mktemp)"
  for file in /var/secrets/*
  do
    if [ -f $file ]; then
      file_contents=$(cat $file)
      filename=$(basename "$file")
      underscored_filename="${filename//-/_}"
      capitalized_filename=${underscored_filename^^}
      echo "export $capitalized_filename=$file_contents" >> $tmpfile
    fi
  done

  source $tmpfile
  rm -f $tmpfile
fi

exec "$@"

рдореИрдВ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ Dockerfile рдореЗрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ (рдЗрд╕ рдкрд░ chmod + x рдХреЛ рдордд рднреВрд▓рдирд╛):

ENTRYPOINT ["/app/docker-entrypoint.sh"]

рдФрд░ рд╡реЛрдЗрд▓рд╛ред рд░рдирдЯрд╛рдЗрдо рдкрд░ рдЙрдкрд▓рдмреНрдз ENV рд╕рдВрд╕реНрдХрд░рдгред рдХрд╛рдлреА рд╣реИ :)

рдЕрдЧрд░ рдореИрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭреВрдВ, рддреЛ /var/secrets dir рдХреЛ рд╡реЙрд▓реНрдпреВрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдорд╛рдЙрдВрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП ??
рд╕рд╛рде рд╣реА, рдЬрдм рдбрд┐рд╕реНрдХ рдкрд░ рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рдирд╣реАрдВ рд▓рд┐рдЦреЗ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЯрд┐рдкреНрдкрдгреА рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдбрд┐рд╕реНрдХ рдкрд░ рд▓рд┐рдЦрдирд╛ рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рд╣рдЯрд╛рдирд╛ рдХрд┐рддрдирд╛ рдмреБрд░рд╛ рд╣реИ ???

рдЕрдЪреНрдЫрд╛ рд╣реИ! рд╣рд╛рд▓рд╛рдВрдХрд┐ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ shred рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЧреБрд░реБрд╡рд╛рд░, 3 рдорд╛рд░реНрдЪ 2016, рдЬреБрдЖрди рдЗрдЧреНрдирд╛рд╕рд┐рдпреЛ рдбреЛрдиреЛрд╕реЛ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com . рдкрд░
рд▓рд┐рдЦрд╛ рдерд╛:

рдЕрдЧрд░ рдореИрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ, рддреЛ /var/secrets dir рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
рд╡реЙрд▓реНрдпреВрдо рд╕рд╣реА ??
рд╕рд╛рде рд╣реА, рдЬрдм рдбрд┐рд╕реНрдХ рдкрд░ рд░рд╣рд╕реНрдп рдирд╣реАрдВ рд▓рд┐рдЦреЗ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЯрд┐рдкреНрдкрдгреА рд╣реЛрддреА рд╣реИ, рддреЛ рдХреИрд╕реЗ
рдмреБрд░рд╛ рд╣реИ рдЙрдиреНрд╣реЗрдВ рдбрд┐рд╕реНрдХ рдкрд░ рд▓рд┐рдЦрдирд╛ рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рд╣рдЯрд╛рдирд╛ ???

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

рд░реБрдИ рдорд╛рд░рд┐рдирд╣реЛ

@gtmtech рдХреА "рд╕реАрдХреНрд░реЗрдЯ-рдЧрд┐рд▓рд╣рд░реА" рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рд╣реЛрдХрд░, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╕реАрдХреНрд░реЗрдЯ-рдореИрдиреЗрдЬрдореЗрдВрдЯ рдЯреВрд▓ "рд╢рд╢" рдХреЛ рдПрдХ рдЗрдореЗрдЬ рдПрдВрдЯреНрд░реА-рдкреЙрдЗрдВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдврд╝рд╛рдпрд╛ рд╣реИ:

ADD shush_linux_amd64 /usr/local/bin/shush
ENTRYPOINT ["/usr/local/bin/shush", "exec", "--"]

рдпрд╣ рдХрд┐рд╕реА рднреА KMS_ENCRYPTED_xxx envariables рдХреЛ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдкрд░реНрдпрд╛рд╡рд░рдг рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реИред

https://github.com/realestate-com-au/shush#use -as-a-command-shim

рддреЛ рд╕реВрддреНрд░ рдХреА рд╢реБрд░реБрдЖрдд рдЗрд╕ рдмрд╛рдд рд╕реЗ рд╣реЛрддреА рд╣реИ рдХрд┐ рдЗрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдХрд╛рдо рди рдХрд░реЗрдВ.....

... рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдХреГрдкрдпрд╛ рдпреЗ рдЪреАрдЬреЗрдВ рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣реА рд╣реИрдВ ... рдХреЗрд╡рд▓ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рд╕реНрддрд╛рд╡/рд╣реИрдХ рдЬрд┐рдиреНрд╣реЗрдВ рдЬреНрдпрд╛рджрд╛рддрд░ рдЦрд╛рд░рд┐рдЬ/рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЕрднреА рдХреЗ рд▓рд┐рдП рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕ рдХреНрдпрд╛ рд╣реИ? рдПрдХ рдбреЙрдХрдЯрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрди рдЪреАрдЬреЛрдВ рдХреА рдПрдХ рд▓рдВрдмреА рд╕реВрдЪреА рдХреЛ рджреЗрдЦрдХрд░ рдХреБрдЫ рдирд┐рд░рд╛рд╢рд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдирд╣реАрдВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рд▓реЗрдХрд┐рди рдлрд┐рд░ рдХреЛрдИ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡рд┐рдХрд▓реНрдк рдкреЗрд╢ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреНрдпрд╛ рдореИрдВ рдХреБрдЫ рднреВрд▓ рд░рд╣рд╛ рд╣реВрдБ? рдХреНрдпрд╛ рдХреЛрдИ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ? рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЪреАрдЬреЗрдВ рдкрд░реНрджреЗ рдХреЗ рдкреАрдЫреЗ рд╣реЛ рд░рд╣реА рд╣реИрдВ рдФрд░ рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдбреЙрдХрд░ рдЯреАрдо рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рдХреЗ рд░реВрдк рдореЗрдВ, рдЬрдм рддрдХ рдПрдХ рд╡рд┐рд╣рд┐рдд рд╕рдорд╛рдзрд╛рди рдкреНрд░рд╕реНрддреБрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рддрдХ рд╣рдо рдЧреБрдкреНрдд рдкреНрд░рдмрдВрдзрди рдХреЛ рдХреИрд╕реЗ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрднрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ?

@alexkolson
рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдЖрдпрд╛, рдЕрдЧрд░ рдЖрдкрдХреЛ рд░рдирдЯрд╛рдЗрдо рдореЗрдВ рд╕реАрдХреНрд░реЗрдЯреНрд╕ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдпрд╛ рддреЛ рд╡реЙрд▓реНрдпреВрдо (рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╕реАрдХреНрд░реЗрдЯреНрд╕) рдпрд╛ рдХреБрдЫ рд╕реЗрд╡рд╛рдУрдВ рдЬреИрд╕реЗ рд╣рд╛рд╢рд┐рдХреЙрд░реНрдк рд╡реЙрд▓реНрдЯ (рдиреЗрдЯрд╡рд░реНрдХ рд╕реАрдХреНрд░реЗрдЯреНрд╕) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

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

рддреЛ рдХреНрдпрд╛ рдЧрд╛рдпрдм рд╣реИ docker commit рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛, рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрд┐рд▓реНрдб рд╕рдордп рдкрд░ рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред

рдХреБрдЫ рд▓реЛрдЧ рдпрд╣ рднреА рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рд░рд╣рд╕реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рдирд╣реАрдВ рд╣реИ, рдФрд░ рдбреЙрдХрд░ рдбреЗрдореЙрди рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд░рд╣рд╕реНрдп рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдПрдкреАрдЖрдИ рдкреНрд░рджрд╛рди рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП (рдиреЗрдЯрд╡рд░реНрдХ/рдлрд╝рд╛рдпрд░рд╡реЙрд▓/рдСрдЯреЛрдорд╛рдЙрдВрдЯ рд╡реЙрд▓реНрдпреВрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ?) рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдХреЛ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдЕрдВрджрд╛рдЬрд╛ рднреА рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдПрдкреАрдЖрдИ рдХреИрд╕рд╛ рджрд┐рдЦреЗрдЧрд╛ рдФрд░ рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЬрдм рдореИрдВ env vars рдХреА рдХрдорд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рдЧреИрд░-рдбреЙрдХрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореБрджреНрджреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддрд╛ рд╣реВрдВ рдЬреИрд╕реЗ:

  1. рдЙрддреНрдкрд╛рджрди рд╡реЗрдм рд╕рд░реНрд╡рд░ рдкрд░ рдЫреЛрдбрд╝реЗ рдЧрдП рд╕рднреА env vars рдпрд╛ рднреВрд▓реЗ рд╣реБрдП phpinfo рдХреЛ рдкрдХрдбрд╝рдиреЗ рд╡рд╛рд▓реЗ рд▓реЙрдЧ рдПрдХрддреНрд░ рдХрд░рдирд╛ - рдЗрд╕рд▓рд┐рдП рд░рд╣рд╕реНрдпреЛрдВ рд╕реЗ рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ рдФрд░ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред
  2. рд╢рд╛рдпрдж рдПрдХ рдЯреНрд░реЛрдЬрди рдЬреЛ env vars рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддрд╛ рд╣реИ - рдЗрд╕рд▓рд┐рдП рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рди рдЪрд▓рд╛рдПрдВред
  3. рд╣рдорд▓реЗ рдЬреЛ рдХрдордЬреЛрд░реА рдХрд╛ рдлрд╛рдпрджрд╛ рдЙрдард╛рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ sql рдЗрдВрдЬреЗрдХреНрд╢рди - рдЗрд╕рд▓рд┐рдП рдЗрдирдкреБрдЯ рдХреЛ рдорд╛рдиреНрдп рдХрд░реЗрдВ рдФрд░ рд╡реЗрдм рдРрдк рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдЗрд╕ рдзрд╛рдЧреЗ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдкреНрд░рд╕реНрддреБрдд рдХрдордЬреЛрд░рд┐рдпрд╛рдВ:

рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдХрд┐рд╕реА рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рдкрд╣реБрдБрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЖрд╕рд╛рдиреА рд╕реЗ "рд▓реАрдХ" рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ

рдКрдкрд░ рд╕реЗ 1 рдФрд░ 2 рдХрд╛ рдХреНрд░реЙрд╕ рдЕрдкреНрд▓рд╛рдИ рдХрд░реЗрдВред рдХрд╛рдиреВрдиреА рд▓реЗрдХрд┐рди рд╕рд╛рд╡рдзрд╛рди рд░рд╣рдиреЗ рдХреЗ рд╕рд╛рде рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдирд╛? рд╕рд╛рде рд╣реА, рдЖрдкрдХрд╛ рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░ рдкреВрд░реНрдг рд╕реНрдЯреИрдХ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдХрдо рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдЪрд▓рд╛рддрд╛ рд╣реИред

Env var рдореЗрдВ config рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЧреБрдкреНрдд env var рдореЗрдВ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдорд╛рди рд╣реИрдВ рдФрд░ рдРрдк рдореЗрдВ рдХреЛрдб рдХреА рдХреБрдВрдЬреА рд╣реИ? рдпрд╣ рд╕рд┐рд░реНрдл рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХреБрдВрдЬреА рдХреЛрдб рдореЗрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдВрдЬреА рдФрд░ рдПрдирд╡реА рд╡рд░реНрд░реНрд╕ рджреЛрдиреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╢реЛрд╖рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рд╢рд╛рдпрдж рдРрдк рдХреЛрдб рдХреЗ рдмрдЬрд╛рдп рдбреЙрдХрд░ рд╣реЛрд╕реНрдЯ рдкрд░ рдХреБрдВрдЬреА рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд░рдмрдВрдзрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рд░реВрдЬ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдФрд░ рдЖрдХрд╕реНрдорд┐рдХ рд▓реАрдХ рдХреЗ рд╕рд╛рде рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд┐рд╕реА рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рд╕реЗ рдЗрдВрдЬреЗрдХреНрд╢рди рдХреЗ рд╣рдорд▓реЗ рдирд╣реАрдВ рдЬрд┐рд╕рдХреЗ рдкрд╛рд╕ рдЪрд╛рдмреА рд╣реИред

рдЫрд╡рд┐ рдХреА рдордзреНрдпрд╡рд░реНрддреА рдкрд░рддреЛрдВ рдореЗрдВ рд╕рдВрд░рдХреНрд╖рд┐рдд, рдФрд░ рдбреЙрдХрдЯрд░ рдирд┐рд░реАрдХреНрд╖рдг рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ

рдХреНрдпрд╛ рд▓реЛрдЧ рд░рди рдЯрд╛рдЗрдо рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп docker рдЗрдореЗрдЬ рдореЗрдВ env vars рдмреЗрдХ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдпрд╛ рдХреНрдпрд╛ рдореИрдВ рдЗрд╕реЗ рдЧрд▓рдд рд╕рдордЭ рд░рд╣рд╛ рд╣реВрдВред рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдореЗрдВ рд░рд╣рд╕реНрдп рдХрднреА рд╡рд╛рдкрд╕ рди рдХрд░реЗрдВ, рд╣реИ рдирд╛? рд╣рд╛рдБ sudo docker inspect container_name env var рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдореЗрд░реЗ рдЙрддреНрдкрд╛рджрди рд╕рд░реНрд╡рд░ рдкрд░ рд╣реИрдВ рддреЛ iv рдкрд╣рд▓реЗ рд╣реА рдЦреЛ рдЧрдпрд╛ рд╣реИред sudo docker inspect image_name рдкрд╛рд╕ рд░рди рдЯрд╛рдЗрдо рдкрд░ рд╕реЗрдЯ рдореЗрд░реЗ рдПрдирд╡реА рд╡рд░реНрд░реНрд╕ рддрдХ рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рд╣реИред

рдХрдВрдЯреЗрдирд░ рд╕реЗ рдЬреБрдбрд╝реЗ рдХрд┐рд╕реА рднреА рдХрдВрдЯреЗрдирд░ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛

рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд▓рд┐рдВрдХ рдФрд░ рдирдИ рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рди рдХрд░реЗрдВ?

рдПрдХрдорд╛рддреНрд░ рдореБрджреНрджрд╛ рдЬреЛ рдбреЙрдХрд░ рдореБрджреНрджреЗ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ рдФрд░ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдирд╣реАрдВ рд╣реИ рд╡рд╣ рд▓рд┐рдВрдХ рд╣реИ ...

рдореБрдЭреЗ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд╢рд┐рд╡рд┐рд░ рдореЗрдВ рд░рдЦреЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ docker build рджреМрд░рд╛рди рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдо рдХреБрдЫ PHP рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдЧреАрддрдХрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдирд┐рдЬреА рдЬреАрдердм рд░реЗрдкреЛ рдХрд╛ рд╕рдВрджрд░реНрдн рджреЗрддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЕрдЧрд░ рд╣рдо рд╕рдм рдХреБрдЫ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдЕрдВрджрд░ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЗрди рдирд┐рдЬреА рд░реЗрдкреЛ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП ssh рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред

рдореБрдЭреЗ рдХреБрдЫ рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреЛ рдкрд░рд╛рдЬрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдФрд░ рд╕рдордЭрджрд╛рд░ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдбреЙрдХрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдлрд╛рдпрджреЗрдордВрдж рд▓рдЧрддрд╛ рд╣реИ (рджреЗрдЦреЗрдВ: docker squash )ред

рдореБрдЭреЗ рдЕрдм рдХрдВрдЯреЗрдирд░ рдХреЗ рдмрд╛рд╣рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдФрд░ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЕрдВрддрд┐рдо рдЙрддреНрдкрд╛рдж рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП COPY рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдкреАрдЫреЗ рд╣рдЯрдирд╛ рдкрдбрд╝рд╛ рд╣реИред рдореЗрд╣ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ docker build рдХреЛ рд░рд╣рд╕реНрдп рдЬреИрд╕реЗ рдХреНрд╖рдгрд┐рдХ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╡реЗ рдЕрдВрддрд┐рдо рд╢рд┐рдкрд┐рдВрдЧ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЕрдкрдирд╛ рд░рд╛рд╕реНрддрд╛ рди рдЦреЛрдЬ рд╕рдХреЗрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЧреБрдкреНрдд рдбреЗрдЯрд╛ рдЬреИрд╕реЗ рдХреНрд╖рдгрд┐рдХ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░ рдмрд┐рд▓реНрдб рдХреЛ рдХреБрдЫ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ

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

рдбреЙрдХрд░ рдХрд╛ рджрд░реНрд╢рди рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рд╕рдВрджрд░реНрдн рдХреЗ рд╕рд╛рде рдЖрдкрдХрд╛ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдПрдХ рдЫрд╡рд┐ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
рдпрджрд┐ рдЖрдкрдХреЛ рдкрд░рд┐рдгрд╛рдореА рдЫрд╡рд┐ рдХреЗ рдмрд╛рд╣рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрджрд░реНрдн рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рд▓рд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд▓рд┐рдЦрдирд╛ рдЫреЛрдбрд╝ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рд▓рд╛рдЗрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╕реНрдиреИрдкрд╢реЙрдЯ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред

рдпрджрд┐ рд░рд╣рд╕реНрдп рдПрдХ рдЫрд╡рд┐ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рддреЛ рдЖрдк рдПрдХ рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рдХрдВрдЯреЗрдирд░ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЗ рд╕рднреА рдЧреБрдкреНрдд-рд╕рдВрд░рдХреНрд╖рд┐рдд рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд/рдкреНрд░реЙрдХреНрд╕реА рдХрд░реЗрдЧрд╛ рдФрд░ рдЧреБрдкреНрдд-рдХрдо рдкрд╣реБрдВрдЪ рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред рдорд┐рд░рд░рд┐рдВрдЧ, рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ рдХрд╛ рдПрдХ рдФрд░ рддрд░реНрдХ рд╣реИ: https://developers.slashdot.org/story/16/03/23/0652204/how-one-dev-broke-node-and-thousands-of-projects-in-11-lines -рдХреА-рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ

рдЖрдк рд╕реНрд╡рдпрдВ рднреА ssh рдХреБрдВрдЬреА рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдВрдЧреЗред

@ bhamilton-idexx рдпрджрд┐ рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЗ рдирд┐рдЬреА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХрд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЕрд▓реНрдкрдХрд╛рд▓рд┐рдХ рдЯреЛрдХрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдбреЙрдХрд░ рдЫрд╡рд┐ рдореЗрдВ рдмрдиреЗ рд░рд╣рдиреЗ рдХреЗ рд░рд╣рд╕реНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИред
рдЖрдкрдХреЗ рдкрд╛рд╕ рдмрд┐рд▓реНрдб рд╕рд┐рд╕реНрдЯрдо 1 рдШрдВрдЯреЗ рдХреЗ рдЯреАрдЯреАрдПрд▓ рдХреЗ рд╕рд╛рде рдПрдХ рдЯреЛрдХрди рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рдЗрд╕реЗ рдбреЙрдХрд░ рдмрд┐рд▓реНрдб рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдПрдВред
рдЖрдк рдмрд┐рд▓реНрдб рдЖрд╡рд╢реНрдпрдХ рдмрд┐рд▓реНрдб рд╡рд┐рд╡рд░рдг рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ рдмрд┐рд▓реНрдб рдкреВрд░реНрдг рд╣реЛрдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдЧреБрдкреНрдд рд╕рдордп рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрд╕ рд╣рдорд▓реЗ рд╡реЗрдХреНрдЯрд░ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИред

рдЕрдм рдЗрди рдереНрд░реЗрдбреНрд╕ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдкрдврд╝ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рдЬреЛ рдпрд╣рд╛рдВ рдХреБрдЫ рдЙрдкрдпреЛрдЧрдХреЗрд╕ рдХреЛ рд╣рд▓ рдХрд░реЗрдЧреА рдФрд░ рд░рд╣рд╕реНрдпреЛрдВ рдХреЗ рдмрд╛рд╣рд░ рдЙрдкрдпреЛрдЧрдХреЗрд╕ рд╣реЛрдЧреА --add docker run рд▓рд┐рдП рдзреНрд╡рдЬ рдЬреЛ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдХреЙрдкреА рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ Dockerfiles рдореЗрдВ ADD рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ

рдпрд╣ рд╡рд╛рдХрдИ рдПрдХ рдмреЗрд╣рддрд░реАрди рд▓реЗрдЦ рд╣реИред рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдкрдврд╝рд╛ред рдФрд░ рдареАрдХ рдЙрд╕реА рддрд░рд╣ рдХреА рдЪреАрдЬ рдЬрд┐рд╕реЗ рд╣рдо рджреЗрдЦрдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ:

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рдЕрдиреНрдп рдЧреБрдкреНрдд рдЙрдкрдХрд░рдг рднреА рдорд┐рд▓реЗ рдЬреЛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓реЗрдЦ рд╕реЗ рдЫреВрдЯ рдЧрдП рд╣реИрдВред рдХрд┐рд╕реА рднреА рджреЛрд╣рд░рд╛рд╡/рджреЛрд╣рд░рд╛рд╡ рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВред рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ рдХрд┐ рдЙрдирдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдпрд╣рд╛рдБ рдЕрднреА рддрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

рд╕рдордп рд░рд╣рд╕реНрдп рдмрдирд╛рдПрдБ:

https://github.com/defunctzonbie/docket

рд░рди рдЯрд╛рдЗрдо рд╕реАрдХреНрд░реЗрдЯреНрд╕:

https://github.com/ehazlett/docker-volume-libsecret

рд▓реЛрдЧ рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВ? рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред

рдореЗрд░реЗ рд▓рд┐рдП:

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

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

рд╣рдордиреЗ рдбреЙрдХреЗрдЯ рдХреЗ рд╕рдорд╛рди рдПрдХ рдФрд░ рдЯреВрд▓ рд▓рд┐рдЦрд╛ рд╣реИ, рдЬреЛ рдирдП рдЗрдореЗрдЬ рдлреЙрд░реНрдореЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ:

https://github.com/AngryBytes/docker-surgery

рд╣рдорд╛рд░рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд╣рд▓реЗ SECRETS рдЯрд┐рдкреНрдкрдгреА рдХрд┐рдП рдЧрдП рд░рд╣рд╕реНрдпреЛрдВ рд╡рд╛рд▓реА рдПрдХ рдкрд░рдд рдмрдирд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдПрдХ рд╕рдВрд╢реЛрдзрд┐рдд FROM рд╕рд╛рде Dockerfile рдХреА рдПрдХ рдкреНрд░рддрд┐ рдмрдирд╛рддрд╛ рд╣реИ, рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЕрдВрдд рдореЗрдВ рдкрд░рд┐рдгрд╛рдореА рдЫрд╡рд┐ рд╕реЗ рд╕рднреА SECRETS рдкрд░рддреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИред

рдЗрд╕реЗ рд╣реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рдЪреЗрддрд╛рд╡рдиреА рджреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рдпрд╣ рдкреНрд░рдлреБрд▓реНрд▓рд┐рдд рд╣реЛрдЧрд╛ рдпрджрд┐ рдбреЙрдХрдЯрд░ рдХреЗ рдкрд╛рд╕ рд░рд┐рдмрд╛рд╕рд┐рдВрдЧ рдпрд╛ рд▓реЗрдпрд░ рд╕реНрдкреНрд▓рд┐рд╕рд┐рдВрдЧ рдлрдВрдХреНрд╢рдирд▓рд┐рдЯреА рдмрд┐рд▓рд┐рди рд╣реЛред рдЕрднреА рдордзреНрдпрд╡рд░реНрддреА рдкрд░рддреЛрдВ рдХреЛ рд╣рдЯрд╛рдирд╛ рдзреАрдорд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рднреА рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЛ рдкрд░реНрджреЗ рдХреЗ рдкреАрдЫреЗ docker save / docker load рдиреГрддреНрдп рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИред

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

@ рд╡рд╛рдиреБрдЖрди [рдбреЙрдХрд░рдлрд╛рдЗрд▓] рдореЗрдВ рдкреБрдирд░реБрддреНрдкрд╛рджрди рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд░рди рдХрдорд╛рдВрдб рдЧрд╛рд░рдВрдЯреА рджреЗрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдФрд░ рдореИрдВ рджреЛ рд░рдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реА рдЫрд╡рд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЙрдЪрд┐рдд рдЙрдореНрдореАрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдХреНрдпреЛрдВ? рдХреНрдпреЛрдВрдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдордп рд▓реЛрдЧ RUN рдХрд╛ рдЙрдкрдпреЛрдЧ рдиреЗрдЯрд╡рд░реНрдХ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдореЗрд░реЗ рдЬреИрд╕реА рд╣реА рдЫрд╡рд┐ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рдЕрдкрдиреА 'FROM' рдореЗрд░реА рдЫрд╡рд┐ рдмрдирд╛рдиреА рд╣реЛрдЧреАред рдХреЛрдИ рдЕрдиреНрдп рд╡реНрдпрд╡рд╕реНрдерд╛ рд╣рдореЗрдВ рд╕рдорд╛рди рдЪрд┐рддреНрд░ рдирд╣реАрдВ рджреЗрдЧреАред рдХреЛрдИ рдЕрдиреНрдп рд╡реНрдпрд╡рд╕реНрдерд╛ рд╣рдореЗрдВ рд╕рдорд╛рди рдЪрд┐рддреНрд░ рдирд╣реАрдВ рджреЗ рд╕рдХрддреА рд╣реИ ред рд╕рднреА рдЯрд┐рдХрд╛рдК рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдпрддрд╛ рдбреЙрдХрд░ рд╣рдм рд╕реЗ рдЖрддреА рд╣реИ, рдбреЙрдХрд░рдлрд╛рдЗрд▓ рд╕реЗ рдирд╣реАрдВред

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

@stephank рдореИрдВрдиреЗ рдХрд╛рдо рдкрд░ рдПрдХ рдбреЙрдХрдЯрд░ рдмрд┐рд▓реНрдб рдЯреВрд▓ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рддрд░реАрдХрд╛ рдЕрдкрдирд╛рддрд╛ рд╣реИред рдореЗрд░реА рдореБрдЦреНрдп рдЪрд┐рдВрддрд╛ рд╕рдордп рдХреЗ рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдереА, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕рдХрд╛ рднреА рдЦреНрдпрд╛рд▓ рд░рдЦрддрд╛ рд╣реИ (рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рдирд┐рд░реНрдорд┐рдд рдЫрд╡рд┐ рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦрдирд╛, рдпрд╛рдиреА, рдЖрдк рдкрд╣рд▓реА рдЬрдЧрд╣ рдореЗрдВ рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рдХреИрд╕реЗ рдкрдХрдбрд╝рддреЗ рд╣реИрдВ, рдпрд╣ рдЕрднреА рднреА рдЖрдк рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИ)ред

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

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

рддрдереНрдп рдХреА рдмрд╛рдд рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдЗрд╕ рдЙрдкрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╛рдлреА рдЙрддреНрд╕рд╛рд╣рд┐рдд рд╣реВрдВ, рдореИрдВ рдЗрд╕реЗ рдУрдкрди рд╕реЛрд░реНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рд░реА рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ (рд▓рдВрдмрд┐рдд рдХрдВрдкрдиреА рдиреАрддрд┐ рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдЕрдкрдирд╛рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ) ..

@kaos рдПрдХ рддрд░рдл, рдореИрдВ рд╕реНрдЯреЙрдХ рдбреЙрдХрд░ рдЯреВрд▓рд┐рдВрдЧ рд╕реЗ рд╡рд┐рдЪрд▓рд┐рдд рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рджреВрд╕рд░реА рдУрд░, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЫрд╡рд┐ рдирд┐рд░реНрдорд╛рдг рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рдмреАрдЪ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рдФрд░ рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рддреЛ рдпрд╣ рджрд┐рд▓рдЪрд╕реНрдк рд▓рдЧрддрд╛ рд╣реИ! рдореИрдВ

рдкрд░реНрдпрд╛рд╡рд░рдг (12-рдХрд╛рд░рдХ) рд░рд╣рд╕реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП @thaJeztah , рд╣рдо рдирд┐рд░реАрдХреНрд╖рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЗ рд░рд┐рд╕рд╛рд╡ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдЯреНрд╡рд┐рд╕реНрдЯрд▓реЙрдХ (+ рд╕реНрдХреИрд▓реЙрдХ) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЙрдХрд░ рдбрд┐рдорди рдХреЛ рд▓реЙрдХ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рдЙрдЪрд┐рдд рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реАрдХреНрд╖рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдзрд┐рдХ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд▓реАрдХ рди рдХрд░рдиреЗ рдХреА рдбреЙрдХрд░-рдореВрд▓ рдХреНрд╖рдорддрд╛ рд╣реЛред

@alexkolson рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдзрд╛рдЧреЗ рдХреА рдХреБрдВрдЬреА "рдРрд╕рд╛ рди рдХрд░реЗрдВ" рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдЖрдкрдиреЗ рдПрдХреНрд╕, рд╡рд╛рдИ, рдЬреЗрдб рдХреЛ рдХрдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдереИрдб рд╣реИ - рдЖрдо рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ "рд╕рдорд╛рдзрд╛рди" рд╣реЛрдВрдЧреЗред рдЙрд╕ рдиреЗ рдХрд╣рд╛, рдХреНрдпрд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ рдФрд░ рдХреНрдпреЛрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдЗрд╕ рдкрд░ рд╢рд┐рдХреНрд╖рд╛ рддрд╛рдХрд┐ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╛рдзрд╛рди рд╢реБрд░реВ рд╣реЛ рд╕рдХреЗред рдбреЗрд╡рд┐рд▓ рд╣рдореЗрд╢рд╛ рдЪреВрдХ рдореЗрдВ рд░рд╣рддрд╛ рд╣реИ - рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдирдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдордЭреЗрдВ рдХрд┐ рдЬреЛрдЦрд┐рдо рдХреНрдпрд╛ рд╣реИред

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдореЗрдВ рд╕реЗ рдХреБрдЫ рд▓реЛрдЧ рдореЗрд░реА рдорджрдж рдХрд░ рд╕рдХреЗрдВ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдЕрднреА рддрдХ рдбреЙрдХрдЯрд░ рдХреЗ рд╕рд╛рде рдЗрддрдирд╛ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИред
рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣рд╛рд╢рд┐рдХреЙрд░реНрдкреНрд╕ рд╡реЙрд▓реНрдЯ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ред

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

рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдЕрднреА рднреА рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рдореБрджреНрджреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИред

  • рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдбреЗрдЯрд╛ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрдиреЗ рдкрд░ рдореБрдЭреЗ рдирдИ рдЫрд╡рд┐рдпрд╛рдВ рдмрдирд╛рдиреА рд╣реЛрдВрдЧреА
  • рдЕрдЧрд░ рдореЗрд░реА рдЫрд╡рд┐ рдЪреЛрд░реА / рд╣реИрдХ рд╣реЛ рдЧрдИ рд╣реИ рддреЛ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдбреЗрдЯрд╛ рдЫрд╡рд┐ рдХреЗ рднреАрддрд░ рд╣реИред

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

рддреЛ рдореИрдВрдиреЗ рдпрд╣ рдХрд┐рддрдирд╛ рдмреБрд░рд╛ рдХрд┐рдпрд╛ (рдпрд╣ рдХрд╣рдирд╛ рдареАрдХ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдореИрдВрдиреЗ рдмрдбрд╝рд╛ рд╕рдордп рдЧрдбрд╝рдмрдбрд╝ рдХрд░ рджрд┐рдпрд╛;)) рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдЪреАрдЬреЛрдВ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрд░рдХреНрд╖рд┐рдд рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рд▓рд┐рдП рдЯрд┐рдкреНрд╕ рдФрд░ рдЯреНрд░рд┐рдХреНрд╕ рд╣реИрдВ?

@weemen AFAIK рдЖрдкрдХреА рдЫрд╡рд┐ рдореЗрдВ рд░рд╣рд╕реНрдп рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рднреА рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИред рдЖрдкрдХреА рдЫрд╡рд┐ рдореЗрдВ рдХреЛрдИ рднреА рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдмреЗрдХ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рд╡реЙрд▓реНрдЯ рдЯреЛрдХрди рд╕рд╣рд┐рдд)ред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд▓реЛрдб рд╕рдордп рдкрд░ рд░рд╣рд╕реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╡реЙрд▓реНрдЯ рдХреЗ рдРрдк-рдЖрдИрдбреА рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдмреИрдХрдПрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЖрдк рдЬрд┐рд╕ рдРрдк рд╕реНрдЯреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЙрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрдиреНрд╣реЗрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рдХрдВрдЯреЗрдирд░ рдХреА рдореЗрдореЛрд░реА рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд░реЗрдВред

рд╕рд╛рде рд╣реА, рд╡реЙрд▓реНрдЯ рдПрдХ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдСрде рдмреИрдХрдПрдВрдб рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬреЛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

@ jaredm4 рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЗрд╕ рдХрдерди рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ?:

"рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд▓реЛрдб рд╕рдордп рдкрд░ рд░рд╣рд╕реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╡реЙрд▓реНрдЯ рдХреЗ рдРрдк-рдЖрдИрдбреА рдСрде рдмреИрдХрдПрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рдРрдк рд╕реНрдЯреИрдХ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрдиреНрд╣реЗрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рдХрдВрдЯреЗрдирд░ рдХреА рдореЗрдореЛрд░реА рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд░реЗрдВред"

рдореИрдВ рдЕрднреА рддрдХ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реВрдВ рдХрд┐ рд╡реЙрд▓реНрдЯ (рдпрд╛ рдХреАрд╡рд┐рдЬ, рдЖрджрд┐) рд╕реЗ рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рдХрдм/рдХрд╣рд╛рдВ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рдПред рдХреНрдпрд╛ рдпрд╣ рдбреЙрдХрд░ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд░рди рдХрдорд╛рдВрдб рдХреЛ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ? рдХреНрдпрд╛ рдпрд╣ рдХрдВрдЯреЗрдирд░ рдЖрд░рдВрднреАрдХрд░рдг рдХреЗ рджреМрд░рд╛рди рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рд╣реЛ рд░рд╣рд╛ рд╣реИ (рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдХреЛрдИ рдЙрджрд╛рд╣рд░рдг)? рдХреНрдпрд╛ рдореЗрд░реЗ рдЖрд╡реЗрджрди рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрдбрд╝рдиреЗ рдкрд░ рдЗрдиреНрд╣реЗрдВ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрд░реЗ рд░реЗрд▓ рдРрдк рдХреЛ Google API рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпрд╛ рдЪрд╛рдмрд┐рдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдиреЗ рдкрд░ рдореИрдВ рд╡реЙрд▓реНрдЯ рдкрд░ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░реЗрд▓ рдХреЗ рдЕрдВрджрд░ рдХреБрдЫ рд▓рд┐рдЦрддрд╛ рд╣реВрдВ?

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

рдпрд╣рд╛рдВ рдХрд┐рд╕реА рднреА рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЬрд╛рдПрдЧреАред рдзрдиреНрдпрд╡рд╛рдж

рдЬрд╝рд░реВрд░ @mcmatthew , рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореБрдЭреЗ рдпрд╣ рдХрд╣рдХрд░ рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛ рджреЗрдиреА рдЪрд╛рд╣рд┐рдП рдХрд┐ рдореИрдВ рдЕрднреА рднреА рд╡реЙрд▓реНрдЯ рдореЗрдВ

рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдореИрдВ рдЗрд╕реЗ рдХреЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрдВрдЯреЗрдирд░ рдХреЛ рдкрд╛рд╕ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдПрдХрдорд╛рддреНрд░ рдЬрд╛рдирдХрд╛рд░реА рдЖрдкрдХреЗ рдХреЛрдб рдХреЛ рд╡реЙрд▓реНрдЯ рдХреЗ рд╕рд╛рде рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдпрджрд┐ рдЖрдк рдРрдк-рдЖрдИрдбреА рдмреИрдХрдПрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рд╡рд╣ рд╕реНрд╡рдпрдВ app-id рдФрд░ рдЖрдкрдХреЗ рд╡реЙрд▓реНрдЯ рдХрд╛ рдкрддрд╛ рд╣реЛрдЧрд╛ред

рдХрдВрдЯреЗрдирд░ рдмреВрдЯ рдкрд░, рдЖрдкрдХрд╛ рд░реЗрд▓ рдРрдк рдиреЛрдЯрд┐рд╕ рдХрд░реЗрдЧрд╛ рдХрд┐ рдЗрд╕рдореЗрдВ рдЕрднреА рддрдХ рдХреЛрдИ рд░рд╣рд╕реНрдп рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╡реЙрд▓реНрдЯ рд╕реЗ рд▓рд╛рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рдореЗрдВ app-id рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ user-id рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЗрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдЖрдИрдбреА рдкреАрдврд╝реА рдХреЛ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдЙрдирдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рд╕рдВрдХреЗрдд рджреЗрддреЗ рд╣реИрдВ рдХрд┐ "рдпрд╣ рдЖрдо рддреМрд░ рдкрд░ рдПрдХ рдорд╢реАрди рдХреЗ рд▓рд┐рдП рдЕрджреНрд╡рд┐рддреАрдп рдореВрд▓реНрдп рд╣реИ, рдЬреИрд╕реЗ рдореИрдХ рдкрддрд╛ рдпрд╛ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдЖрдИрдбреА, рдпрд╛ рдЗрди рдЕрджреНрд╡рд┐рддреАрдп рдорд╛рдиреЛрдВ рд╕реЗ рд╣реИрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдорд╛рдиред"

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

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

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

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

рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЧреБрдкреНрдд рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдРрдк-рдЖрдИрдбреА, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдЖрдИрдбреА рдпрд╛ рджреЛрдиреЛрдВред

рдареАрдХ рд╣реИ, рджреЛрдиреЛрдВ рдХрд╛ рдЙрддреНрддрд░ рд╣реИ https://www.vaultproject.io/docs/auth/app-id.html
рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХреЗрд╡рд▓ рд╕рд╛рджреЗ рдлрд╛рдпрд░рд╡реЙрд▓ рдПрдХреНрд╕реЗрд╕ рд╕реЗ рдЕрдзрд┐рдХ рд╕реБрд░рдХреНрд╖рд┐рдд рдХреНрдпреЛрдВ рд╣реИред
рд╢рд╛рдпрдж рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдЬрдмрд╛рди рд░рд╣рд╕реНрдп рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рдиреАрддрд┐) рд░рд╣рд╕реНрдп рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП?
рдпрд╛рдиреА рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╣реЛрд╕реНрдЯ рдХреЗ рд░рд╣рд╕реНрдп рддрдХ рдкрд╣реБрдВрдЪ рд╣реИ рддреЛ рдЖрдк рдХреБрдЫ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рддрдХ рдкрд╣реБрдВрдЪ рдкрд╛рдПрдВрдЧреЗ рдпрджрд┐ рдЖрдк рдЙрдирдХреЗ рдЧреБрдкреНрдд рдирд╛рдо рдЬрд╛рдирддреЗ рд╣реИрдВ?

рдЕрдм рд╣рдореЗрдВ рдХрд╣реАрдВ 2 рдЯреЛрдХрди рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

@ рд╡рд╛рдиреБрдЖрди рдЙрди рджреЛрдиреЛрдВ рдХреЛ рдпрдерд╛рд╕рдВрднрд╡ рдЧреБрдкреНрдд рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╣рд╛рдБред

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

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

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

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

(рдлрд┐рд░ рд╕реЗ, рдпрд╣ рдореЗрд░реА рд╡реНрдпрд╛рдЦреНрдпрд╛ рд╣реИ рдЬреЛ рдореИрдВ рдХрд░ рд╕рдХрддрд╛ рдерд╛ рдкреНрд░рд▓реЗрдЦрди рдХреЛ рдЯрдЯреЛрд▓рдиреЗ рдХреЗ рдмрд╛рдж)

@Vanuan @mcmatthew рдмрдврд╝рд┐рдпрд╛ рд╕рд╡рд╛рд▓! @ jaredm4 рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореЗрд░реА рдорджрдж рдХрд░реЗрдЧрд╛ред рдпрд╣ рдЙрди рд╕рднреА рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реИ рдЬреЛ рдЕрдзрд┐рдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рд╣реИрдВ !! рдЕрдЧрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдЖрдиреЗ рд╡рд╛рд▓реЗ рджреЛ рд╕рдкреНрддрд╛рд╣реЛрдВ рдореЗрдВ рдХреБрдЫ рд╕рдордп рд╣реИ рддреЛ рдореИрдВ рдлрд┐рд░ рд╕реЗ рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛!

@thaJeztah :

рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдХрд┐рд╕реА рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рдкрд╣реБрдБрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЖрд╕рд╛рдиреА рд╕реЗ "рд▓реАрдХ" рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ

рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рджрд╛рд╡реЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдЧреИрд░-рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдЧреИрд░-рдЕрднрд┐рднрд╛рд╡рдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪ рд╕рдХрддреА рд╣реИрдВред https://help.ubuntu.com/community/EnvironmentVariables#Process_locality рджреЗрдЦреЗрдВ

рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ ( --env рдпрд╛ --env-file ) _are_ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдХрд┐рд╕реА рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рдкрд╣реБрдБрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

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

рдЬреЛ рдЕрдзрд┐рдХ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдХреНрдпрд╛ 0 рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдбреА рд╡рд╛рд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдФрд░/рдпрд╛ рдмрд╛рд╣рд░ рдЗрди рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░реЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддреА рд╣реИрдВред рдРрд╕рд╛ рднреА рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрдм рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХреЛ рдареАрдХ рд╕реЗ рдЫреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рд╖рдп рд╕реЗ рд╣рдЯрдХрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдХрд┐рд╕реА рдФрд░ рдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдЕрдм рд▓рдЧрднрдЧ рдкреВрд░реЗ рдПрдХ рд╕рд╛рд▓ рд╕реЗ рд╕рдХреНрд░рд┐рдп рд╣реИ! рдХрд▓ рдЗрд╕рдХреА рдмрд░рд╕реА рд╣реИред рдореИрдВ

рдХреНрдпрд╛ рдХрдВрдЯреЗрдирд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдореЛрд░реА рдореЗрдВ env рдЪрд░ рдХреЛ рдкрдврд╝рдирд╛ рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ (рдкрд░реНрдпрд╛рд╡рд░рдг рдореЗрдВ) рдЕрди-рд╕реЗрдЯ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛? рдХреНрдпрд╛ рдпрд╣ рдЕрдзрд┐рдХрд╛рдВрд╢ рд░рди-рдЯрд╛рдЗрдо рд╕реБрд░рдХреНрд╖рд╛ рдЪрд┐рдВрддрд╛рдУрдВ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИ?

@davibe рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрджрд┐ рдХрдВрдЯреЗрдирд░ рдпрд╛ рдЗрд╕рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ (рддреЛрдВ) рдХреЛ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╡реЗ env var рдЪрд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ env vars рдЕрднреА рднреА рд▓реЙрдиреНрдЪ рдХреЗ рдмрд╛рдж рднреА рд╣реИрдВред

dade<strong i="6">@choo</strong>:~/work/grocerest(master)$ cat test.js
console.log("FOO value: " + process.env.FOO);
delete(process.env.FOO);
console.log("FOO value after delete: " + process.env.FOO);

dade<strong i="7">@choo</strong>:~/work/grocerest(master)$ docker run --name test -it -e FOO=BAR -v $(pwd):/data/ node node /data/test.js
FOO value: BAR
FOO value after delete: undefined

dade<strong i="8">@choo</strong>:~/work/grocerest(master)$ docker restart test
test

dade<strong i="9">@choo</strong>:~/work/grocerest(master)$ docker logs test
FOO value: BAR
FOO value after delete: undefined
FOO value: BAR
FOO value after delete: undefined

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдбреЙрдХрд░-рд░рди рдореЗрд░реА рдмрд╛рдд рдХреЛ рдмреИрд╢ рдХреЗ рдмрдЪреНрдЪреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реЛ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП..

@рдбреЗрд╡рд┐рдмреЗ :

unset 'SECRET_ENV_VAR'

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

рддреЛ рдПрдХ рд╡рд┐рдЪрд╛рд░ рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдХрдВрдЯреЗрдирд░ рд╕реЗ sudo рдФрд░ su рдХреЛ рд╣рдЯрд╛ рджреЗрдВ рдФрд░ рдХрд┐рд╕реА рднреА ENTRYPOINT рдпрд╛ CMD рд╕реЗ рдкрд╣рд▓реЗ USER рдХрдорд╛рдВрдб рдЬреЛрдбрд╝реЗрдВред рдЖрдкрдХреЗ рдХрдВрдЯреЗрдирд░ рдХреЛ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдЕрдм root рд░реВрдк рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдХреЛрдИ рдореМрдХрд╛ рдирд╣реАрдВ рдорд┐рд▓рдирд╛ рдЪрд╛рд╣рд┐рдП (рдпрджрд┐ рдореИрдВ рдЧрд▓рдд рдирд╣реАрдВ рд╣реВрдВ) рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЕрдм рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрд╕рд╕реЗ рдХреБрдЫ рдЫреБрдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдПрдХ рдЕрдиреНрдп рд╡рд┐рдЪрд╛рд░ (рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда IMHO) рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдФрд░ рд╕рдореВрд╣реЛрдВ рдХреА рдзрд╛рд░рдгрд╛ рдХреЛ рдбреЙрдХрд░ рд╕реЙрдХреЗрдЯ рдФрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛, рддрд╛рдХрд┐ рдЖрдк рдмрддрд╛ рд╕рдХреЗрдВ рдХрд┐ GROUP-A рдХреЗ рдкрд╛рд╕ TAG-B рд╡рд╛рд▓реЗ рдХрдВрдЯреЗрдирд░реЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рд╣реИ, рдФрд░ USER-C GROUP- рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ- рдП рддреЛ рдЙрди рдХрдВрдЯреЗрдирд░реЛрдВ рддрдХ рдЗрд╕рдХреА рдкрд╣реБрдВрдЪ рд╣реИред рдпрд╣ рдкреНрд░рддрд┐ рдСрдкрд░реЗрд╢рди рдХреА рдЕрдиреБрдорддрд┐ рднреА рд╣реЛ рд╕рдХрддреА рд╣реИ (рдЧреНрд░реБрдк-рдП рдХреЗ рдкрд╛рд╕ рдЯреИрдЧ-рдмреА рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд░рдВрдн/рд╕реНрдЯреЙрдк рддрдХ рдкрд╣реБрдВрдЪ рд╣реИ, рдЧреНрд░реБрдк-рдмреА рдХреЗ рдкрд╛рд╕ рдирд┐рд╖реНрдкрд╛рджрди рддрдХ рдкрд╣реБрдВрдЪ рд╣реИ, рдЧреНрд░реБрдк-рд╕реА рдХреЗ рдкрд╛рд╕ рдЖрд░рдПрдо/рдирд┐рд░реАрдХреНрд╖рдг рддрдХ рдкрд╣реБрдВрдЪ рд╣реИ, рдФрд░ рдЗрд╕реА рддрд░рд╣)ред

рдХреБрдЫ рдШрдВрдЯреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкрд░ рд╢реЛрдз рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдмрд┐рд▓реНрдб-рдЯрд╛рдЗрдо рд╕реАрдХреНрд░реЗрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╕рдорд╛рдзрд╛рди рдпрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ, рдФрд░ https://github.com/dockito/vault рдЬреИрд╕рд╛ рдХреБрдЫ рдПрдХрдорд╛рддреНрд░ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рд╡рд┐рдХрд▓реНрдк рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдмрд┐рд▓реНрдб-рдЯрд╛рдЗрдо рд╕реАрдХреНрд░реЗрдЯреНрд╕ (рдкреВрд░реА рдкрд░рд┐рдгрд╛рдореА рдЫрд╡рд┐ рдХреЛ рдХреБрдЪрд▓рдиреЗ рдпрд╛ рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдмрдирд╛рдиреЗ рдХреА рдХрдореА)ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ https://github.com/dockito/vault ssh рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕реЗ git https рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рд╕реНрдЯреЛрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдореЗрдЬрдмрд╛рдиреА рдХреЗ рд▓рд┐рдП рднреА рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рддрд╛ рд╣реВрдВ ...

рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рдЬреИрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ (рдореВрд▓ рд░реВрдк рд╕реЗ рдореИрдВрдиреЗ рд╕реБрдирд╛ рд╣реИ рдХрд┐ рдпрд╣ Q4 2015 рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП рд╕реНрд▓реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛) рдХреЗ рдмрд╛рдж, рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдИрд╕реАрдПрд╕ рдЕрдВрддрддрдГ рдЖрдИрдПрдПрдо рднреВрдорд┐рдХрд╛рдУрдВ рдХреЛ рдбреЙрдХрд░ рдРрдкреНрд╕ рдореЗрдВ рд▓рд╛рдиреЗ рдХреЗ рдЕрдкрдиреЗ рд╡рд╛рджреЗ рдкрд░ рдЖ рдЧрдпрд╛ рд╣реИред рдпрд╣рд╛рдВ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рднреА рд╣реИред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдХреЗрдПрдордПрд╕ рдЕрдЪреНрдЫрд╛рдИ рдХреЗ рд╕рд╛рде рдпрд╣ рдПрдХ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рдирд┐рдХрдЯ рдЕрд╡рдзрд┐ рд╕рдорд╛рдзрд╛рди рд╣реИред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдХреБрдЫ рдкреНрд░рдзрд╛рдирд╛рдЪрд╛рд░реНрдпреЛрдВ/IAM рднреВрдорд┐рдХрд╛рдУрдВ рд╕реЗ рдЬреБрдбрд╝реЗ рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛ рддрд╛рдХрд┐ рдЧреИрд░-рдкреНрд░рд╛рдорд╛рдгрд┐рдХ рднреВрдорд┐рдХрд╛рдУрдВ рдХреЛ рдХреБрдЫ рдРрд╕рд╛ рдкреВрдЫрдиреЗ рд╕реЗ рд░реЛрдХрд╛ рдЬрд╛ рд╕рдХреЗ рдЬреЛ рдЙрдиреНрд╣реЗрдВ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ KMS рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рднрдВрдбрд╛рд░рдг рдЫреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЕрднреА рддрдХ рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдореЗрд░реА рдЫреЛрдЯреА рд╕реВрдЪреА рдореЗрдВ рд╣реИ ...

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рдкрд╛рд╕ рдХреБрдЫ рд░рд╣рд╕реНрдп рднреА рд╣реИрдВ рдЬреЛ рдореБрдЭреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╢реЗрдл рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдбреЗрдЯрд╛рдмреИрдЧ рдХреА рдпрд╛рдж рджрд┐рд▓рд╛рддреЗ рд╣реИрдВред

рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо-рдЗрдВрдбрд┐рдкреЗрдВрдбреЗрдВрдЯ рдУрдПрд╕рдПрд╕ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЗрд╕ рдзрд╛рдЧреЗ рдХрд╛ рдкреВрд░рд╛ рдмрд┐рдВрджреБ рд╣реИ,
рд▓реЗрдХрд┐рди рдЙрди рджреЛ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдЙрди рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рд╡рд╛рд▓реЗ рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рдЦреЗрд▓рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдлреЗрдВрдХрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдХреБрдЫ рдЪрд╛рд╣рд┐рдП _NOW_

рдореБрдЭреЗ рдмрд╕ рдХреБрдЫ рдРрд╕рд╛ рдорд┐рд▓рд╛ рдЬреЛ рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ: https://github.com/docker/docker/pull/13587

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ docker v1.10.0 рд╕реЗ рд╢реБрд░реВ рд╣реЛрдХрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЕрдм рддрдХ рдЗрд╕ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ рдерд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдореИрдВ рдЬрд┐рд╕ рд╕рдорд╛рдзрд╛рди рдХреА рдУрд░ рдЭреБрдХ рд░рд╣рд╛ рд╣реВрдВ, рд╡рд╣ https://www.vaultproject.io/ рдХрд╛ рдЙрдкрдпреЛрдЧ рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдФрд░ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдПрдХ tmpfs рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ /secrets рдпрд╛ рдЙрд╕ рдкреНрд░рдХреГрддрд┐ рдХреЗ рдХреБрдЫ рдкрд░ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред . рдХрдВрдЯреЗрдирд░реЛрдВ рдкрд░ IAM рднреВрдорд┐рдХрд╛рдУрдВ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рдирдИ ECS рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд╕рд╛рде, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдореБрдЭреЗ рд╕реНрд╡рдпрдВ рд░рд╣рд╕реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реЙрд▓реНрдЯ рдХреЗ AWS EC2 рдкреНрд░рдорд╛рдгрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред (рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╕реНрд╡рддрдВрддреНрд░ рдХреЗ рд▓рд┐рдП рдореИрдВ рдЙрдирдХреЗ рдРрдк рдЖрдИрдбреА рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд╕рд╛рде рдЬрд╛рдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВред)

рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдореЗрд░реЗ рд▓рд┐рдП рд▓рд╛рдкрддрд╛ рдЯреБрдХрдбрд╝рд╛ рд╡рд╣ рдерд╛ рдЬрд╣рд╛рдВ рдПрдХ рдмрд╛рд░ рдЙрдиреНрд╣реЗрдВ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд░рдЦрд╛ рдЬрд╛рдПред Tmpfs рд╡рд┐рдХрд▓реНрдк рдореБрдЭреЗ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИред рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЧрд╛рдпрдм рд╣реИ рдХрд┐ рдИрд╕реАрдПрд╕ рдЕрднреА рддрдХ рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЗрд╕реЗ рдЖрдЬ рд╕рдмрдорд┐рдЯ рдХрд┐рдпрд╛ рд╣реИ: https://github.com/aws/amazon-ecs-agent/issues/469

рд╕рдм рдПрдХ рд╕рд╛рде рдЬреЛ рдПрдХ рдмрд╣реБрдд рд╡реНрдпрд╛рдкрдХ рд╕рдорд╛рдзрд╛рди IMHO рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред

@CameronGo , рд╕реВрдЪрдХ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдЕрдЧрд░ рдореИрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭреВрдВ рддреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд┐рд▓реНрдб рдлрд╛рдЗрди рдореЗрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╛ рдпрд╣ рдХрд░ рд╕рдХрддрд╛ рд╣реИ?

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

рдЬреЗрдирдХрд┐рдВрд╕ рдЗрд╕реЗ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ рдФрд░ рдЧрд┐рдЯ рдПрдХреНрд╕реЗрд╕ рдХреЗ рд▓рд┐рдП рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рдбреЙрдХрд░ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ? рдпрд╛ рдЖрдк рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рд╣реА git clone ?

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

рдпрджрд┐ рдЖрдк рдореЗрд░реЗ рдЬреИрд╕реЗ рд╣реИрдВ рдФрд░ рдЖрдк рдпрд╣ рддрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдЖрддреЗ рд╣реИрдВ рдХрд┐ рдЕрднреА рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ, рддреЛ рдПрдлрдбрдмреНрд▓реНрдпреВрдЖрдИрдбрдмреНрд▓реНрдпреВ рдореИрдВ рдЙрд╕ рд╕рдорд╛рдзрд╛рди рдХрд╛ рд╡рд░реНрдгрди рдХрд░реВрдВрдЧрд╛ рдЬрд┐рд╕ рдкрд░ рдореИрдВрдиреЗ рд╕рдордЭреМрддрд╛ рдХрд┐рдпрд╛ рдерд╛, рдЬрдм рддрдХ рдХрд┐ рдХреБрдЫ рдмреЗрд╣рддрд░ рди рд╣реЛ рдЬрд╛рдПред

рд░рди-рдЯрд╛рдЗрдо рд╕реАрдХреНрд░реЗрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ http://kubernetes.io/docs/user-guide/secrets/ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛

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

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдбреЙрдХрд░ рдмрд┐рд▓реНрдб рдореЗрдВ "-v" рдзреНрд╡рдЬ рдЬреЛрдбрд╝рдирд╛, рдбреЙрдХрд░ рд░рди рдзреНрд╡рдЬ рдХреЗ рд╕рдорд╛рди рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ? рдпрд╣ рдЕрд╕реНрдерд╛рдпреА рд░реВрдк рд╕реЗ рдореЗрдЬрдмрд╛рди рдФрд░ рдЫрд╡рд┐ рдХреЗ рдмреАрдЪ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рд╛рдЭрд╛ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рднреА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдЧрд╛ рдХрд┐ рдпрд╣ рдХреИрд╢ рдореЗрдВ рдпрд╛ рдЙрддреНрдкрдиреНрди рдЫрд╡рд┐ рдореЗрдВ рдЦрд╛рд▓реА рджрд┐рдЦрд╛рдИ рджреЗред

рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╡реЙрд▓реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд╛рдзрд╛рди рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ:

  1. рдмрд┐рд▓реНрдбрд░ рдорд╢реАрди рдореЗрдВ рд╡реЙрд▓реНрдЯ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ рдФрд░ рд╕реНрдерд╛рдиреАрдп рд╕реНрддрд░ рдкрд░ рдПрдХ рдЯреЛрдХрди рд╕рд╣реЗрдЬрд╛ рдЧрдпрд╛ рд╣реИ
  2. рдЬрдм рдмрд┐рд▓реНрдб рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдмрд┐рд▓реНрдбрд░ рдорд╢реАрди рдПрдХ рдирдП рдЕрд╕реНрдерд╛рдпреА рдЯреЛрдХрди рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддреА рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ рдорд┐рдирдЯреЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рдиреНрдп рд╣реЛрддрд╛ рд╣реИ (рдмрд┐рд▓реНрдб рдХреЗ рдЖрдзрд╛рд░ рдкрд░, 1h рднреА рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реЛрдЧрд╛)
  3. рдЯреЛрдХрди рдХреЛ рдмрд┐рд▓реНрдб arg . рдХреЗ рд░реВрдк рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реИ
  4. рдбреЙрдХрд░ рдЫрд╡рд┐ рдореЗрдВ рд╡реЙрд▓реНрдЯ рднреА рд╕реНрдерд╛рдкрд┐рдд рд╣реИ (рдпрд╛ рдирд┐рд░реНрдорд╛рдг рдХреЗ рджреМрд░рд╛рди рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ) рдФрд░ рдЗрд╕ рдЯреЛрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ

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

рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрднреА рддрдХ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдХреБрдЫ рд╣рдж рддрдХ @kozikow рдХреА рдЯрд┐рдкреНрдкрдгреА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд: "рдмрд┐рд▓реНрдб-рдЯрд╛рдЗрдо рд╕реАрдХреНрд░реЗрдЯреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ - рдореИрдВ рдирд┐рдЬреА рдХреЛрдб рдХреЛ рд╡рд┐рддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рдмрд┐рд▓реНрдб-рдЯрд╛рдЗрдо рд╕реАрдХреНрд░реЗрдЯреНрд╕ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪ рд╕рдХрддрд╛ред"

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмрд┐рд▓реНрдб рдЯрд╛рдЗрдо рд╕реАрдХреНрд░реЗрдЯ рди рд╣реЛ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рдирд┐рд░реНрдорд┐рдд рдЖрд░реНрдЯрд┐рдлреИрдХреНрдЯ рдХреЛ рд░рди рдХрд░реНрд▓ рдХрдорд╛рдВрдб рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдореЗрдВ рдмрд┐рд▓реНрдб-рдЯрд╛рдЗрдо рдХреЗ рджреМрд░рд╛рди рдкрд╛рд╕рд╡рд░реНрдб (рд╕реБрд░рдХреНрд╖рд┐рдд) рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ-рдХреЗрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдмрд┐рд▓реНрдб-рдЯрд╛рдЗрдо рдбрд╛рдЙрдирд▓реЛрдб рдХреЛ рдЖрд░реНрдЯрд┐рдлреИрдХреНрдЯ рдХреЛ рд╣рдерд┐рдпрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ - рдЗрд╕рд▓рд┐рдП рд╣рдо рдЕрднреА рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдореЗрдВ рдПрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕рд╡рд░реНрдб рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ (рд╣рдо рдЕрднреА рднреА рджреЗрд╡ рдореЗрдВ рд╣реИрдВ)ред рдмрд┐рд▓реНрдб рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкрд░реНрджреЗ рдХреЗ рдкреАрдЫреЗ рд╣реЛ рд░рд╣реЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо OpenShift рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ Dockerfile рдореЗрдВ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдмрд┐рд▓реНрдб рдХреЗ рджреМрд░рд╛рди рд▓реЙрдЧ рдХреЗ рд▓рд┐рдП рдЖрдЙрдЯрдкреБрдЯ рд╣реЛрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдХреЛрдИ docker рдмрд┐рд▓реНрдб рдХрдорд╛рдВрдбред рдпрд╣ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рд╣рдорд╛рд░реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕рд╣рд┐рдд рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рджреГрд╢реНрдпрдорд╛рди рдмрдирд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдкрд╛рд╕ рд▓реЙрдЧ рддрдХ рдкрд╣реБрдВрдЪ рд╣реИред рдореИрдВ рдкрд╛рд╕рд╡рд░реНрдб рднреЗрдЬрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рд╕рдЦреНрдд рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рддрд╛рдХрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдбреЙрдХрдЯрд░ рдмрд┐рд▓реНрдб рдХреЗ рджреМрд░рд╛рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рд▓реЙрдЧ рдХрд░рдиреЗ рдпрд╛ рдХрд┐рд╕реА рднреА рдкрд░рдд рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╛рд╕рд╡рд░реНрдб рдЖрдЙрдЯрдкреБрдЯ рдирд╣реАрдВ рд╣реИред

рдореИрдВ рдпрд╣ рднреА рдХрд╣рддрд╛ рд╣реВрдВ рдХрд┐

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

рдПрдХ рд╢реБрд░реБрдЖрдд рдХреЗ рд░реВрдк рдореЗрдВ рдореИрдВ рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реВрдВ:

  • рдбреЛрдХрд░ рдирд┐рд░реАрдХреНрд╖рдг рдореЗрдВ рд░рд╣рд╕реНрдп рдкреНрд░рдХрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ
  • рдкреНрд░рдХреНрд░рд┐рдпрд╛ 1 рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдХрдВрдЯреЗрдирд░ рд╕реЗ рдкрд╣реБрдВрдЪ рдпреЛрдЧреНрдп рдХрд┐рд╕реА рднреА рдлрд╛рдЗрд▓ рдХреЗ рднреАрддрд░ рд░рд╣рд╕реНрдп рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ (рд╡реЙрд▓реНрдпреВрдо рдорд╛рдЙрдВрдЯреЗрдб рдлрд╛рдЗрд▓реЛрдВ рд╕рд╣рд┐рдд)
  • рд░рд╣рд╕реНрдп /proc/1/cmdline рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ
  • рдЧреБрдкреНрдд рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рд░реВрдк рдореЗрдВ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдкреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ

рдКрдкрд░ рд╕реБрдЭрд╛рдпрд╛ рдЧрдпрд╛ рдХреЛрдИ рднреА рд╕рдорд╛рдзрд╛рди рдЬреЛ рдЗрдирдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд░рддрд╛ рд╣реИ рд╡рд╣ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рд╣реИред

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

@gtmtech рдмрдврд╝рд┐рдпрд╛ рд╕реБрдЭрд╛рд╡ :)

рдкреНрд░рдХреНрд░рд┐рдпрд╛ 1 рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдХрдВрдЯреЗрдирд░ рд╕реЗ рдкрд╣реБрдВрдЪ рдпреЛрдЧреНрдп рдХрд┐рд╕реА рднреА рдлрд╛рдЗрд▓ рдХреЗ рднреАрддрд░ рд░рд╣рд╕реНрдп рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ (рд╡реЙрд▓реНрдпреВрдо рдорд╛рдЙрдВрдЯреЗрдб рдлрд╛рдЗрд▓реЛрдВ рд╕рд╣рд┐рдд)

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

рдореИрдВ рд░рди-рдЯрд╛рдЗрдо рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рдЬреЛрдбрд╝реВрдВрдЧрд╛:

  • рдкрд╣рд▓рд╛ рд░рд╣рд╕реНрдп рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдХрд░рддреЗ рд╕рдордп рдХрдВрдЯреЗрдирд░ рдкреНрд░рдорд╛рдгреАрдХрд░рдг/рдкреНрд░рд╛рдзрд┐рдХрд░рдгред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Vault, AppRole рдмреИрдХрдПрдВрдб рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЦреБрд▓рд╛ рд╣реИ рдХрд┐ рдХрдВрдЯреЗрдирд░ рдЦреБрдж рдХреЛ рдХреИрд╕реЗ рдкрд╣рдЪрд╛рдирддреЗ рд╣реИрдВред

рдирд┐рдХ рд╕реБрд▓рд┐рд╡рди рдиреЗ рдХреБрдЫ рд╣рдлреНрддреЗ рдкрд╣рд▓реЗ рдХреНрд▓реЙрдлреНрд▓реЗрдпрд░ рдХреА рдкреАрдПрдПрд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░

рдПрдХ рдЖрд╡реЗрджрди рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдЗрд╕рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рддреАрди рддрд░реАрдХреЗ рд╣реИрдВ:

  1. рдПрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗ рдПрдХ рд░рд╣рд╕реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред
  2. рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдПрдХ рд░рд╣рд╕реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред
  3. рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░рдгрд╛рд▓реА рд╕реЗ рдПрдХ рд░рд╣рд╕реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред

рдКрдкрд░ 1 рдФрд░ # 2 рдЖрдо рддреМрд░ рдкрд░ рд╕рдмрд╕реЗ рдЖрдо рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЗрд╕ рддрдВрддреНрд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред #3 рд╢рд╛рдпрдж рдЕрдзрд┐рдХ рдЖрджрд░реНрд╢ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрдо рд╕реЗ рдХрдо "crumbs" рдЫреЛрдбрд╝рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ рдФрд░ рд░рд╣рд╕реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдХреНрд╕рд░ рдЕрднреА рднреА рдПрдХ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдбреЙрдХрд░ рдмрд╣реБрдореБрдЦреА рдкреНрд░рддрд┐рднрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдЖрдзрд╛рд░ рдкрд░ 1. рдФрд░ 2. рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рд╕рдмрд╕реЗ рдЖрдХрд░реНрд╖рдХ рд╣реИрдВ, рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рд╡реЗ рджреЛрдиреЛрдВ рд╕рд┐рд╕реНрдЯрдо рдкрд░ "crumbs" рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВред

рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЬрд┐рд╕рдХрд╛ рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рд╡рд╣ рд╣реИ рдПрдВрдЯреНрд░реАрдкреЙрдЗрдВрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдирд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдореЗрдВ рдХреНрд░реЗрдбрд╕реНрдЯреИрд╢ рдпрд╛ рдкреНрд▓реЗрди рдХреЗрдПрдордПрд╕ рдЬреИрд╕реЗ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рдЖрдИрдПрдПрдо рднреВрдорд┐рдХрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдХрд░реЗрдВ)ред рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдВрдЯреНрд░реАрдкреЙрдЗрдВрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ # 3 рдКрдкрд░ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╛ рддреЛ # 1 (рдПрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рдХрд░реЗрдВ) рдпрд╛ # 2 (рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦреЗрдВ) рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЧрддрд┐рд╢реАрд▓ рд╣реИ рдФрд░ # 1 (рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░) рдХреЗ рд▓рд┐рдП, рдбреЙрдХрд░ рд▓реЙрдЧ рдпрд╛ рдбреЙрдХрд░ рдирд┐рд░реАрдХреНрд╖рдг рдореЗрдВ рдкреНрд░рдорд╛рдг-рдкрддреНрд░реЛрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

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

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

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

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

"рдЧреБрдкреНрдд рд╢реВрдиреНрдп" рдореБрджреНрджрд╛ рдПрдХ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдмрд┐рд▓реНрдб-рдЯрд╛рдЗрдо рдпрд╛ рд░рди-рдЯрд╛рдЗрдо? рджреЛрдиреЛрдВ рдХреЗ рдЕрдкрдиреЗ рдкреЗрд╢реЗрд╡рд░реЛрдВ рдФрд░ рд╡рд┐рдкрдХреНрд╖ рд╣реИрдВ, рдФрд░ рд╕реНрдкрд╖реНрдЯ рд╕реБрд░рдХреНрд╖рд╛ рдЙрдкрд╛рдп рдФрд░ рдЦрд╛рдорд┐рдпрд╛рдВ рд╣реИрдВ (рдФрд░ рд╣реИрдХреНрд╕ рдФрд░ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ!)ред

рдЙрд╕ рдиреЗ рдХрд╣рд╛, рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдкрд╛рд╕/рдХреБрдВрдЬреА рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХреИрд╕реЗ рдЖрд╡реЗрджрди рдФрд░/рдпрд╛ рд╕реЗрд╡рд╛ рдкрд░ рдЖрддрд╛ рд╣реИред

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

рдХреЛрдб, рдХреЙрдиреНрдлрд┐рдЧ рдФрд░ рд╕реАрдХреНрд░реЗрдЯреНрд╕ рдмреИрдХрд┐рдВрдЧ рд╕рд░реНрд╡рд┐рд╕ (рд╕реЗрд╡рд╛рдУрдВ) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо Stash, Consul рдФрд░ Vault рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЬрдм рддрдХ рдирд┐рд░реНрднрд░рддрд╛ рдКрдкрд░ рд╣реИ, рддрдм рддрдХ рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдФрд░ рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рдЦреАрдВрдЪрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред

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

рдмрд┐рд▓реНрдб-рдЯрд╛рдЗрдо рд░рд╣рд╕реНрдпреЛрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рд░реЙрдХрд░ рдХрд╛ MOUNT рдирд┐рд░реНрджреЗрд╢ рдХреНрд╖рдгрд┐рдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдФрд░ рдлрд╛рдЗрд▓реЗрдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╕рд╛рдмрд┐рдд рд╣реБрдЖ рд╣реИ рдЬреЛ _only_ рдмрд┐рд▓реНрдб-рдЯрд╛рдЗрдо рдкрд░ рдореМрдЬреВрдж рд╣реИрдВред рдЙрдирдХреА рдХреБрдЫ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рднреА рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдЙрдирдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред

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

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдУрдкреА рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рднреА 4 рдкреНрд░рд╕реНрддрд╛рд╡ рдЧреБрдкреНрдд рднрдВрдбрд╛рд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИрдВ

рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдбреЙрдХрд░реНрд╕ рдХреЛ рдПрдХ рдЧреБрдкреНрдд/рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ _docker instance_ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдЗрди рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд/рдкреНрд░рдмрдВрдзрди рдХрд░рдирд╛ (рдФрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП) рдбреЙрдХрд░ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИред

рдЬрдм _рдПрдХ рдЧреБрдкреНрдд_ рдкрд╛рд╕ рдХрд░рдирд╛_ рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдПрдХ рд░рди рдкреИрд░рд╛рдореАрдЯрд░ рд▓рдЧрднрдЧ рд╕рд╣реА рд╣реИ рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рд▓реЙрдЧ рд╣реЛрддрд╛ рд╣реИред рддреЛ рдореИрдВ рдЗрд╕реЗ рдПрдХ рдЧреИрд░-рд╕рд╛рджреЗ рдЯреЗрдХреНрд╕реНрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реБрд╡рд┐рдзрд╛ рддрдХ рд╕реАрдорд┐рдд рдХрд░

рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛ_рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рд╡рд╛рд▓ рд╣реИ, рдореИрдВ рдХреБрдЫ рднреА рдХрд╣реВрдВрдЧрд╛ рдЬреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рд╣реЛрдордмреНрд░реЗ рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рд▓реЗрдХрд░ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдЬреИрд╕реЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рджреНрд╡рд╛рд░рд╛ рдПрдХреАрдХрд░рдг рддрдХред

рд░реЙрдХрд░ рдорд╛рдЙрдВрдЯ рдЬреИрд╕реЗ @ agilgur5 рдиреЗ рдкрд╣рд▓реЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереА? рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрд╣рд╕ рдЗрддрдиреА рд▓рдВрдмреА рдЪрд▓реА рд╣реИ рдХрд┐ рдПрдХ рдЯреАрдо рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╕рд╛рди рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП docker build рдХрдорд╛рдВрдб рдХреЛ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдлреЛрд░реНрдХ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рд╣реИред рдХреНрдпрд╛ рд╣рдореЗрдВ рдорд┐рд╢реНрд░рдг рдореЗрдВ рдПрдХ рдФрд░ HTTP рд╕рд░реНрд╡рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдЪреБрдореНрдорд╛ред

рдореИрдВрдиреЗ рдЗрд╕ рд╕рдмрдЬреЗрдЯ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЗрддрдиреЗ рдШрдВрдЯреЗ рдмрд┐рддрд╛рдП ...

рдЕрднреА рдХреЗ рд▓рд┐рдП, рдмрд┐рд▓реНрдб рдЪрд░рдг рдХреЗ рджреМрд░рд╛рди рдореБрдЭреЗ рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рджреЛ рдЪрд░рдгреЛрдВ рдХреЗ рднреАрддрд░ рдмрдирд╛рдирд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рджреЛ рдбреЙрдХрд░ рдлрд╛рдЗрд▓реЗрдВред рдпрд╣рд╛рдБ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ ред

[рдЖрджрдд] (http://www.habitus.io/) рдПрдХ рдФрд░ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдПрдХ рдФрд░ рдЙрдкрдХрд░рдг рдирд╣реАрдВ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рд╕реАрдЖрдИ рд╕рд░реНрд╡рд░ рдкрд░ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рд╕рд░рд▓ / рд╕рдорд╛рдиред

рдФрд░ рдбреЙрдХрд░-рдЗрди-рдбреЙрдХрд░ (рдбреАрдПрдирдбреА) рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

рдпрд╣рд╛рдВ рджреЛ рдЪрд░рдгреЛрдВ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдбрд┐рдВрдб рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреИрд╕реЗ рдореИрдВрдиреЗ рдЕрднреА рдКрдкрд░ рдмрд╛рдд рдХреА рд╣реИ: https://github.com/BenoitNorrin/docker-build-with-secrets

рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ ...

рджрд┐рд▓рдЪрд╕реНрдкред рдореБрдЭреЗ рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реИ рдХрд┐ OpenShift рдХреИрд╕реЗ рдмрдирд╛рддрд╛ рд╣реИред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рдкрд╛рд╕рд╡рд░реНрдб рдкрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдХреНрдпрд╛ рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреЛрдИ рд░рд╛рд╕реНрддрд╛ рд╣реИ?

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣рд╛рдВ рдмрд┐рд▓реНрдб-рдЯрд╛рдЗрдо рд╕реАрдХреНрд░реЗрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░реНрдп-рдкреНрд░рдЧрддрд┐ рдкреАрдЖрд░ рд╣реИ; https://github.com/docker/docker/pull/28079 (рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд░рдирдЯрд╛рдЗрдо рд░рд╣рд╕реНрдп рдбреЙрдХрд░ 1.13 рдореЗрдВ рд╣реЛрдВрдЧреЗ, https://github.com/docker/docker/pull/27794 рджреЗрдЦреЗрдВ)

@thaJeztah :
#28079 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдореИрдВ рдереЛрдбрд╝рд╛ рдирд┐рд░рд╛рд╢рд╛рд╡рд╛рджреА рд╣реВрдВ рдЬрдм рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдкрд┐рдЫрд▓реЗ рджреЛ рд╡рд░реНрд╖реЛрдВ рдХреЗ рджреМрд░рд╛рди рдЗрд╕ рд╡рд┐рд╖рдп рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЗрддрдиреЗ рд╕рд╛рд░реЗ рдкреАрдЖрд░ рд╡рд┐рдлрд▓ рд╣реЛ рдЧрдП рд╣реИрдВ ...
рдореИрдВ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЭреБрдВрдб рдирд╣реАрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ред рдореЗрд░реЗ рдХреБрдЫ рдЧреНрд░рд╛рд╣рдХ рджреВрд╕рд░реЗ рдХреНрд▓рд╕реНрдЯрд░ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

@рдХреИрд╕рд┐рдпреБрд╕рд╛ :
рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рддреБрдореНрд╣рд╛рд░рд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ?
1/рдкрд╛рд╕рд╡рд░реНрдб "рдХрдВрдЯреЗрдирд░ рдмрд┐рд▓реНрдбрд░" рдХреЛ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ рдЕрдВрддрд┐рдо рдЫрд╡рд┐ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдмрд┐рд▓реНрдбрд░ рдПрдХ рдбреЙрдХрд░ рдмрд┐рд▓реНрдб рдХрд░рддрд╛ рд╣реИ рдФрд░ Dockerfile.realase рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдЗрдореЗрдЬ рдмрдирд╛рддрд╛ рд╣реИред рдЗрд╕ рдЕрдВрддрд┐рдо рдЫрд╡рд┐ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдореЗрдВ рдХреЛрдИ рд░рд╣рд╕реНрдп рд╕рдВрдЧреНрд░рд╣реАрдд рдирд╣реАрдВ рд╣реИрдВред
2/ рдпрджрд┐ рдЖрдк рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреЛ рдкрд╛рд╕рд╡рд░реНрдб рдкрд╛рд╕ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдбреЙрдХрд░-рдХрдВрдкреЛрдЬрд╝ ( рдЙрджрд╛рд╣рд░рдг ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ

@BenoitNorrin рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЗрд╕реЗ рдЧреИрд░-рдЭреБрдВрдб рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди @diogomonica рдЙрд╕ рдкрд░ рдЕрдзрд┐рдХ рдЬрд╛рди рд╕рдХрддрд╛ рд╣реИ

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ:

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

рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдЗрд╕реЗ рд░реЙрдХрд░ рдХреА рддрд░рд╣ рд╣реА рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдП, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
рд╕рд░рд▓, 'рдЙрджреНрдпрдо' рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рдордВрдЧрд▓рд╡рд╛рд░ рдХреЛ, 29 рдирд╡рдВрдмрд░ 2016, 15:53 тАЛтАЛрдорд╛рдЗрдХрд▓ рд╡рд╛рд░реНрдХреЗрдВрдЯрд┐рди, рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ:

рдпрд╣ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреЗрд╡рд▓ рдЭреБрдВрдб рдореЛрдб рдХреЗ рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдмреИрдХрд┐рдВрдЧ рд╕реНрдЯреЛрд░ рдЭреБрдВрдб рд╣реИ рдФрд░ as
рдРрд╕рд╛ рдХреЗрд╡рд▓ Linux рдХреЗ рд▓рд┐рдП рд╣реИред рдпрд╣ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЧреБрдкреНрдд рд╕рдорд░реНрдерди рдХреА рдиреАрдВрд╡ рд╣реИ
рд╡рд┐рдВрдбреЛрдЬ рд╕рдкреЛрд░реНрдЯ рдЬреИрд╕реЗ рд╕рдВрднрд╛рд╡рд┐рдд рд╕реБрдзрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдбреЙрдХрд░, рдЕрд▓рдЧ
рдмреИрдХрд┐рдВрдЧ рд╕реНрдЯреЛрд░, рдЖрджрд┐ред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереАред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/docker/docker/issues/13490#issuecomment-263608915 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AAZk5vlLwsBHHTTbUS_vvx-qTuwnkp6Oks5rDEpjgaJpZM4Eq021
.

рдПрдХ рд╕рдорд╛рдзрд╛рди рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ docker-compose рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдкрд╛рд╕ рдХреА рдЧрдИ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, docker inspect рдЪрд▓рд╛рдПрдВ рдФрд░ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХреА рдЧрдИ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ _encrypted_ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд/рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдлрд┐рд░ docker inspect --encryption-key some_key_file рдЕрдирдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рд╕рднреА рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдЬрд╛рдирдХрд╛рд░реА рджрд┐рдЦрд╛рдПрдЧрд╛ред

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

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди _is key_ :)

рдЙрджреНрджреЗрд╢реНрдп рдореЗрд░реЗ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп) рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рд╣реИ a
рдПрдХ рдЧрд┐рдЯ рд╕рд░реНрд╡рд░ рд╕реЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдФрд░ рдЙрд╕рдХреА рдирд┐рд░реНрднрд░рддрд╛ред рдШреБрдорд╛рд╡ рдиреЗ рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдХрд░ рдЗрд╕реЗ рдЦреАрдВрдЪрд╛ рд╣реИ
рдирд┐рд░реНрдорд╛рдг рдХреЗ рджреМрд░рд╛рди рдПрдХ рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рдПрд╕рдПрд╕рдПрдЪ рдПрдЬреЗрдВрдЯ рд╕реЙрдХреЗрдЯ)

рдордВрдЧрд▓, 3 рдЬрдирд╡рд░реА 2017, 4:14 Hisa рдкрд░, [email protected] рд▓рд┐рдЦрд╛ рд╣реИ:

рдПрдХ рд╡рд┐рдЪрд╛рд░ рдПрдХ рд╕рдорд╛рдзрд╛рди рдкрд╛рд░рд┐рдд рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛
рдПрдХ рдбреЛрдХрд░-рд▓рд┐рдЦреЗрдВ рдлрд╝рд╛рдЗрд▓ рд╕реЗред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреЙрдХрд░ рдирд┐рд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдПрдВ рдФрд░ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП
рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд/рдЪрд┐рд╣реНрдирд┐рддред рдлрд┐рд░ рдбреЙрдХрд░ рдирд┐рд░реАрдХреНрд╖рдг --рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди-рдХреБрдВрдЬреА
some_key_file рд╕рднреА рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдЕрдирдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рджрд┐рдЦрд╛рдПрдЧрд╛ред

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

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреБрдВрдЬреА рд╣реИ :)

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереАред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/docker/docker/issues/13490#issuecomment-270049742 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AAZk5qEphZo5SR9vOWVL5dck50EPadpVks5rOcsUgaJpZM4Eq021
.

рдЪреВрдБрдХрд┐ рдореИрдВрдиреЗ рдЗрд╕рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рджреЗрдЦрд╛, рдпрд╣рд╛рдБ AWS ECS рдореЗрдВ рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдФрд░ рдЕрдЪреНрдЫрд╛ рд▓реЗрдЦ рд╣реИ: https://aws.amazon.com/blogs/security/how-to-manage-secrets-for-amazon-ec2-container- рд╕реЗрд╡рд╛-рдЖрдзрд╛рд░рд┐рдд-рдЕрдиреБрдкреНрд░рдпреЛрдЧ-рджреНрд╡рд╛рд░рд╛-рдЙрдкрдпреЛрдЧ-рдЕрдореЗрдЬрд╝реЕрди-рдПрд╕ 3-рдФрд░-рдбреЙрдХрд░/

рдбреЙрдХрд░ 1.13 рдореЗрдВ рдПрдХ рдирдпрд╛ "рдбреЙрдХрд░ рд╕реАрдХреНрд░реЗрдЯ" рдХрдорд╛рдВрдб рд╣реИред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рддрдм рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдЙрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рдпрд╣рд╛рдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛред

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

рд╕рд╛рде рд╣реА docker secret рдХреЗрд╡рд▓ рд░рди рдЯрд╛рдЗрдо рд╕реАрдХреНрд░реЗрдЯреНрд╕ рдХреЛ рдореИрдиреЗрдЬ рдХрд░рддрд╛ рд╣реИ, рдЯрд╛рдЗрдо рд╕реАрдХреНрд░реЗрдЯреНрд╕ рдХреЛ рдирд╣реАрдВ рдмрдирд╛рддрд╛ред

рд╡рд╛рд╣ рд╡рд╛рд╣ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрддреНрдкрд╛рдж рдкреНрд░рдмрдВрдзрди рдЯреАрдо рдореЗрдВ рдХрд┐рд╕реА рдиреЗ рднреА рдХрднреА рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ
рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЬрд╣рд╛рдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрд▓реНрдХрд┐ рдЕрдирдзрд┐рдХреГрдд рдУрдкрди рд╕реЛрд░реНрд╕ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдорд┐рд▓рддрд╛ рд╣реИ
рдПрдХ рдбреЙрдХ рдХрдВрдЯреЗрдирд░ рдпрд╛ рдЧреЛрд▓рд╛рдВрдЧ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐рд╕реА рднреА рднрд╛рд╖рд╛ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╕рднреА
рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рдХреЙрдкреА рдФрд░ рдкреЗрд╕реНрдЯ рдХреА рдЬрд╛рддреА рд╣реИрдВ, рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдЧрд┐рдЯ рд░реЗрдкреЛ рдореЗрдВ 'рд╕рдВрд╕реНрдХрд░рдгрд┐рдд'ред

рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХрд┐ рд▓реЛрдЧ рдЗрддрдиреЗ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рдХреБрдВрдард┐рдд рдХреИрд╕реЗ рд╣реЛрдВрдЧреЗред рдХреЗрд╡рд▓
рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдореИрдВ рд╕реЛрдЪ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЙрддреНрдкрд╛рдж рдкреНрд░рдмрдВрдзрди рдЯреАрдо рдирд╣реАрдВ рд╣реИ
рдЪрд┐рдХрд┐рддреНрд╕рдХреЛрдВ рдФрд░ рдЙрддреНрдкрд╛рдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдореИрдВ рдЕрдХреНрд╕рд░ рдпрд╣ рджреЗрдЦрддрд╛ рд╣реВрдБ
рд╡рд┐рд╢реЗрд╖рддрд╛ рддрдм рдкреНрд░рдХрдЯ рд╣реЛрддреА рд╣реИ рдЬрдм рд╕рдВрдЧрдарди рдЖрдзрд╛рд░ рдкрд░ рдХрд┐рд░рд╛рдП рдкрд░ рд▓реЗрддрд╛ рд╣реИ
рдЬреАрд░рд╛/рдлреБрд░реНрддреАрд▓реА рдХреМрд╢рд▓ред

рдореИрдВ рд╕рд┐рд░реНрдл 2019 рддрдХ рд░реЙрдХрд░ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддрд╛ рд░рд╣реВрдВрдЧрд╛ рдпрд╛ рдЬрдм рднреА рдХреЛрдИ рд╕рдордЭреЗрдЧрд╛ рддрдмред

рд╕реВрд░реНрдп рдкрд░, 22 рдЬрдирд╡рд░реА 2017, 23:47 рд╢реЗрди рд╕реЗрдВрдЯрдХреНрд▓реЗрдпрд░, рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рд╕рд╛рде рд╣реА рдбреЙрдХрд░ рд╕реАрдХреНрд░реЗрдЯреНрд╕ рдХреЗрд╡рд▓ рд░рди рдЯрд╛рдЗрдо рд╕реАрдХреНрд░реЗрдЯреНрд╕ рдХреЛ рдореИрдиреЗрдЬ рдХрд░рддреЗ рд╣реИрдВ, рдЯрд╛рдЗрдо рд╕реАрдХреНрд░реЗрдЯреНрд╕ рдХреЛ рдирд╣реАрдВ рдмрдирд╛рддреЗред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереАред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/docker/docker/issues/13490#issuecomment-274370450 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AAZk5vJVJe4OeypWd1Cwqmh8Gzyn8P-mks5rU-qqgaJpZM4Eq021
.

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

рд╕реЛрдо рдХреЛ, 23 рдЬрдирд╡рд░реА 2017, 09:31 рдмреНрд░рд╛рдпрди рд╣рдВрдЯ, [email protected] рдиреЗ рд▓рд┐рдЦрд╛:

рд╡рд╛рд╣ рд╡рд╛рд╣ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрддреНрдкрд╛рдж рдкреНрд░рдмрдВрдзрди рдЯреАрдо рдореЗрдВ рдХрд┐рд╕реА рдиреЗ рднреА рдХрднреА рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ
рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЬрд╣рд╛рдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрд▓реНрдХрд┐ рдЕрдирдзрд┐рдХреГрдд рдУрдкрди рд╕реЛрд░реНрд╕ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдорд┐рд▓рддрд╛ рд╣реИ
рдПрдХ рдбреЙрдХ рдХрдВрдЯреЗрдирд░ рдпрд╛ рдЧреЛрд▓рд╛рдВрдЧ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐рд╕реА рднреА рднрд╛рд╖рд╛ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╕рднреА
рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рдХреЙрдкреА рдФрд░ рдкреЗрд╕реНрдЯ рдХреА рдЬрд╛рддреА рд╣реИрдВ, рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдЧрд┐рдЯ рд░реЗрдкреЛ рдореЗрдВ 'рд╕рдВрд╕реНрдХрд░рдгрд┐рдд'ред

рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рдХрд┐ рд▓реЛрдЧ рдЗрддрдиреЗ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рдХреБрдВрдард┐рдд рдХреИрд╕реЗ рд╣реЛрдВрдЧреЗред рдХреЗрд╡рд▓
рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдореИрдВ рд╕реЛрдЪ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЙрддреНрдкрд╛рдж рдкреНрд░рдмрдВрдзрди рдЯреАрдо рдирд╣реАрдВ рд╣реИ
рдЪрд┐рдХрд┐рддреНрд╕рдХреЛрдВ рдФрд░ рдЙрддреНрдкрд╛рдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдореИрдВ рдЕрдХреНрд╕рд░ рдпрд╣ рджреЗрдЦрддрд╛ рд╣реВрдБ
рд╡рд┐рд╢реЗрд╖рддрд╛ рддрдм рдкреНрд░рдХрдЯ рд╣реЛрддреА рд╣реИ рдЬрдм рд╕рдВрдЧрдарди рдЖрдзрд╛рд░ рдкрд░ рдХрд┐рд░рд╛рдП рдкрд░ рд▓реЗрддрд╛ рд╣реИ
рдЬреАрд░рд╛/рдлреБрд░реНрддреАрд▓реА рдХреМрд╢рд▓ред

рдореИрдВ 2019 рддрдХ рдпрд╛ рдЬрдм рднреА рдХреЛрдИ рд╕рдордЭреЗрдЧрд╛ рддрдм рддрдХ рд░реЙрдХрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд░рд╣реВрдБрдЧрд╛
рдлрд┐рд░ред

рд╕реВрд░реНрдп рдкрд░, 22 рдЬрдирд╡рд░реА 2017, 23:47 рд╢реЗрди рд╕реЗрдВрдЯрдХреНрд▓реЗрдпрд░, рд╕реВрдЪрдирд╛рдПрдВ @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

рд╕рд╛рде рд╣реА рдбреЙрдХрд░ рд╕реАрдХреНрд░реЗрдЯреНрд╕ рдХреЗрд╡рд▓ рд░рди рдЯрд╛рдЗрдо рд╕реАрдХреНрд░реЗрдЯреНрд╕ рдХреЛ рдореИрдиреЗрдЬ рдХрд░рддреЗ рд╣реИрдВ, рдЯрд╛рдЗрдо рд╕реАрдХреНрд░реЗрдЯреНрд╕ рдХреЛ рдирд╣реАрдВ рдмрдирд╛рддреЗред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереАред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/docker/docker/issues/13490#issuecomment-274370450 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AAZk5vJVJe4OeypWd1Cwqmh8Gzyn8P-mks5rU-qqgaJpZM4Eq021
.

@binarytemple рд╣рд░ рдХреЛрдИ рдЕрднреА рд╕рднреА рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЪрд╛рд╣рддрд╛ рд╣реИред рдЕрдЧрд░ рд╕рд╛рдорд╛рди рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИ рддреЛ рд╡рд╣ рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИред рдПрдХ рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рджрд╛рдпрд░реЗ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдирд╛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреЛрдИ рдмреБрд░реА рдмрд╛рдд рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕реАрдорд┐рдд рджрд╛рдпрд░реЗ рдореЗрдВ рднреА рд╕реБрдзрд╛рд░ рдХреА рдЧреБрдВрдЬрд╛рдЗрд╢ рд╣рдореЗрд╢рд╛ рдмрдиреА рд░рд╣рддреА рд╣реИред

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

рдореИрдВрдиреЗ @mixja рдЬреИрд╕рд╛ рд╣реА рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ secret рдХрдорд╛рдВрдб рдХреЗрд╡рд▓ рдЭреБрдВрдб рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдорджрдж рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ (рдЬреИрд╕реЗ рдЙрдиреНрд╣реЛрдВрдиреЗ рд▓рдЧрд╛рддрд╛рд░ рд╡реЙрд▓реНрдпреВрдо рд╕рдВрд▓рдЧреНрди рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛)ред рдЖрдк рдЕрдкрдиреЗ рд░рд╣рд╕реНрдпреЛрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВ (рд╡реЗ рдХреНрдпрд╛ рд╣реИрдВ рдФрд░ рдЙрди рддрдХ рдХрд┐рд╕рдХреА рдкрд╣реБрдВрдЪ рд╣реИ) рдмрд╣реБрдд рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИ рдФрд░ рдпрд╣ рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдирд╛ "рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо" рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХрд┐рдП рдЧрдП рдФрд░/рдпрд╛ рдУрдПрд╕рдПрд╕ рдХреЗ рдХрд┐рди рдмрд┐рдЯреНрд╕ рдХреЛ рдПрдХ рд╕рд╛рде рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдбреЙрдХрд░ рдХреЗ рд╕рд╛рде рдХрдВрдкрдиреА рдПрдХ рдордВрдЪ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдЖрдЧреЗ рдмрдврд╝ рд░рд╣реА рд╣реИ, рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЙрдирдХрд╛ рдкрд╣рд▓рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЭреБрдВрдб рдЖрдзрд╛рд░рд┐рдд рд╣реИ рдЬреИрд╕реЗ рд╣рд╛рд╢рд┐рдХреЙрд░реНрдк рд╡реЙрд▓реНрдЯ рдХреЛ рдПрдЯрд▓рд╕ рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░ рд░рд╣рд╛ рд╣реИ - рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рдХреИрд╕реЗ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ docker run рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИред рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдХрд╛рдо рднреВрдорд┐рдХрд╛рдУрдВ рдФрд░ рдиреАрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдиреБрдорддрд┐рдпрд╛рдВ рджреЗрдиреЗ/рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдПрдХ рдПрд╕рдбреАрдХреЗ рдХреЗ рд╕рд╛рде рдХрд░рддрд╛ рд╣реИред рд╢реЗрдл рдЗрд╕реЗ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдбреЗрдЯрд╛рдмреИрдЧ рдФрд░ рдХреНрд░рд┐рдкреНрдЯреЛ "рдмреВрдЯрд╕реНрдЯреНрд░реИрдкрд┐рдВрдЧ" рдХреЛ рдСрде рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред K8S рдХрд╛ рдЕрдкрдирд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реИ рдЬреЛ рдЕрднреА 1.13 рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдореЗрд╕реЛрд╕ рд╕рдордп рдкрд░ рдПрдХ рд╕рдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЬреЛрдбрд╝ рджреЗрдЧрд╛ред

рдпреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди 2 рд╢рд┐рд╡рд┐рд░реЛрдВ рдореЗрдВ рдЖрддреЗ рд╣реИрдВред
1) рд╡реЙрд▓реНрдпреВрдо рдорд╛рдЙрдВрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░рд╣рд╕реНрдп рдХреЛ рдкрд╛рд╕ рдХрд░реЗрдВ рдЬреЛ "рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо" рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдпрд╛ (рд╢реЗрдл/рдбреЙрдХрд░ рд╕реАрдХреНрд░реЗрдЯ/k8s .)
2) рдмреВрдЯ рдкрд░ рдЪреАрдЬреЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рд╣рд░реА рд╕реЗрд╡рд╛ рд╕реЗ рдмрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдкрд╛рд╕ рдХрд░реЗрдВ (iam/credstash/etc)

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рджреВрд╕рд░реЗ рд╡рд┐рдХрд▓реНрдк рдХреА рддрд░реНрдЬ рдкрд░ рдХреБрдЫ рдФрд░ рджреЗрдЦрдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рдерд╛ред рдкрд╣рд▓реЗ рд╡рд┐рдХрд▓реНрдк рдореЗрдВ, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЪрд┐рдВрддрд╛рдУрдВ рдХрд╛ рдкрд░реНрдпрд╛рдкреНрдд рдЕрд▓рдЧрд╛рд╡ рд╣реИ (рд▓реЙрдиреНрдЪрд┐рдВрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдЪреАрдЬ рдХреА рд╕рднреА рдЪрд╛рдмрд┐рдпреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рднреА рд╣реИ), рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд░реАрдпрддрд╛ рд╣реИ, рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдмрд┐рд▓реНрдбрд┐рдВрдЧ рдореЗрдВ рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рдХреА рддрд░рд╣, рд╣рд░ рдХреЛрдИ рдЗрд╕реЗ рдЕрд▓рдЧ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реИ .

рдореБрдЭреЗ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкрд╣рд▓рд╛ рдХрджрдо рдбреЙрдХрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдЙрдард╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЖрд╢рд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ docker run рд▓рд┐рдП рдПрдХ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рддрдВрддреНрд░ рдЗрд╕рд╕реЗ рдмрд╛рд╣рд░ рдЖрддрд╛ рд╣реИ (рд╢рд┐рд╡рд┐рд░ # 2 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП) - рдЬрд┐рд╕рдХрд╛ рджреБрдЦ рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдзрд╛рдЧрд╛ рд╣реИ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдорд┐рд╢рди рдкреВрд░рд╛ рд╣реЛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЕрднреА рддрдХ рдмрдВрдж рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдкрд╕рдВрдж!
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд░рд▓ рд▓реЗрдХрд┐рди рдмрд╣реБрдд рдкреНрд░рднрд╛рд╡реА рдбрд┐рдЬрд╛рдЗрди

@bacoboy , @mixja - рд╕рд┐рдВрдЧрд▓ рдиреЛрдб рдЭреБрдВрдб рдФрд░ рдПрдХ рдХрдВрдЯреЗрдирд░ рд╕реЗрд╡рд╛ рдЗрддрдиреА рдЦрд░рд╛рдм рдирд╣реАрдВ рд╣реИ
docker swarm init , docker service create replica=1

рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реИ рдХрд┐ рдЕрдм рд╕реЗ рдХрдВрдЯреЗрдирд░/рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЙрдХрдЯрд░ рдЭреБрдВрдб рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реЛрдЧрд╛ред

рдХреНрдпрд╛ рдореИрдВ рдпрд╣ рд╕реЛрдЪрдиреЗ рдореЗрдВ рд╕рд╣реА рд╣реВрдВ рдХрд┐ рдпрд╣ рдирдпрд╛ рдЭреБрдВрдб-рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗрд╡рд▓ рд░рди-рдЯрд╛рдЗрдо рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ? рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд░рди-рдЯрд╛рдЗрдо рд░рд╣рд╕реНрдпреЛрдВ рдХреЗ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдмрдВрдзрди рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рджрд┐рдЦрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЪрд▓ рд░рд╣реЗ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рд▓рд╛рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВред

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

рдмрд┐рд▓реНрдб-рдЯрд╛рдЗрдо рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдм рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП docker build --squash рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

COPY ssh_private_key_rsa /root/.ssh/id_rsa
RUN git pull ...
RUN rm -rf /root/.ssh/id_rsa

--squash рдзреНрд╡рдЬ рд╕рдВрдкреВрд░реНрдг рдбреЙрдХрд░рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░рдд рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░реЗрдЧрд╛: рд░рд╣рд╕реНрдп рдХрд╛ рдХреЛрдИ рдирд┐рд╢рд╛рди рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

--squash docker-1.13 рдореЗрдВ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдзреНрд╡рдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред

@hmalphettes рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдмрд┐рд▓реНрдб рдХреЗ рдмреАрдЪ рд╕рд╛рдЭрд╛ рдирд┐рдЪрд▓реА рдкрд░рддреЛрдВ рдХреЗ рд▓рд╛рднреЛрдВ рдХреЛ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВред

рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕реНрдХреНрд╡реИрд╢ рдХрд╛ рдЗрд░рд╛рджрд╛ рдирд╣реАрдВ рд╣реИред рдЖрдИрдбреА рдЕрднреА рднреА рдЗрд╕ рддрд░рд╣ рдХреЗ рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВред

@zoidbergwill рдирд┐рдЪрд▓реА рдкрд░рддреЗрдВ рдЕрднреА рднреА рд╕рд╛рдЭрд╛ рдХреА рдЧрдИ рд╣реИрдВред

рдореИрдВ @cpuguy83 рд╕реЗ 100% рд╕рд╣рдордд рд╣реВрдВред рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рдмрд╛рд╣рд░ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдб рдЯрд╛рдЗрдо рдлреНрд▓реИрдЧ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ рдХрд╛рдлреА рдЬреЛрдЦрд┐рдо рднрд░рд╛ рд╣реЛрдЧрд╛ред рдирд┐рд░реНрдорд╛рдг рд╕рдордп рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╕реНрддрд╛рд╡ рдкреАрдЖрд░ рдерд╛ (https://github.com/docker/docker/pull/30637) рдореИрдВ рдЕрдзрд┐рдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд░рд┐рдмреЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░реВрдВрдЧрд╛ред

@wpalmer рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЫрд╡рд┐ рдмрдирд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЗ рдЯреВрд▓рд┐рдВрдЧ рдХреЛ рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдмрд┐рд▓реНрдб-рдЯрд╛рдЗрдо рд░рд╣рд╕реНрдп рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред

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

рдбрдмреНрд▓реВрдбреАрд╡рд╛рдИрдЯреА?

рд╣рдо рд░рдирдЯрд╛рдЗрдо рд╕реАрдХреНрд░реЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдмрд┐рд▓реНрдб-рдЯрд╛рдЗрдо рд╕реАрдХреНрд░реЗрдЯреНрд╕ рдХреЛ рднреНрд░рдорд┐рдд рдХреНрдпреЛрдВ рдХрд░рддреЗ рд░рд╣рддреЗ рд╣реИрдВ? рд░рдирдЯрд╛рдЗрдо рд░рд╣рд╕реНрдп рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЙрдХрдЯрд░ (рдпрд╛ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдЬреИрд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЯреВрд▓) рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрдИ рдЕрдЪреНрдЫреЗ рддрд░реАрдХреЗ рд╣реИрдВред рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЧрд╛рдпрдм рд╣реИ рд╡рд╣ рд╣реИ рдмрд┐рд▓реНрдб-рдЯрд╛рдЗрдо рд╕реАрдХреНрд░реЗрдЯреНрд╕ред рдЗрди рд░рд╣рд╕реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рд░рди рдЯрд╛рдЗрдо рдХреЗ рджреМрд░рд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдЗрдВрд╕реНрдЯреЙрд▓ рд╕рдордп рдХреЗ рджреМрд░рд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╣ рдЖрдВрддрд░рд┐рдХ рднрдВрдбрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рд╖рдпреЛрдВ рдореЗрдВ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдПрдХрдорд╛рддреНрд░ рдХрд╛рдордХрд╛рдЬреА рддрд░реАрдХрд╛ (рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдЦрд┐рд▓рд╛рдл рднреА рд╕рд▓рд╛рд╣ рджреА рдЧрдИ рд╣реИ), рдирд┐рд░реНрдорд╛рдг рд╕рдордп рдХреЗ рджреМрд░рд╛рди рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдПрдХ http рд╕рд░реНрд╡рд░ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░ рд░рд╣рд╛ рд╣реИред http рд╕рд░реНрд╡рд░ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЪреАрдЬреЛрдВ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрди рд░рд╣рд╕реНрдпреЛрдВ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдЯрд┐рд▓ рдмрдирд╛ рджреЗрддрд╛ рд╣реИред

+1 рдмрд┐рд▓реНрдб рдЯрд╛рдЗрдо рд╕реАрдХреНрд░реЗрдЯ!= рд░рди рдЯрд╛рдЗрдо рд╕реАрдХреНрд░реЗрдЯ

рдЬреИрд╕рд╛ рдХрд┐ рдкреЙрд▓ рдмрддрд╛рддреЗ рд╣реИрдВред рдЖрдВрддрд░рд┐рдХ рднрдВрдбрд╛рд░ рдХреЛ рд╕реЗрдВрдХрдирд╛ рд╡рд╛рдВрдЫрдиреАрдп рдирд╣реАрдВ рд╣реИ
рдЫрд╡рд┐ рдореЗрдВ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ред

рдпрд╣ рд╕рдордЭрдирд╛ рдЗрддрдирд╛ рдХрдард┐рди рдХреНрдпреЛрдВ рд╣реИ?

рдЧреБрд░реБ, 16 рдлрд░рд╡рд░реА 2017, 14:42 рдкреЙрд▓ рд╡реИрди рдбреЗрд░ рд▓рд┐рдВрдбреЗрди, рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com . рдкрд░
рд▓рд┐рдЦрд╛ рдерд╛:

рд╣рдо рд░рдирдЯрд╛рдЗрдо рд╕реАрдХреНрд░реЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдмрд┐рд▓реНрдб-рдЯрд╛рдЗрдо рд╕реАрдХреНрд░реЗрдЯреНрд╕ рдХреЛ рднреНрд░рдорд┐рдд рдХреНрдпреЛрдВ рдХрд░рддреЗ рд░рд╣рддреЗ рд╣реИрдВ? рд╡рд╣рд╛рдВ
docker (рдпрд╛ рд╕рдВрдмрдВрдзрд┐рдд рдЙрдкрдХрд░рдг рдЬреИрд╕реЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕) рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрдИ рдЕрдЪреНрдЫреЗ рддрд░реАрдХреЗ рд╣реИрдВ
рд░рдирдЯрд╛рдЗрдо рд░рд╣рд╕реНрдп рдкреНрд░рджрд╛рди рдХрд░реЗрдВред рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЧрд╛рдпрдм рд╣реИ рд╡рд╣ рд╣реИ рдмрд┐рд▓реНрдб-рдЯрд╛рдЗрдо
рд░рд╣рд╕реНрдп рдЗрди рд░рд╣рд╕реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рд░рди рдЯрд╛рдЗрдо рдХреЗ рджреМрд░рд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗ рджреМрд░рд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рд╕рдордп рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╣ рдЖрдВрддрд░рд┐рдХ рднрдВрдбрд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдХреЗрд╡рд▓
рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдореИрдВрдиреЗ рдЗрд╕рдореЗрдВ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд┐рд╖рдпреЛрдВ рдореЗрдВ рджреЗрдЦрд╛ рд╣реИ (рд▓реЗрдХрд┐рди рд╕рд▓рд╛рд╣ рднреА рджреА рд╣реИ
рдЗрд╕рдХреЗ рдЦрд┐рд▓рд╛рдл), рдирд┐рд░реНрдорд╛рдг рд╕рдордп рдХреЗ рджреМрд░рд╛рди рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдПрдХ http рд╕рд░реНрд╡рд░ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░ рд░рд╣рд╛ рд╣реИред
http рд╕рд░реНрд╡рд░ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЪреАрдЬреЛрдВ рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреАрдЬреЛрдВ рдХреЛ рдЬрдЯрд┐рд▓ рдмрдирд╛ рджреЗрддрд╛ рд╣реИ
рдЙрди рд░рд╣рд╕реНрдпреЛрдВред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/docker/docker/issues/13490#issuecomment-280348116 ,
рдпрд╛ рдереНрд░реЗрдб рдХреЛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AAZk5h0Z2OGwApVnLNEFWKRdOfGxLOmRks5rdGBagaJpZM4Eq021
.

@pvanderlinden рдЖрдк рдЗрд╕реЗ рджреЛ рдЪрд░рдгреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рд╛рде рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг: https://github.com/BenoitNorrin/docker-build-with-secrets

@timka рдЬреИрд╕рд╛ рдХрд┐ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЫрд╡рд┐ рдореЗрдВ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рд╕реЗрдВрдХрдирд╛ рд╡рд╛рдВрдЫрдиреАрдп рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рд╕реЗ рд╕реБрд░рдХреНрд╖рд╛ рдЬреЛрдЦрд┐рдо рд╣реЛрддрд╛ рд╣реИред рдпрд╣рд╛рдБ рд╕рдордп рд░рд╣рд╕реНрдп рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИ: https://github.com/docker/docker/pull/30637

@BenoitNorrin рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдореЗрд░реЗ (рдФрд░ рдЕрдиреНрдп) рдорд╛рдорд▓реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдЧрд╛ред
рдЬрдм рдореИрдВ рдбреЙрдХрд░ рдмрд┐рд▓реНрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдЬрд┐рди рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд╡реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдирд┐рд░реНрдорд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдбреЙрдХрдЯрд░ рдмрд┐рд▓реНрдб рдХреЛ рдЗрди рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдВрддрд░рд┐рдХ рдПрдирд╛рдХреЛрдВрдбрд╛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдФрд░/рдпрд╛ рдкреАрдкреАрдЖрдИ рд╕рд░реНрд╡рд░ (рдкрд╛рдпрдерди) рддрдХ рдкрд╣реБрдВрдЪ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рд╕реНрдерд╛рди рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдмреЗрд╢рдХ рдирд┐рдЬреА рд╣реИрдВред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ #30637 рдПрдХ рдФрд░ рдкреНрд░рдпрд╛рд╕ рд╣реИ, рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдбреЙрдХрдЯрд░ рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛!

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

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

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

FYI рдХрд░реЗрдВ, рдореИрдВрдиреЗ рдмрд┐рд▓реНрдб-рдЯрд╛рдЗрдо рд╕реАрдХреНрд░реЗрдЯреНрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП https://github.com/abourget/secrets-bridge рд▓рд┐рдЦрд╛ рдерд╛ред

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

рд╕рд░реНрд╡рд░ SSH рдПрдЬреЗрдВрдЯ рдлрд╝реЙрд░рд╡рд░реНрдбрд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ TLS рд╡реЗрдмрд╕реЛрдХреЗрдЯ рд╕рдВрдЪрд╛рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЯрдирд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!

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

рдореЗрд░рд╛ рдорд╛рдорд▓рд╛ рдореИрдВ 'рдбреЙрдХрд░ рдмрд┐рд▓реНрдб' рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд░реЙрдХрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ or
рдХреБрдЫ рдЕрдЧрд░ рдореЗрд░реА рдЕрдкрдиреА рд░рдЪрдирд╛ред

рдЧреБрд░реБ, 13 рдЬреБрд▓рд╛рдИ 2017, 16:23 рдЕрд▓реЗрдХреНрдЬреЗрдВрдбреНрд░реЗ рдмреЛрд░реНрдЬреЗрдЯ рдкрд░, рд╕реВрдЪрдирд╛рдПрдВ @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

FYI рдХрд░реЗрдВ, рдореИрдВрдиреЗ https://github.com/abourget/secrets-bridge рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдерд╛
рдмрд┐рд▓реНрдб-рдЯрд╛рдЗрдо рд░рд╣рд╕реНрдп рд╕рдорд╕реНрдпрд╛ред

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

рд╕рд░реНрд╡рд░ SSH рдПрдЬреЗрдВрдЯ рдлрд╝реЙрд░рд╡рд░реНрдбрд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ TLS рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЯрдирд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рд╡реЗрдмрд╕реЛрдХреЗрдЯ рд╕рдВрдЪрд╛рд░ред рдпрд╣ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкрд░ рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ!

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/13490#issuecomment-315111388 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAZk5hZqTAgPBjS9cFP_IsYNa9wv-yoAks5sNjaBgaJpZM4Eq021
.

рдпрд╣рд╛рдБ рдирд╡реАрдирддрдо рд░рд╣рд╕реНрдп рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИ: https://github.com/moby/moby/issues/33343

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд┐рдЫрд▓реЗ рдбреЙрдХрд░ рд╕реАрдИ рд░рд┐рд▓реАрдЬ рдХреЗ рдЕрдВрджрд░ рд╢рд╛рдорд┐рд▓ рдирдИ "рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдЬ рдмрд┐рд▓реНрдб" рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣рдорд╛рд░реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣рд▓ рдХрд░рддреА рд╣реИред

https://docs.docker.com/engine/userguide/eng-image/multistage-build/

Dockerfile рд╕реЗ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдХрдВрдЯреЗрдирд░ рдкрдХреЗ рд╣реБрдП /dev рд╕рд╛рде рдЖрддреЗ рд╣реИрдВ рдФрд░ рд╡рд╣рд╛рдВ рдХрд┐рдП рдЧрдП рдХреЛрдИ рднреА рдкрд░рд┐рд╡рд░реНрддрди рдПрдХ рдкрд░рдд рдореЗрдВ рджрд░реНрдЬ рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдПред рдХреНрдпрд╛ рдбреЛрдХрд░ рдЙрд╕ рдЖрд░реЛрд╣ рдмрд┐рдВрджреБ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд░рд╣рд╕реНрдп рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ? рдЗрд╕реА рддрд░рд╣ рдпрд╣ /dev/init рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ?

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

рдпрд╣ рдЕрдЧрд╕реНрдд 2017 рд╣реИред рдЗрд╕ рдмреАрдЪ 2014 рд╕реЗ рдореБрджреНрджреЛрдВ рдХреЗ рдореВрд▓ рдореБрджреНрджреЗ рд▓рд┐рдВрдХ рдореЗрдВ "рд░рд╣рд╕реНрдп рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рдкреБрд░рд╛рдиреЗ рдкреНрд░рд╕реНрддрд╛рд╡"ред

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

рдЗрд╕ рджреМрд░рд╛рди

рдирд╡ рд╕реНрдерд╛рдкрд┐рдд рд╕реАрдИрдУ рд╕реНрдЯреАрд╡ рд╕рд┐рдВрд╣ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ
рдмрд┐рдХреНрд░реА, рдорд╛рд░реНрдХреЗрдЯрд┐рдВрдЧ рдЯреАрдо рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП $75 рдорд┐рд▓рд┐рдпрди рдХрд╛ рдирд╡реАрдирддрдо рджреМрд░


рдпреВрдкреАрдбреА : рдЬреИрд╕рд╛ рдХрд┐

рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди secrets-bridge рдЕрднреА рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

@dmitriid рдореИрдВ рдЖрдкрдХреА рд╣рддрд╛рд╢рд╛ рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдЧрд╛рдпрдм рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдПрдХ рдУрдкрди рд╕реЛрд░реНрд╕ рд╕рдореБрджрд╛рдп (рдпрд╛ рдХрд┐рд╕реА рд╕рдореБрджрд╛рдп) рдХреЛ рдХреИрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПред

рдореИрдВрдиреЗ рдКрдкрд░ рдПрдХ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдореЗрд░реЗ рдЕрдкрдиреЗ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдЗрд╕ рдкрд░ рдмрд┐рд▓реНрдХреБрд▓ 0 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рджреЗрдЦреА рд╣реИрдВред

рдпрд╣рд╛рдБ рдирд╡реАрдирддрдо рд░рд╣рд╕реНрдп рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИ: #33343

@cpuguy83 рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛! рдореИрдВ рдЗрд╕ рдЪрд░реНрдЪрд╛ рдХреЗ рдЕрдВрддрд┐рдо рддреАрд╕рд░реЗ (рдФрд░ рдХреБрдЫ рдЕрдиреНрдп) рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реА рдЪреАрдЬреЗрдВ рд╣реИрдВ (рдЬрдмрдХрд┐ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╕рдорд╛рдзрд╛рди рдХреА рддрд▓рд╛рд╢ рдореЗрдВ), рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдкрдХреА рдЯрд┐рдкреНрдкрдгреА рдпрд╛рдж рдЖрдИ, рдХреНрд╖рдорд╛ рдХрд░реЗрдВ :(

рдпрд╣ рд╕рд┐рд▓рд╕рд┐рд▓рд╛ 2015 рдореЗрдВ рд╢реБрд░реВ рд╣реБрдЖ рдерд╛ред

2017 рд╣реИред

рдмрд┐рд▓реНрдб-рдЯрд╛рдЗрдо рд░рд╣рд╕реНрдпреЛрдВ рдХрд╛ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ рдЬреЛ рд╣реИрдХрд┐рд╢ рдФрд░ рднрдпрд╛рдирдХ рдирд╣реАрдВ рд╣реИ, рдлрд┐рд░ рднреА? рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝рд╛ рдореБрджреНрджрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрднреА рднреА рдХреЛрдИ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ!

@mshape

рдмрд┐рд▓реНрдб-рдЯрд╛рдЗрдо рд░рд╣рд╕реНрдпреЛрдВ рдХрд╛ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ рдЬреЛ рд╣реИрдХрд┐рд╢ рдФрд░ рднрдпрд╛рдирдХ рдирд╣реАрдВ рд╣реИ, рдлрд┐рд░ рднреА?

рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдареАрдХ рд╕реЗ рд╣рд▓ рдХрд░рдирд╛ рдПрдХ рдХрдард┐рди рд╕рдорд╕реНрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдПрдХ рдРрд╕реА рдЪреАрдЬ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдЪрдореБрдЪ рд▓рд╛рдЦреЛрдВ рд▓реЛрдЧ рдХрд░реЗрдВрдЧреЗред

рдХреГрдкрдпрд╛ рдореЗрд░реА рдЯрд┐рдкреНрдкрдгреА рдХреЛ рдЕрдкрдиреЗ рдКрдкрд░ рджреЗрдЦреЗрдВ:

рдореИрдВрдиреЗ рдКрдкрд░ рдПрдХ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдореЗрд░реЗ рдЕрдкрдиреЗ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдЗрд╕ рдкрд░ рдмрд┐рд▓реНрдХреБрд▓ 0 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рджреЗрдЦреА рд╣реИрдВред
рдпрд╣рд╛рдБ рдирд╡реАрдирддрдо рд░рд╣рд╕реНрдп рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИ: #33343

рдпрджрд┐ рдЖрдк рдХреБрдЫ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рд╢рд┐рдХрд╛рдпрдд рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдФрд░ рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдХрд┐ рдХреБрдЫ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред рдХреГрдкрдпрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ!

рдЗрд╕реЗ рд╣рд▓ рдХрд░рдирд╛ рдЗрддрдирд╛ рдЖрд╕рд╛рди рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрд╕ рдХреБрдЫ рдЪрд╛рд╣рд┐рдП, рдХреБрдЫ рднреА рдЬреЛ рдирд╣реАрдВ рд╣реИ
рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ рдмреЗрдХ рдХрд┐рдпрд╛ рд╣реБрдЖред рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ, рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрдВрдж рдХрд░реЗрдВ
'рдбреЙрдХрд░ рдмрд┐рд▓реНрдб' рдФрд░ рдкрд╛рдпрдерди рдПрдкреАрдЖрдИ, рд░реЙрдХрд░, рдпрд╛ рдХреБрдЫ рдФрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдмреБрдзрд╡рд╛рд░ 23 рдЕрдЧрд╕реНрдд, 2017 рдХреЛ рд░рд╛рдд 9:42 рдмрдЬреЗ, рдмреНрд░рд╛рдпрди рдЧреЛрдл рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

@mshape https://github.com/mshape

рдмрд┐рд▓реНрдб-рдЯрд╛рдЗрдо рд░рд╣рд╕реНрдпреЛрдВ рдХрд╛ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реИ рдЬреЛ рд╣реИрдХрд┐рд╢ рдирд╣реАрдВ рд╣реИ рдФрд░
рднрдпрд╛рдирдХ, рдЕрднреА рддрдХ?

рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдареАрдХ рд╕реЗ рд╣рд▓ рдХрд░рдирд╛ рдПрдХ рдХрдард┐рди рд╕рдорд╕реНрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬреЛ
рд╕рдЪрдореБрдЪ рд▓рд╛рдЦреЛрдВ рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдХреГрдкрдпрд╛ рдореЗрд░реА рдЯрд┐рдкреНрдкрдгреА рдХреЛ рдЕрдкрдиреЗ рдКрдкрд░ рджреЗрдЦреЗрдВ:

рдореИрдВрдиреЗ рдКрдкрд░ рдПрдХ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рдкрд░ рдмрд┐рд▓реНрдХреБрд▓ 0 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рджреЗрдЦреА рд╣реИрдВ
рдпрд╣ рдореЗрд░реЗ рдЕрдкрдиреЗ рдХреЛ рдЫреЛрдбрд╝рдХрд░ред
рдпрд╣рд╛рдБ рдирд╡реАрдирддрдо рд░рд╣рд╕реНрдп рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИ: #33343
https://github.com/moby/moby/issues/33343

рдпрджрд┐ рдЖрдк рдХреБрдЫ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рд╣реЛрддреЗ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рдЗрд╕рд╕реЗ рдЕрдзрд┐рдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА
рд╢рд┐рдХрд╛рдпрдд рдХрд░реЗрдВ рдХрд┐ рдХреБрдЫ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХреГрдкрдпрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ!

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/13490#issuecomment-324441280 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAZk5oEpcipmfCji1mXz6MOVt0p6-OA6ks5sbIC0gaJpZM4Eq021
.

@binarytemple рдореИрдВрдиреЗ рд░реЙрдХрд░ рдХреЛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ

рдпрд╣ рдЕрдЬреАрдм рд╣реИред рдореИрдВ рд▓реЛрдЧреЛрдВ рд╕реЗ рдмрд╛рдд рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рд╡реЗ рд╣рд░ рддрд░рд╣ рдХреА рдмреЗрд╡рдХреВрдлреА рднрд░реА рд╣реИрдХреНрд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ
рдЬреИрд╕реЗ HTTP рд╕реЗрд╡рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ - рд╕рдм рдХреБрдЫ рдлреЗрдВрдХ рджреЗрдирд╛ (рдирд┐рдЧрд░рд╛рдиреА/рджрд╛рдиреЗрджрд╛рд░)
рдЕрдиреБрдорддрд┐рдпрд╛рдБ/рд╕рд╛рджрдЧреА) POSIX/SELinux рдХреЙрдореНрдмреЛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдмрд╕ рдирд╣реАрдВ
рд╕рдордЭрдирд╛ред рдЗрдирдХрд╛рд░ рдореБрдЭреЗ рдЕрддрд╛рд░реНрдХрд┐рдХ рд▓рдЧрддрд╛ рд╣реИред

рдмреБрдзрд╡рд╛рд░ рдХреЛ, 23 рдЕрдЧрд╕реНрдд 2017, 23:03 рдорд╛рдЗрдХрд▓ рд╕реНрдХреЙрдЯ рд╢реЗрдк рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:

@binarytemple https://github.com/binarytemple рдореИрдВрдиреЗ рджреЗрдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ рд╣реИ
рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рдШреБрдорд╛рд╡, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ...рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЗрд╕ рдЕрдЬреАрдм рдХреА рд╡рдЬрд╣ рд╕реЗ
рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдорд╛рдирд╕рд┐рдХ рдмреНрд▓реЙрдХ рдбреЙрдХрд░ рдореЗрдВ рдмрд┐рд▓реНрдб-рдЯрд╛рдЗрдо рд╕реАрдХреНрд░реЗрдЯреНрд╕ рд╣реИрдВред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/13490#issuecomment-324461257 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAZk5ppZYsOhdfvgotCUk5l41Truo_EEks5sbJOLgaJpZM4Eq021
.

рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдЬ рдбреЙрдХрд░ рдмрд┐рд▓реНрдб рдЗрдирдореЗрдВ рд╕реЗ рдХрдИ рдореБрджреНрджреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред

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

рд╣рдорд╛рд░рд╛ рдмрд┐рд▓реНрдб рд╕рд░реНрд╡рд░ рд╡реЙрд▓реНрдпреВрдо рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдЙрдВрдЯ рдХрд┐рдП рдЧрдП рдХреБрдЫ рд░рд╣рд╕реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдЪрд▓рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реА рд╕реАрдЖрдИ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ f.ex. /mnt/secrets/.npmrc рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВред рдлрд┐рд░ рд╣рдо рдиреАрдЪреЗ рд╡рд╛рд▓реЗ рдХреЗ рд╕рдорд╛рди рдПрдХ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

FROM node:latest
WORKDIR /usr/src/app
COPY .npmrc .
RUN echo '{ "dependencies": [ "lodash" ] }' > package.json
RUN npm install
RUN ls -lah

FROM alpine:latest
WORKDIR /usr/src/app
COPY --from=0 /usr/src/app/node_modules ./node_modules
RUN ls -lah
CMD ["ls", "./node_modules"]

рдкрд░рд┐рдгрд╛рдореА рдЫрд╡рд┐ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рд╣реЛрдВрдЧреА, рд▓реЗрдХрд┐рди .npmrc рдпрд╛ рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рдХрд┐рд╕реА рднреА рдЕрдВрд╢ рдкрд░ рдирд╣реАрдВред

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

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

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

рдпрд╣ рднрдпрд╛рд╡рд╣ рд╣реИред рд╕реНрд╡-рдШреЛрд╖рд┐рдд "рджреБрдирд┐рдпрд╛ рдХрд╛ рдЕрдЧреНрд░рдгреА рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХрдВрдЯреЗрдирд░ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо" рдХреЛ рдкрд┐рдЫрд▓реЗ 3 рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдмрд┐рд▓реНрдб-рдЯрд╛рдЗрдо рд╕реАрдХреНрд░реЗрдЯреНрд╕ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЬрд╣рдордд рдирд╣реАрдВ рдЙрдард╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИред

"рд╣рдо рдмреЗрд╣рддрд░ рдЬрд╛рдирддреЗ рд╣реИрдВ" рдФрд░ "рдЧрд▓рддрд┐рдпреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рд╡рд╛рд▓рд╛ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рди рдмрдирд╛рдПрдВ" рджреГрд╖реНрдЯрд┐рдХреЛрдг рдФрд░ рдЬрд┐рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдЪрд░рдг рдореЗрдВ рджреБрд░реНрднрд╛рдЧреНрдпрдкреВрд░реНрдг рдЪреВрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рджреЗрд╡рдУрдкреНрд╕ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреА рдЖрд╡рд╢реНрдпрдХ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдорд░реНрдерди рдФрд░ рдХреЛрдИ рджреГрд╢реНрдпрдорд╛рди рдкреНрд░рдЧрддрд┐ рдирд╣реАрдВ рд╣реИред рд╕рднреА рд╕рдореБрджрд╛рдп рдиреЗ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдФрд░ рдХрднреА-рдХрднреА рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рд╡рд┐рд▓рдп-рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рдмрд┐рдВрджреБ рддрдХ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдП рдЧрдП рд╕реБрдзрд╛рд░реЛрдВ рдХреЛ рдХрд┐рд╕реА рдХреЗ рджреБрд░реБрдкрдпреЛрдЧ рдХреЗ рдбрд░ рд╕реЗ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк ... рд╡рд┐рдлрд▓рддрд╛, рдХреЗрд╡рд▓ рдбреЙрдХ рдХрдВрдЯреЗрдирд░ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдЪрд░рдг рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдирд┐рдЬреА рдХреБрдВрдЬреА рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд╕рднреА рддрд░реАрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрди рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рдирд┐рд░реНрдорд╛рдг рдЗрддрд┐рд╣рд╛рд╕ рдореЗрдВ рд╕рд╣реЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реВрдЪреА рдореЗрдВ рдЗрд╕ рдЙрдореНрдореАрдж рдХреЗ рд╕рд╛рде рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдХрд┐, рдХреНрд░рдорд╢рдГ, рдирд┐рд░реНрдорд╛рдг рдЗрддрд┐рд╣рд╛рд╕ рдХрднреА рдирд╣реАрдВ рдЫреЛрдбрд╝рддрд╛ рд╣реИ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдорд╢реАрди рдпрд╛ рдХреЛрдИ рдирд╣реАрдВ рдЬрд┐рд╕реЗ рдХрднреА рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реВрдЪреА рдХреЛ рдирд╣реАрдВ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЬрд┐рдирдореЗрдВ рд╕реЗ рджреЛрдиреЛрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЕрдиреБрдореЗрдп рд╕реБрд░рдХреНрд╖рд╛ рдСрдбрд┐рдЯ рдореЗрдВ рднреА рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред

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

@OJezu рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХрдИ рдмрд╛рд░ рдХрд╣рд╛ рд╣реИ, рдЗрд╕ рдкрд░ рдореВрд▓ рд░реВрдк рд╕реЗ 0 рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЦреБрд▓рд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИред
рдпрджрд┐ рдЖрдк рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реБрдП рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдирд┐рдХрд╛рд▓реЗрдВред

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

рдЪреАрдЬреЗрдВ рдЕрдХреНрд╕рд░ рд░реБрдХреА рд╣реБрдИ рджрд┐рдЦ рд╕рдХрддреА рд╣реИрдВ, рдЬрдм рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдореЗрдВ рдореЗрд╣рдирддреА рд▓реЛрдЧ рд╣реЛрддреЗ рд╣реИрдВред
рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП, github.com/moby/buildkit рджреЗрдЦреЗрдВ рдЬрд╣рд╛рдВ рдпрд╣ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рд░реНрдп рдЖрдЬ рд╣реЛ рд░рд╣рд╛ рд╣реИред

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

рдореИрдВ рдереЛрдбрд╝рд╛ рд╕рддрд░реНрдХ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдЬ рдореИрдВрдиреЗ рдХрд┐рд╕реА рдРрд╕реА рдЪреАрдЬ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдореЗрдВ 9 рдШрдВрдЯреЗ рдмрд┐рддрд╛рдП рдЬреЛ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдХ рдРрд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЬреЛ рдкреВрд░реНрдгрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реЛ рдФрд░ рдЦреБрдж рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдорд╛рдирдХ рдФрд░ рдЧреЛ-рдЯреВ рд╕реЛрд▓рд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реЛред . рдореИрдВ рдмрд╣реБрдд рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдЗрди рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рд▓рд┐рдЦрддреЗ рд╕рдордп рдХрд╕рдо рди рдЦрд╛рдКрдВ рдФрд░ рдЦреБрдж рдХреЛ рдиреБрдХрд╕рд╛рди рдкрд╣реБрдВрдЪрд╛рдирд╛ рдмрдВрдж рдХрд░ рджреВрдВред

рдореИрдВрдиреЗ рдЙрд╕ рдореБрджреНрджреЗ рдХреЛ рджреЗрдЦрд╛, рдФрд░ рджреЛ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рджреЗрдЦреЗ, рдПрдХ рдЕрдкреНрд░реИрд▓ рд╕реЗ рд░реБрдХрд╛ рд╣реБрдЖ рдерд╛, рджреВрд╕рд░рд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрдВрдж рдерд╛ред рдореИрдВ рдорджрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рд▓реЗрдХрд┐рди рдзреНрдпрд╛рди рджреЗрдВ, рдХрд┐ 0 рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдкреНрд░рд╕реНрддрд╛рд╡ рдореЗрдВ 4 рдкреНрд░рддрд┐рднрд╛рдЧреА рд╣реИрдВ, рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреА рд╕рдорд╛рди рд╕рдВрдЦреНрдпрд╛ рд╣реИ, рдФрд░ рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рдЖрдВрддрд░рд┐рдХ рдЪрд░реНрдЪрд╛ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рд╣реИ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд▓реЛрдЧ . рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдХрд┐рд╕реА рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬреЛ рдЬрд╛рдиреЗ рдореЗрдВ рднреА рдХрд╛рд░реНрдпрдХреНрд░рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдкрд┐рдЫрд▓реА рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдореИрдВрдиреЗ рдЬрд┐рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдЫреБрдЖ рдерд╛, рдЙрди рдкрд░ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рдЪрд╛рд░ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

@OJezu

рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЖрд╕рд╛рди рд╕рдорд╛рдзрд╛рди рд╣реИ: рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд░реНрдкрд┐рдд рд╕реЗрд╡рд╛ (рдЬреИрд╕реЗ рдЬреЗрдирдХреАрдВрд╕ рдкрд░ рдЪрд▓рд╛рдирд╛) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдЖрдкрдХреА рдЫрд╡рд┐ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕ рд╕реЗрд╡рд╛ рдХреЛ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХрд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рд╛рд╡рдзрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЦрддреНрдо рд╣реЛрдиреЗ рдкрд░ рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЛ рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╕реНрдерд╛рди (рдЬреИрд╕реЗ рдЬреЗрдирдХрд┐рдВрд╕) рдкрд░ рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред рдЙрди рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдореЗрдВ рдХреЛрдИ рд░рд╣рд╕реНрдп рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдХреЗрд╡рд▓ рдмрд╛рдЗрдирд░реА/рд╕реНрд░реЛрдд/рдЖрджрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реЛрдЧреАред
рдлрд┐рд░ рдПрдХ рдЕрдиреНрдп рд╕реЗрд╡рд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреНрдп рдЬреЗрдирдХрд┐рдВрд╕ рдЬреЙрдм) рдЙрди рдкреВрд░реНрд╡рдирд┐рд░реНрдорд┐рдд рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рдмрдирд╛рдПрдЧреА рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЫрд╡рд┐ рдореЗрдВ рдмрджрд▓ рджреЗрдЧреА, рдЬрд┐рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдЫрд╡рд┐ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рдзрдХреЗрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ рдбреЗрд╡рд▓рдкрд░/рдЙрддреНрдкрд╛рджрди рдорд╢реАрдиреЛрдВ рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП rbac/keys рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╣реИред

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

Build pipeline

@Vanuan рдкреИрдХреЗрдЬрд┐рдВрдЧ рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рд╕рд╛рде рд╕рднреА рднрд╛рд╖рд╛рдПрдВ рдЗрддрдиреА рд╕рд░рд▓ рдирд╣реАрдВ рд╣реИрдВ, рдмрд╕ рдПрдХ рдЖрд░реНрдЯрд┐рдлреИрдХреНрдЯ рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдЙрджрд╛рд╣рд░рдг?

рдкрд╛рдпрдерди рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рдЕрдкрдиреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рд╕рдордп рдкрд░ рдирд╣реАрдВ рдмрд▓реНрдХрд┐ рд╕реНрдерд╛рдкрд┐рдд рд╕рдордп рдкрд░ рдЦреАрдВрдЪрддреА рд╣реИрдВред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рдирд┐рдЬреА pypi/conda рднрдВрдбрд╛рд░ (рдкрд╛рд╕рд╡рд░реНрдб рд╕рдВрд░рдХреНрд╖рд┐рдд) рд╕реЗ

рдЗрд╕рд▓рд┐рдП? рд╕реНрдерд╛рдкрдирд╛ рдХреЛ рдЕрдкрдиреА рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрдирд╛рдПрдВ рдФрд░ рдлрд┐рд░ рд╕реНрдерд╛рдкрд┐рдд рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдПрдХ рдирдИ рдЫрд╡рд┐ рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВред

рдЖрдкрдХреЛ рдмрд╕ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдХрд┐ рдЖрдкрдХреА рдмрд┐рд▓реНрдб рдЗрдореЗрдЬ рдФрд░ рдЖрдкрдХреА рдкреНрд░реЛрдбрдХреНрд╢рди рдЗрдореЗрдЬ рдПрдХ рд╣реА рдкрд╛рдпрдерди рдмреЗрд╕ рдЗрдореЗрдЬ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИрдВред

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

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

рдХреНрдпрд╛ рдЖрдк рдЕрдкрдиреЗ рдкрд╣рд▓реЗ рдЪрд░рдг рдХреЗ рдирд┐рд░реНрдорд╛рдг рдореЗрдВ рдХреЗрд╡рд▓ pip install requirements.txt рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЗ рдирд┐рдЬреА рднрдВрдбрд╛рд░реЛрдВ рд╕реЗ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд░рд╣рд╕реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рд╣реИред рдлрд┐рд░ рдЕрдЧрд▓рд╛ рдЪрд░рдг рдмрд┐рд▓реНрдб рдкрд╣рд▓реЗ рдЪрд░рдг рд╕реЗ рд╕рд╛рдЗрдЯ-рдкреИрдХреЗрдЬреЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рддрд╛ рд╣реИред

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

рдХреНрдпреЛрдВ рдирд╣реАрдВ? рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП Dockerfile рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕реБрд╕рдВрдЧрдд рд╣реИред

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

рдбреЙрдХрд░рдлрд╛рдЗрд▓ рд╕рдВрджрд░реНрдн рдкрдврд╝реЗрдВ:
https://docs.docker.com/engine/reference/builder/

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдореБрдЦреНрдп рд░реВрдк рд╕реЗ RUN рдирд┐рд░реНрджреЗрд╢ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдпрд╣ рд╕реЛрдЪрдХрд░ рдХрд┐ Dockerfile рдЖрдкрдХреЗ рд▓рд┐рдП Makefile рдХрд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╣реИред рдпрд╣ рдирд╣реАрдВред рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдХреЗ рд▓рд┐рдП рд╣реИ: рдХреБрдЫ рд╕реНрд░реЛрдд рд╕рд╛рдордЧреНрд░реА рд╕реЗ рдПрдХ рдЫрд╡рд┐ рдмрдирд╛рдПрдВред рд╡рд╣ рд╕реНрд░реЛрдд рд╕рд╛рдордЧреНрд░реА рдХреНрдпрд╛ рд╣реЛрдЧреА - http рдпрд╛ git рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдкрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ рдмрд╛рдЗрдирд░реА - рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ред рдбреЙрдХрд░ рдХреЛ рдЖрдкрдХрд╛ рд╕реАрдЖрдИ рд╕рд┐рд╕реНрдЯрдо рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рднрд▓реЗ рд╣реА рдЖрдк рдЗрд╕реЗ рдХреБрдЫ рд╢рд░реНрддреЛрдВ рдХреЗ рддрд╣рдд рдПрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдореИрдВ рдПрдХ рдЯреНрд░реИрд╡рд┐рд╕ рдлрд╝рд╛рдЗрд▓ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реВрдВ, рдпрд╛ рдмрд╛рдВрд╕ рдореЗрдВ рдкреНрд░рд╡рд╛рд╣ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

рдпрджрд┐ рдЖрдк рдЕрдкрдиреА рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ, рдЫрд╡рд┐рдпреЛрдВ рдФрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдмрд┐рдирд╛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЖрдкрдХреЛ рдбреЙрдХрд░ рд╕реЗ рдкрд░реЗрд╢рд╛рди рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЖрдк рдХреНрдпреЛрдВ?

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

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

рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ docker build рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ docker build рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рдмреЗрд╢рдХ рдЖрдк рдПрдХ рдЖрддреНрдордирд┐рд░реНрднрд░ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХреЗ рдмрдЬрд╛рдп рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╕реНрдЯрдо Makefile рдпрд╛ build_image.sh рд╕реНрдХреНрд░рд┐рдкреНрдЯ рднреА рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдХрдИ рдиреБрдХрд╕рд╛рди рд╣реИрдВ:

  • рдХреНрд░реЙрд╕ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕рдВрдЧрддрддрд╛: рдбреЙрдХрд░рдлрд╝рд╛рдЗрд▓ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде, рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рднреА рд╕рд┐рд╕реНрдЯрдо рдЬреЛ docker build рд╕рдХрддрд╛ рд╣реИ рд╡рд╣ рдЫрд╡рд┐ рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ред рдПрдХ рдХрд╕реНрдЯрдо Makefile рдпрд╛ build_image.sh , рдореБрдЭреЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╡реЗ рд╕рднреА рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдореИрдВ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
  • рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЬреНрдЮрд╛рдд рдЗрдВрдЯрд░рдлрд╝реЗрд╕: рдпрджрд┐ рдЖрдк рдбреЙрдХрд░ рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдХрд┐рд╕реА рднреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП docker build рдХреЗ рдХреБрдЫ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдбреЙрдХрд░рдлрд╛рдЗрд▓ (рдЬреИрд╕реЗ рдХреИрд╢рд┐рдВрдЧ, рдЖрджрд┐ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ) рдХреЛ рджреЗрдЦреЗ рдмрд┐рдирд╛ рднреАред рдпрджрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╕реНрдЯрдо Makefile рдпрд╛ build_image.sh , рддреЛ рдореБрдЭреЗ рдкрд╣рд▓реЗ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдирд┐рд░реНрдорд╛рдг, рд╕рд╛рдл рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЖрджреЗрд╢ рд╣реИрдВ, рдкрд░рд┐рдгрд╛рдо рдХрд╣рд╛рдВ рдФрд░ рдХрд┐рд╕ рд░реВрдк рдореЗрдВ рд╣реИ, рдпрджрд┐ рд╡рд╣рд╛рдВ рд╣реИ рдХреБрдЫ рдХреИрд╢рд┐рдВрдЧ рд╣реИ рдФрд░ рдХрд┐рд╕ рд░реВрдк рдореЗрдВ...

рдУрд╣, рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдЖрддреНрдордирд┐рд░реНрднрд░ рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реИред рдЦрд╛рд╕рдХрд░ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдорд╛рд╣реМрд▓ рдХреЗ рд▓рд┐рдПред
рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЛ:

  • рдЕрдзрд┐рдХрд╛рдВрд╢ рдбреЗрд╡рд▓рдкрд░реНрд╕ docker build рд╕рднреА рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд▓рдЧрднрдЧ рд╕рднреА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреИрд╕реЗ рдЪрд▓рд╛рдирд╛ рд╣реИ
  • docker build рд╕рдВрджрд░реНрдн рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЬрдм рддрдХ рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рд╕реНрд░реЛрдд рд▓рд╛рдЗрди рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдерд╛рди рд╕реЗ рджреВрд╕рд░реЗ рд╕реНрдерд╛рди рдкрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ рдбреЗрдЯрд╛ (рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рдЖрдкрдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб) рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЛ рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред
  • рдЬрдм рддрдХ рдЖрдк рдЦрд░реЛрдВрдЪ рд╕реЗ рд╕рдм рдХреБрдЫ рдирд╣реАрдВ рдмрдирд╛рддреЗ рд╣реИрдВ, рддрдм рддрдХ рдЖрдкрдХреЗ рдкрд╛рд╕ рдбреЙрдХрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рд╣реИ
  • рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЖрдк рдУрдПрд╕ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА (рдЪрд╛рд╣реЗ рдЖрдк рдбреЗрдмрд┐рдпрди рдпрд╛ рдЕрд▓реНрдкрд╛рдЗрди-рдЖрдзрд╛рд░рд┐рдд рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ) рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛрдВрдЧреЗ, рдЬрдм рддрдХ рдХрд┐ рдЖрдк рдПрдХ рдХрдВрдЯреЗрдирд░ рдХреЛ рд╕реАрдзреЗ рд╕реНрдерд┐рд░ рд░реВрдк рд╕реЗ рдирд┐рд░реНрдорд┐рдд рдмрд╛рдЗрдирд░реА рдореЗрдВ рдмреВрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ
  • рдЬрдм рддрдХ рдЖрдк рд╕рдм рдХреБрдЫ рдЧрд┐рдЯ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреБрдЫ рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рд╕реНрддрд░реАрдп рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╣реЛрдВрдЧреА, рдЪрд╛рд╣реЗ рд╡рд╣ рдПрдирдкреАрдПрдо, рдкрд╛рдпрдерди рдкреИрдХреЗрдЬ рдЗрдВрдбреЗрдХреНрд╕, рд░реВрдмреАрдЧреЗрдореНрд╕ рдпрд╛ рдХреБрдЫ рдФрд░ рд╣реЛред рддреЛ рдЖрдк рдХреБрдЫ рдмрд╛рд╣рд░реА рдкреИрдХреЗрдЬ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдпрд╛ рдЙрд╕рдХреЗ рджрд░реНрдкрдг рдкрд░ рдирд┐рд░реНрднрд░ рд░рд╣реЗрдВрдЧреЗ
  • рдЬреИрд╕рд╛ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдЧреЛрдВ рдиреЗ рдпрд╣рд╛рдВ рджреЗрдЦрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреА рдирд┐рдЬреА рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЧреБрдкреНрдд рдкреИрдХреЗрдЬ рд╕реНрдерд╛рди рдкрд░
  • рдЙрд╕ рд╕реБрд░рдХреНрд╖рд┐рдд рд╕реНрдерд╛рди рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрдХреНрд░реЗрдЯ рдкреНрд░реЛрд╡рд┐рдЬрд╝рдирд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдХрд┐рд╕реА рдРрд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдирд┐рд░реНрднрд░ рд╣реЛрдВрдЧреЗ рдЬреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд░рд╣рд╕реНрдп рд╡рд┐рддрд░рд┐рдд рдХрд░реЗрдЧрд╛
  • рдбреЙрдХрдлрд╛рдЗрд▓ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЛ docker-compose.yml рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдФрд░ рдпрд╣ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдирд╣реАрдВ рд╣реИ: рдЖрдк рдЕрднреА рднреА рдлрд╝реЙрд░рд╡рд░реНрдб- /рдмреИрдХрд╕реНрд▓реИрд╢ рдЕрдВрддрд░ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИрдВред

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

Dockerfile рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕рдВрдЧрддрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЖрдкрдХреЛ рдЕрднреА рднреА рдХрдИ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рдХрдИ Dockerfiles рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рд╣реИред "рдбреЙрдХрд░ рдмрд┐рд▓реНрдб рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ" рдХрд╛ рдЕрд░реНрде рдЕрдм "рд▓рд┐рдирдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ" рдирд╣реАрдВ рд╣реИред рдбреЙрдХрд░ рд╡рд┐рдВрдбреЛрдЬ рдореВрд▓ рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рднреА рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк Windows рд╣реЛрд╕реНрдЯ рдкрд░ Linux рдорд╢реАрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд▓рдХреНрд╖рд┐рдд рдХреБрдЫ рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рдЕрднреА рднреА Cygwin + Linux VM рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдУрд╣, рдФрд░ рдореИрдВрдиреЗ x86 рдмрдирд╛рдо рдПрдЖрд░рдПрдо рдХрд╛ рднреА рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд┐рдпрд╛ ...

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЬреНрдЮрд╛рдд рдЗрдВрдЯрд░рдлрд╝реЗрд╕: рдпрджрд┐ рдЖрдк рдбреЙрдХрд░ рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдХрд┐рд╕реА рднреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░ рдмрд┐рд▓реНрдб рдХреЗ рдХреБрдЫ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХреЛ рджреЗрдЦреЗ рдмрд┐рдирд╛ рднреАред

рдЬрдм рддрдХ рдЖрдк рдирд╣реАрдВ рдХрд░рддреЗред рд╣рд░ рдХреЛрдИ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдмрд┐рдирд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдпрд╛ рдПрдХрд▓ make рдХрдорд╛рдВрдб рдХреЗ рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреИрд╕реЗ рдЪрд▓рд╛рдирд╛ рд╣реИред рдХреБрдЫ рд▓реЛрдЧ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ docker build , docker run рдпрд╛ docker-compose рд▓рд┐рдП рд╕рднреА рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХреИрд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдпрд╣ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреБрдЫ рд░реИрдкрд░ рдмреИрд╢ рдпрд╛ cmd рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реЛрдЧреАред


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

рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рд╕рднреА рдмрд┐рдВрджреБрдУрдВ рдХрд╛ рдЦрдВрдбрди рдирд╣реАрдВ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдк рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╣рдореЗрд╢рд╛ рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ "рдПрдХрд▓ рдбреЙрдХрд░рдлрд╛рдЗрд▓" рджреГрд╖реНрдЯрд┐рдХреЛрдг рдмрд┐рд▓реНрдХреБрд▓ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рддрд░реНрдХ рджреВрдВрдЧрд╛ рдХрд┐ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдард╛рдП рдЧрдП рд▓рдЧрднрдЧ рд╕рднреА рдмрд┐рдВрджреБрдУрдВ рдХреЗ рд▓рд┐рдП (рдЬреЛ рд╕рднреА рдорд╛рдиреНрдп рдФрд░ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИрдВ), "рдХрд╕реНрдЯрдо рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╛ рдореЗрдХрдлрд╝рд╛рдЗрд▓" рджреГрд╖реНрдЯрд┐рдХреЛрдг рдпрд╛ рддреЛ рдЙрддрдирд╛ рд╣реА рдЦрд░рд╛рдм рдпрд╛ рдмрджрддрд░ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рддреМрд░ рдкрд░ рдПрдХ рдмрд┐рдВрджреБ:

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

рдЕрдЧрд░ рдореИрдВ 10 рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реВрдВ, рдФрд░ рд╡реЗ рд╕рднреА рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдбреЙрдХрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ рд╕реБрдЭрд╛рд╡ рд╕реЗ рдореБрдЭреЗ 10 рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реАрдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдореИрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлреВ рдХреЗ build_image.sh рд▓рд┐рдП рдХреИрд╢реЗ рдХреЛ рдХреИрд╕реЗ рдорд┐рдЯрд╛ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рдлрд┐рд░ рд╕реЗ рдХреИрд╕реЗ рд╢реБрд░реВ рдХрд░реВрдВ? рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдЫрд╡рд┐ рдХрд╛ рдирд┐рд░реНрдорд╛рдг docker build рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ (ofc рдореБрдЭреЗ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ docker рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ build_image.sh рдирд┐рдХрд▓рдиреЗ рд╡рд╛рд▓реА рдЫрд╡рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)ред

рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдФрд░ рдЕрдиреНрдп рд▓реЛрдЧ рдЬреЛ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ / рдХрдИ / рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП "рд╕рд┐рдВрдЧрд▓ рдбреЙрдХрд░рдлрд╛рдЗрд▓" рджреГрд╖реНрдЯрд┐рдХреЛрдг рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдЬреЛ рдХрд┐ рдбреЙрдХрдЯрд░ рдХреЗ рдЗрддрдирд╛ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реЛрдиреЗ рдХрд╛ рдПрдХ рдХрд╛рд░рдг рд╣реИ), рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдореЗрдВ рдУрдкрди рд╕реЛрд░реНрд╕ рд╡рд░реНрд▓реНрдб рдЬрд╣рд╛рдВ рдЖрдорддреМрд░ рдкрд░ рд╕рднреА рд╕рдВрд╕рд╛рдзрди рдмрд┐рдирд╛ рд░рд╣рд╕реНрдпреЛрдВ рдХреЗ рд╕реБрд▓рдн рд╣реЛрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рдЙрд╕реА рдкреИрдЯрд░реНрди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдЙрд╕ рд╕рдВрджрд░реНрдн рдореЗрдВ рдкрд╕рдВрдж рдЖрдпрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЖрдкрдХреЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЯреВрдЯ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рддрд░реАрдХреЛрдВ рдХреЗ рдХрдИ рд╕реБрдЭрд╛рд╡ (рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди) рд╣реИрдВ, рд▓реЗрдХрд┐рди рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЗрд╕рдХрд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ (рдпрд╣ рдХрдИ рдмрд╛рд░ рдКрдкрд░ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ)ред рдЗрд╕рд▓рд┐рдП рд╣рддрд╛рд╢рд╛ред

рдореИрдВ рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд▓реЛрдЧ рдЗрд╕рдореЗрдВ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП #33343 рдореЗрдВ рд▓рд┐рдВрдХ рдХрд┐рдП рдЧрдП рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рд╕рд╛рдеред рдореЗрд░реА рдкреЛрд╕реНрдЯ рдЗрд╕ рдмрд╛рдд рдХреЛ рдкреНрд░реЗрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ рдХрд┐ рдХреБрдЫ рд▓реЛрдЧ рдпрд╣рд╛рдВ рдХреНрдпрд╛ рдорд╛рдВрдЧрддреЗ рд╣реИрдВ рдФрд░ рдХреНрдпреЛрдВ рд╡рд╛рдкрд╕ рдЖрддреЗ рд░рд╣рддреЗ рд╣реИрдВред

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

рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдЧ рдпрд╣рд╛рдВ рдЬреЛ рдХреБрдЫ рднреА рдорд╛рдВрдЧ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ docker build рдореЗрдВ рд░рд╣рд╕реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдХрд╕реНрдЯрдо build_image.sh рдореЗрдВ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдХрдо рд╕реБрд░рдХреНрд╖рд┐рдд рдирд╣реАрдВ рд╣реИ

рдореБрдЭреЗ рдЦреЗрдж рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдЯрд┐рдХрдЯ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рд╣реИред рд╡реЗ рдХреЛрдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рд╣реИрдВ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

  1. рдореИрдВ рд╡рд┐рдХрд╛рд╕ рдорд╢реАрдиреЛрдВ рдкрд░ рдЙрддреНрдкрд╛рджрди рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд╛рд╣рддрд╛ рд╣реВрдБред рдбреЙрдХрд░ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВ
  2. рдореИрдВ рдПрдХ рд╡рд┐рддрд░рд┐рдд рд╕реАрдЖрдИ рдкреНрд░рдгрд╛рд▓реА рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рддрд╛рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдкрд╛рд╕ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдирд┐рд░реНрдорд╛рдг рд╣реЛред рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП docker run рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рд╕рдлрд╛рдИ рдХреЗ рд▓рд┐рдП docker prune рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
  3. рдореИрдВ рдбреЛрдХрд░ рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рддрд╛рдХрд┐ рдореИрдВ рдЙрдиреНрд╣реЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд░ рд╕рдХреВрдВред рдПрдХ рд╕рдорд░реНрдкрд┐рдд рд╕реАрдЖрдИ рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬрд╣рд╛рдВ рдЖрдк рдорд▓реНрдЯреАрд╕реНрдЯреЗрдЬ рдмрд┐рд▓реНрдб рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред

@ рд╡рд╛рдиреБрдЖрди , рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореВрд▓ рд░реВрдк рд╕реЗ рд╣реИ: рдореВрд▓ рд╡рд╛рддрд╛рд╡рд░рдг рд╕реЗ рдЕрдзрд┐рдХ рдХреБрдЫ рднреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░ рдмрд┐рд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВред рдпрд╣ рдПрдХ рдРрд╕рд╛ рдореБрджреНрджрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред "рдЖрдкрдХреЛ рдЗрд╕реЗ рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рдХрд░рдирд╛ рд╣реЛрдЧрд╛" рд╕рдорд╕реНрдпрд╛ рд╣реИ, рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВред

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

рд░реБрдЪрд┐ рд░рдЦрдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП: рдореИрдВрдиреЗ рд╕рдВрджрд░реНрдн рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП FTP_PROXY рдЬреИрд╕реЗ "рдорд╛рд╕реНрдХ-рдмрд╛рдп-рдбрд┐рдлреЙрд▓реНрдЯ" рдмрд┐рд▓реНрдб-рдЖрд░реНрдЧ рдХрд╛ рдлрд╛рдпрджрд╛ рдЙрдард╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдереАред рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИ рдХрд┐ docker-build рдЙрди рдирдХрд╛рдмрдкреЛрд╢ рддрд░реНрдХреЛрдВ рдХреЛ рдЫрд╡рд┐ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдФрд░ рди рд╣реА рдЫрд╡рд┐ рдкрд░рддреЛрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

36443 рдЗрд╕реЗ SECRET рдЬреИрд╕реЗ рдирд╛рдо рдХреЗ рдПрдХ рдмрд┐рд▓реНрдб-рдЖрд░реНрдЧ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдкреНрд░рдпрд╛рд╕ рдерд╛ рддрд╛рдХрд┐ рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЗрд╕реЗ рдЧреБрдкреНрдд рдкреНрд░рдмрдВрдзрди рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдХрд╛рд░реНрдп-рдЖрд╕рдкрд╛рд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░ рд╕рдХреЗрдВред

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

рдЙрд╕рдХреЗ рдмрд╛рдж рдореЗрд░реА рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рд╢рд░реНрдд рдпрд╣ рд╣реИ рдХрд┐ @AkihiroSuda рдХреА рд╕рд▓рд╛рд╣ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ, docker build --network рдпрд╛ рдПрдХ рдЕрд╕реНрдерд╛рдпреА tcp рд╕рд░реНрд╡рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рд╕реНрдЯреЛрд░/рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрджрдд рдЬреИрд╕реЗ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдХреЗрд╡рд▓ рджреГрд╢реНрдпрдорд╛рди рдмрд┐рд▓реНрдб рд╕рдВрджрд░реНрдн рдПрдХрд▓ рдбреЙрдХрд░ рдбреЗрдореЙрди рдХреЗ рднреАрддрд░ рд░рд╣рддреЗ рд╣реИрдВ, рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗред

рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдЯрд┐рдкреНрдкрдгреА рдХрд░рддреЗ рд╣реБрдП, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдЕрдм рд╕реЗ 5 рд╕рд╛рд▓ рдмрд╛рдж рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдорд┐рд▓рддреА рд╣реИ, рдЬрдм рдбреЙрдХрд░ рдЕрдВрддрддрдГ рд╣рдореЗрдВ рдЙрдЪрд┐рдд рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдкреНрд░рдмрдВрдзрди рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдПрдХ рдЫреЛрдЯрд╛ рдХрджрдо рджреЗрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд░рддрд╛ рд╣реИ .... рдФрд░ рд╕рд╛рде рд╣реА, рдЙрд╕ рд╣реИрдХ рдХреА рд░реВрдкрд░реЗрдЦрд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рд╕рдХрд╛ рдореИрдВ рдЗрд╕ рд╕рдордп рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред , рджреВрд╕рд░реЛрдВ рдХреА рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╛ рдЙрд╕рдореЗрдВ рдЫреЗрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рд╕рд╕реЗ рдореИрдВ рдЕрдирдЬрд╛рди рд╣реВрдБред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд @рдореБрдореЛрд╢реВ рдореБрджреНрджреЗ рдореЗрдВ, рдореБрдЭреЗ рдЕрдВрддрддрдГ рдмрд┐рд▓реНрдб рд╕реАрдХреНрд░реЗрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд-

рддреЛ, рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ, рдореИрдВ рдЗрд╕ рддрд░рд╣ рдХреА рдореИрдкрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдбреЙрдХрд░-рдХрдВрдкреЛрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ:

  myProject:
    build:
      context: ../myProject/
      args: 
        - HTTPS_PROXY=${NEXUS_USERNAME}
        - NO_PROXY=${NEXUS_PASSWORD}

рдФрд░ рдлрд┐рд░, docker-compose.yml рдлрд╝рд╛рдЗрд▓ рд╡рд╛рд▓реЗ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ, NEXUS_USERNAME рдФрд░ NEXUS_PASSWORD рдХреЗ рдХреБрдВрдЬреА-рдореВрд▓реНрдп рдЬреЛрдбрд╝реЗ рдХреЗ рд╕рд╛рде ".env" рдирд╛рдо рдХреА рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВ - рдФрд░ рд╡рд╣рд╛рдВ рдЙрдЪрд┐рдд рдорд╛рдиред

рдЕрдВрдд рдореЗрдВ, Dockerfile рдореЗрдВ рд╣реА, рд╣рдо рдЕрдкрдиреЗ рд░рди рдХрдорд╛рдВрдб рдХреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ:
рд░рди wget --user $HTTPS_PROXY --password $NO_PROXY

рдФрд░ рдЙрдиреНрд╣реЗрдВ DockerFile рдореЗрдВ ARGs рдХреЗ рд░реВрдк рдореЗрдВ рдШреЛрд╖рд┐рдд рди рдХрд░реЗрдВред

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

@darmbrust рдореИрдВрдиреЗ рдЖрдкрдХреЗ рд╕рдорд╛рдзрд╛рди рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ред
рдпрд╣рд╛рдБ рдореЗрд░реА рд░рдЪрдирд╛ yml рд╣реИ:
рд╕рдВрд╕реНрдХрд░рдг: "3.3"
рд╕реЗрд╡рд╛рдПрдВ:

  buildToolsImage:
    image: vsbuildtools2017:web-v6

    build:
      context: .
      dockerfile: ./vsbuild-web-v6-optimized.dockerfile
      args:
        - CONTAINER_USER_PWD=${CONTAINER_USER_CREDS}

рдпрд╣рд╛рдБ .env рдлрд╝рд╛рдЗрд▓ yml рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рдмреИрдареА рд╣реИ:

CONTAINER_USER_CREDS=secretpassword

рдФрд░, рдпрд╣рд╛рдБ рдореЗрд░рд╛ рдбреЙрдХрдлрд╛рдЗрд▓ рд╣реИ:

# escape=`
FROM microsoft/dotnet-framework:4.7.2-sdk
# Add non-root user
CMD ["sh", "-c", "echo ${CONTAINER_USER_PWD}"] 
RUN net user userone ${CONTAINER_USER_PWD} /add /Y

рдФрд░ рдЕрдВрдд рдореЗрдВ рдЗрд╕реЗ рдмрдВрдж рдХрд░рдиреЗ рдХрд╛ рдЖрджреЗрд╢ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

docker-compose -f docker-compose.buildImage.yml build

рдпрд╣ рдЫрд╡рд┐ рдмрдирд╛рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди .env рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдкрд╛рд╕рд╡рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ред

[рдЪреЗрддрд╛рд╡рдиреА] рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдмрд┐рд▓реНрдб-рдЖрд░реНрдЧ [CONTAINER_USER_PWD] рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛

рдореБрдЭреЗ рдпрд╣рд╛рдВ рдХреНрдпрд╛ рд╕рдордЭ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ?
рдзрдиреНрдпрд╡рд╛рдж!

рдЖрдкрдХреЛ рдбреЙрдХрд░ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ https://docs.docker.com/engine/reference/builder/#predefined -args рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЖрдк CONTAINER_USER_PWD рдЬреИрд╕реЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рддрд░реНрдХ рдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред

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

рдбреЙрдХрд░-рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде, рдЖрдк рдЙрди рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рддрд░реНрдХреЛрдВ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рдЙрдЪрд┐рдд рд░реВрдк рд╕реЗ рдирд╛рдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

@darmbrust рд╣рд╛рдБ, рдЙрд╕рдиреЗ рдЪрд╛рд▓
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХреНрдпрд╛ рдЖрдкрдХреЛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдмрджрдмреВрджрд╛рд░ рд╣реИ? рдХреЛрдИ рдмреЗрд╣рддрд░ рд╕реБрдЭрд╛рд╡?
рдзрдиреНрдпрд╡рд╛рдж!

рдпрд╣ рд╢рд╛рдпрдж рдЙрддрдирд╛ рдмрджрдмреВрджрд╛рд░ рдирд╣реАрдВ рд╣реИ рдЬрд┐рддрдирд╛ рдХрд┐ tcp рдкрд░ рдЖрдкрдХреЗ ssh-agent рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдирд╛
рдХрд┐рд╕реА рднреА рд╕реНрдерд╛рдиреАрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЪреЛрд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдЬ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдХрд┐рд╕реА рднреА рдЪреАрдЬрд╝ рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИ
рд░рд╣рд╕реНрдпреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд, 'рдбреЙрдХрд░ рдмрд┐рд▓реНрдб' рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рдмрджрдмреВрджрд╛рд░ рд╣реИред

рджрд░рдЕрд╕рд▓, рдореИрдВ рднреВрд▓ рдЧрдпрд╛ рдерд╛ рдХрд┐ рдореИрдХ рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░ рдпреВрдирд┐рдХреНрд╕ рдбреЛрдореЗрди рдХреЛ рдЙрдЬрд╛рдЧрд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
osx рд╣реЛрд╕реНрдЯ рдкрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рд╕реЙрдХреЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдХрд┐ a . рдХрд╛ рдФрд░ рднреА рдЕрдзрд┐рдХ рдЦреБрд▓ рдЬрд╛рддрд╛ рд╣реИ
рдЬрдЯрд┐рд▓ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдкрд┐рдЯрд╛рд░рд╛ред

рдореЗрд░рд╛ рд╡рд░реНрддрдорд╛рди рд╕рдорд╛рдзрд╛рди, Centos VM, GitHub рдорд╢реАрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЦрд╛рддрд╛ рдЪрд▓рд╛рдПрдБ
рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдЗрд╕рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ, "рд░реЙрдХрд░" (рдкрджрд╛рд╡рдирдд) рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╣реИрдВред

рдЧреБрд░реБ, 26 рдЬреБрд▓рд╛рдИ 2018 рдХреЛ, 21:49 рд╕рдореАрд░ рдХреБрдорд╛рд░, рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

@darmbrust https://github.com/darmbrust рд╣рд╛рдВ, рдЗрд╕рдиреЗ рдЪрд╛рд▓ рдЪрд▓реА ред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХреНрдпрд╛ рдЖрдкрдХреЛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдмрджрдмреВрджрд╛рд░ рд╣реИ? рдХреЛрдИ рдмреЗрд╣рддрд░ рд╕реБрдЭрд╛рд╡?
рдзрдиреНрдпрд╡рд╛рдж!

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/13490#issuecomment-408230125 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAZk5iz1kvCpZ0s65ng4TwL7LmHa9zZvks5uKitDgaJpZM4Eq021
.

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

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

рдпрд╣ рдЗрддрдирд╛ рд╕рд░рд▓ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд╣реИ, рд╡реЙрд▓реНрдпреВрдо рдмрдврд╝рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВ, (рдлрд╝рд╛рдЗрд▓реЗрдВ рдпрд╛
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛) рдирд┐рд░реНрдорд╛рдг рдХреЗ рджреМрд░рд╛рди рдХрдВрдЯреЗрдирд░ рдореЗрдВред

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

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

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

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

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

рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдХрд╣реАрдВ рди рдХрд╣реАрдВ рдХреБрдЫ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдирд┐рдпрдо рд╣реИрдВ,
"рдпрд╣ рди рдорд╛рдиреЗрдВ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдХреИрд╕реЗ, рдпрд╛ рдХреНрдпреЛрдВ, рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЙрддреНрдкрд╛рдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ"ред

рдЧреБрд░реБ, 26 рдЬреБрд▓рд╛рдИ 2018 рдХреЛ, 22:00 рдбреИрди рдЖрд░реНрдордмреНрд░рд╕реНрдЯ, рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдиреЗ рд▓рд┐рдЦрд╛:

рдпрд╣ рдкреВрд░рд╛ рдмрдЧ рдмрджрдмреВрджрд╛рд░ рд╣реИред рдореБрдЭреЗ рдХреЛрдИ рдмреЗрд╣рддрд░ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛... рд╡рд╣рд╛рдБ рд╣реИрдВ
рдКрдкрд░ рдХрдИ рдЕрдиреНрдп рджреГрд╖реНрдЯрд┐рдХреЛрдг, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдиреНрдп рд╕рднреА рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИрдВ
рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдлреАрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ http рд╕рд░реНрд╡рд░ рдЦрдбрд╝реЗ рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдЫрд╡рд┐ред рд╢рд╛рдпрдж рдХрдо рдмрджрдмреВрджрд╛рд░, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓рддрд╛, рдЕрдзрд┐рдХ рдЙрдкрдХрд░рдг, рдЕрдзрд┐рдХ рдЧрддрд┐рд╢реАрд▓
рднрд╛рдЧреЛрдВред

рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдХреЛ "рдЕрдЪреНрдЫрд╛" рд╕рдорд╛рдзрд╛рди рдорд┐рд▓ рдЧрдпрд╛ рд╣реИ ... рд╣рдо рд╕рдм рдлрдВрд╕ рдЧрдП рд╣реИрдВ
рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░ рд▓реЛрдЧреЛрдВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ ... рдЕрдкрдирд╛ рдордд рдкрдХрдбрд╝реЛ
рд╕рд╛рдВрд╕, рдЪреВрдВрдХрд┐ рдпрд╣ рдмрдЧ 2015 рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рднреА рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ
рдПрдХ рд░реЛрдбрдореИрдк рдЕрднреА рддрдХ, рдмрд╣реБрдд рдХрдо рд╕рдорд╛рдзрд╛рдиред

-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/moby/moby/issues/13490#issuecomment-408233258 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAZk5nvbBTj4BAv5TtELNIHhJN8mU0Ctks5uKi38gaJpZM4Eq021
.

@binarytemple рд╣рд░ рдХреЛрдИ рдЬрд┐рд╕рдиреЗ рдХрднреА рдбреЙрдХрд░/

рд╡реЙрд▓реНрдпреВрдо рдПрдХ рдРрд╕рд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ рдЬреЛ рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рдЯрдкрдХрд╛ рд╣реБрдЖ рд╣реИред
рдПрдХ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИ, рдЯрд┐рдкреНрдкрдгреА рд╕реНрдЯреНрд░реАрдо рдХрд╛ рдереЛрдбрд╝рд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рдЬреЛ рдЗрд╕реЗ рдЙрдЪрд┐рдд рддрд░реАрдХреЗ рд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ (https://github.com/moby/moby/issues/33343)

рдпрд╣рд╛рдВ рдореБрдЦреНрдп рдмрд╛рдд "рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдХрд┐рд╕реА рднреА рдЕрдореВрд░реНрддрддрд╛" рдХреЗ рдмрдЬрд╛рдп "рд╕рд╣реА" рдЕрдореВрд░реНрддрддрд╛ рдкреНрд░рджрд╛рди рдХрд░ рд░рд╣реА рд╣реИ ... рд╣рдо рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рджрд░реНрджрдирд╛рдХ рд╣реИред

рдмрд┐рд▓реНрдбрд░ рдкрд░ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдмрд╣реБрдд рдХрд╛рдо рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдЕрднреА рддрдХ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рдкреНрд░рдпрд╛рд╕ рдХрд╛ рдлрд▓ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдорд╣реАрдиреЛрдВ рдореЗрдВ рджрд┐рдЦрдирд╛ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдбреЙрдХрд░ 18.06 рдЬрд╣рд╛рдЬ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдмрд┐рд▓реНрдбрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рд╛рде https://github.com/moby/buildkit рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИ
рдЖрдк рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ "рдпрд╣ рдореЗрд░реА рдорджрдж рдХреИрд╕реЗ рдХрд░рддрд╛ рд╣реИ?"ред рдмрд┐рд▓реНрдбрдХрд┐рдЯ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдЖрджрд┐рдо рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╣рдореЗрдВ рдбреЙрдХрд░ рдмрд┐рд▓реНрдбрд░ рдореЗрдВ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛ рд╣реЛрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдмрд┐рд▓реНрдб рдкрд╛рд░реНрд╕рд░ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП (рдЬреЛ рдПрдХ рдЙрдиреНрдирдд рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдкрд╛рд░реНрд╕рд░ рд╕реЗ рдХреБрдЫ рднреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ)ред рдкрд╛рд░реНрд╕рд░реНрд╕ "рдбреЙрдХрд░рдлрд╛рдЗрд▓" рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИрдВ рдФрд░ рдХреЗрд╡рд▓ рдХреЛрдИ рднреА рдЫрд╡рд┐ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

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

https://github.com/moby/buildkit/pull/522 рдореЗрдВ рдмрд┐рд▓реНрдбрдХрд┐рдЯ рдореЗрдВ рдЧреБрдкреНрдд рдорд╛рдЙрдВрдЯ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред рд╡реЗ tmpfs рдкрд░ рд╕рдЦреНрддреА рд╕реЗ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдмрд┐рд▓реНрдб рдХреИрд╢ рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЕрднреА рддрдХ рдХреЛрдИ рдкреАрдЖрд░ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЗрд╕реЗ рдбреЙрдХрдлрд╛рдЗрд▓ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдореЗрдВ рдЙрдЬрд╛рдЧрд░ рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЬреЛрдбрд╝ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рд░рд╣рд╕реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдЪрд┐рддреНрд░ рдмрдирд╛рдиреЗ рдХреЗ 2 рдЙрдкрд╛рдп рд╣реИрдВред

рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдЬ рдмрд┐рд▓реНрдб:

FROM ubuntu as intermediate
ARG USERNAME
ARG PASSWORD
RUN git clone https://${USERNAME}:${PASSWORD}@github.com/username/repository.git

FROM ubuntu
# copy the repository form the previous image
COPY --from=intermediate /your-repo /srv/your-repo

рдлрд┐рд░: docker build --build-arg USERNAME=username --build-arg PASSWORD=password my-image .

рдПрдХ рдЫрд╡рд┐ рдирд┐рд░реНрдорд╛рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛: рдбреЙрдХрд░-рдмрд┐рд▓реНрдб-рд╡рд┐рдж-рд░рд╣рд╕реНрдп

@BenoitNorrin рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдЖрдкрдиреЗ рдЙрд╕ рдкрд╛рд╕рд╡рд░реНрдб рдХреЛ рд╣реЛрд╕реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдХреА рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЙрдЬрд╛рдЧрд░ рдХрд░ рджрд┐рдпрд╛ рд╣реИред рдпреВрдирд┐рдХреНрд╕ рд╕реБрд░рдХреНрд╖рд╛ 101 - рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рдХрдорд╛рдВрдб рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рди рд░рдЦреЗрдВред

рд╣рд╛рдВ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдРрд╕реЗ рдЙрдкрдпреЛрдЧ рд╣реИрдВ рдЬрд╣рд╛рдВ рд╕реБрд░рдХреНрд╖рд╛ рдереЛрдбрд╝реА рдХрдо рдорд╛рдпрдиреЗ рд░рдЦрддреА рд╣реИ:

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

рдпрджрд┐ рдпрд╣реА рдПрдХрдорд╛рддреНрд░ рд╕рдорд╕реНрдпрд╛ рд╣реИ, @binarytemple , рддреЛ рдмрд╕ рдзреНрд╡рдЬ рдЬреЛрдбрд╝рдирд╛ docker image build --args-file ./my-secret-file рдЗрд╕ рдкреВрд░реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рд╣реА рдЖрд╕рд╛рди рд╕рдорд╛рдзрд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд╣реИ рдирд╛? :рд╡рд┐рдЪрд╛рд░рдзрд╛рд░рд╛:

@yajo рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд╣рд╛рдБ рдпрд╣ рдХрдо рд╕реЗ рдХрдо рдПрдХ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдмрд┐рд▓реНрдбрдХрд┐рдЯ рдЬрд╣рд╛рдЬреЛрдВ рдХреЗ рд╕рд╛рде рд░рд╣рд╕реНрдп рдорд╛рдЙрдВрдЯ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рдЕрдЪреНрдЫрд╛ рд╕реБрдЭрд╛рд╡ред рдзрдиреНрдпрд╡рд╛рджред рдмреА

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

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

рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рджрд░реНрдж рдмрд┐рдВрджреБ рдореЗрд░реЗ рд▓рд┐рдП рдЧреБрдкреНрдд рдШреБрдорд╛рд╡ рд╣реИ

рдЖрдкрдХреЛ рд╕реЗрд╡рд╛ рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд░рд╣рд╕реНрдп рдХрд╛ рдЧреНрд░рд╛рдл рдмрдирд╛рдП рд░рдЦрдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд╡рд╛ рдХреЛ рджреЛ рдмрд╛рд░ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдореВрд▓ рдЧреБрдкреНрдд рдирд╛рдо рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП)

рд╕реЗрд╡рд╛рдУрдВ рд╕реЗ рд░рд╣рд╕реНрдп рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд▓рдЧрддрд╛ (рдореИрдВрдиреЗ docker service inspect --format='{{.Spec.TaskTemplate.ContainerSpec.Secrets}}' <some_service> рдЖрд╕рдкрд╛рд╕ рдХреБрдЫ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рдмрд╛рдж рдЫреЛрдбрд╝ рджрд┐рдпрд╛), docker secret inspect <secret_name> рд╕реЗ рд╕реЗрд╡рд╛рдУрдВ рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдирд╛ рднреА рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред рддреЛ рдореИрдВ рдЕрднреА рдХреЗ рд▓рд┐рдП рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЙрд╕ (рдЕрдиреБрдорд╛рдирд┐рдд) рдЧреНрд░рд╛рдл рдХреЛ рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реВрдВред

рдЖрдкрдХреЛ рдЧреБрдкреНрдд рдЧрдВрддрд╡реНрдп рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЬрдм рдпрд╣ docker service update рдХрдорд╛рдВрдб рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ /run/secrets/<secret_name> рд╣реИ

рдореИрдВ рдмрд╕ рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рдШреБрдорд╛рдиреЗ рдХреЗ рдПрдХ рдЖрд╕рд╛рди рддрд░реАрдХреЗ рдХреА рдЖрд╢рд╛ рдХрд░рддрд╛ рд╣реВрдБ

@caub рдпрд╣рд╛рдВ рдХреБрдЫ рд╕реАрдПрд▓рдЖрдИ рд╕рд╣рд╛рдпрддрд╛ рд╣реИ:

рд╕реНрд╡рд░реВрдкрдг рд╕рд╣рд╛рдпрддрд╛ рдХреЗ

docker service inspect --format='{{range .Spec.TaskTemplate.ContainerSpec.Secrets}}{{println .SecretName}}{{end}}'

рд╡рд╣ рдПрдХ рд╕реЗрд╡рд╛ рдореЗрдВ рд╕рднреА рдЧреБрдкреНрдд рдирд╛рдореЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реЗрдЧрд╛ред рдпрджрд┐ рдЖрдк рдирд╛рдо рдФрд░ рдкрд╣рдЪрд╛рди рджреЛрдиреЛрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдпрд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

docker service inspect --format='{{range .Spec.TaskTemplate.ContainerSpec.Secrets}}{{println .SecretName .SecretID}}{{end}}' nginx

рдореЗрд░реЗ рдкрд╛рд╕ рд╣рдореЗрд╢рд╛ рдореЗрд░реА рд╕реАрдЖрдИ/рд╕реАрдбреА (рд╕рд░реНрд╡рд┐рд╕ рдЕрдкрдбреЗрдЯ рдХрдорд╛рдВрдб) рдпрд╛ рд╕реНрдЯреИрдХ рдлрд╛рдЗрд▓реЗрдВ рдкрде рдХреЛ рд╣рд╛рд░реНрдбрдХреЛрдб рдХрд░рддреА рд╣реИрдВ рддрд╛рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд░реЛрдЯреЗрд╢рди рдкрд░ рд╡рд╣ рд╕рдорд╕реНрдпрд╛ рди рд╣реЛред

рдпрджрд┐ рдЖрдк рд╕реНрдЯреИрдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рдЧреБрдкреНрдд рдирд╛рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛, рдЬреЛ рд╣рд░ рдмрд╛рд░ рдЕрд▓рдЧ рд╣реЛрдЧрд╛) рд▓реЗрдмрд▓ рдХреЗ рд╕рд╛рде рдЖрдк CI/CD рд╕реНрд╡рдЪрд╛рд▓рди рд╕рд╣реА рд░рд╣рд╕реНрдп рдХреА рдкрд╣рдЪрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

docker build --secret рдЕрдВрддрддрдГ рдбреЙрдХрд░ 18.09 рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ https://medium.com/@tonistiigi/build -secrets-and-ssh-forwarding-in-docker-18-09-ae8161d066

@thaJeztah рдХреНрдпрд╛ рд╣рдо рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ?

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

```
рдирд┐рд░реНрдорд╛рдг рдХреЗ рд░реВрдк рдореЗрдВ рдбреЗрдмрд┐рдпрди рд╕реЗ
рдХреЙрдкреА ./secret.conf /path/on/image/
рд░рди рдмрд┐рд▓реНрдб.рд╢реЛ
...

рдбреЗрдмрд┐рдпрди рд╕реЗ
рдХреЙрдкреА --from=рдмрд┐рд▓реНрдб...

@ рдПрдВрдбреНрд░реА-рдПрдл рд╣рд╛рдБ, рдпрд╣ рддрдм рддрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрдм рддрдХ рдЖрдк;

  • (рдЬрд╛рд╣рд┐рд░ рд╣реИ) рд░рд╣рд╕реНрдп рдХреЛ рдЕрдВрддрд┐рдо рдЪрд░рдг рдореЗрдВ рдХреЙрдкреА рди рдХрд░реЗрдВ , рдпрд╛:
  • build рдЪрд░рдг / рдЪрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдЬрд┐рд╕рдореЗрдВ рдЕрдВрддрд┐рдо рдЫрд╡рд┐ рдХреЗ рд▓рд┐рдП "рдЕрднрд┐рднрд╛рд╡рдХ" рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд░рд╣рд╕реНрдп рдореМрдЬреВрдж рд╣реИ
  • рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рдмрд┐рд▓реНрдб-рд╕реНрдЯреЗрдЬ рдХреЛ рдХрднреА рднреА _push_ рдирд╣реАрдВ рдХрд░реЗрдВ
  • рдЙрд╕ рдореЗрдЬрдмрд╛рди рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░реЗрдВ рдЬрд┐рд╕ рдкрд░ рдЖрдкрдХрд╛ рдбреЗрдореЙрди рдЪрд▓рддрд╛ рд╣реИ; рдпрд╛рдиреА рдпрд╣ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рдХрд┐ рдЖрдкрдХрд╛ "рдмрд┐рд▓реНрдб" рдЪрд░рдг рдПрдХ рдЫрд╡рд┐ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╣реИ; рдЙрд╕ рдЫрд╡рд┐ рддрдХ рдкрд╣реБрдВрдЪ рд░рдЦрдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдЖрдкрдХреЗ рд░рд╣рд╕реНрдп рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ред

рдмрд┐рд▓реНрдбрдХрд┐рдЯ рдХреЛ рдмрд┐рд▓реНрдбрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдмрд┐рд▓реНрдб рдЯрд╛рдЗрдо рд╕реАрдХреНрд░реЗрдЯреНрд╕ рдЕрдм рд╕рдВрднрд╡ рд╣реИрдВ; рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдпрд╣рд╛рдБ рджреЗрдЦреЗрдВ https://medium.com/@tonistiigi/build -secrets-and-ssh-forwarding-in-docker-18-09-ae8161d066

рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬ; https://docs.docker.com/develop/develop-images/build_enhancements/

рд░рд╣рд╕реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ RUN --mount рд╡рд┐рдХрд▓реНрдк рдЬрд▓реНрдж рд╣реА рдбрд┐рдлрд╝реЙрд▓реНрдЯ (рд╕реНрдерд┐рд░) Dockerfile рд╕рд┐рдВрдЯреИрдХреНрд╕ рдореЗрдВ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛

рдзрдиреНрдпрд╡рд╛рдж @thaJeztah рдореИрдВрдиреЗ рдмрд╕ рдереЛрдбрд╝реА рдФрд░ рдЦреБрджрд╛рдИ рдХреА рдФрд░ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдЙрд╕ рд▓реЗрдЦ рдХреЛ рдкрд╛рдпрд╛ (рдкрд┐рдЫрд▓реА рдкреЛрд╕реНрдЯ рдЕрдм рд╣рдЯрд╛ рджреА рдЧрдИ рд╣реИ)ред рдПрдХ рдмрд╛рд░ рдлрд┐рд░ рдзрдиреНрдпрд╡рд╛рдж!

рдардВрдбрд╛ред рдпрд╣ рдмрд┐рд▓реНрдб рдЯрд╛рдЗрдо рд╕реАрдХреНрд░реЗрдЯреНрд╕ рдкреНрд░рд╢реНрди рдХреЛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИред рд░рдирдЯрд╛рдЗрдо/рдбреЗрд╡рдЯрд╛рдЗрдо рдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА (рдУрдПрд╕ рдПрдХреНрд╕ рдореЗрдВ рдПрд╕рдПрд╕рдПрдЪ)?

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

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

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

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

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

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

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