Compose: рдРрд╕реА рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реБрдИ рд╣реИрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 20 рдЕрдЧре░ 2015  ┬╖  244рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: docker/compose

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдХреНрд╕рд░ рдЕрдкрдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд░рдЦрд░рдЦрд╛рд╡ рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдкрд░реАрдХреНрд╖рдг рд╕реВрдЯ, рдбрд┐рдмрдЧрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╡реЗ docker-compose up рд╣реЛрдиреЗ рдкрд░ рдЪрд▓рд╛рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХреНрдпрд╛ рд╕реЗрд╡рд╛рдПрдВ рд╢реБрд░реВ рдХреА рдЬрд╛рддреА рд╣реИрдВ, рдЗрд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреБрдЫ рддрд░реАрдХрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА docker-compose up servicename рдпрд╛ docker-compose run servicename ... рдХрд░рдХреЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рд╕рдВрднрд╡ рд╕рдорд╛рдзрд╛рди

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

(рдпрджрд┐ рдЖрдкрдХреЗ рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ рддреЛ рдХреГрдкрдпрд╛ рджреВрд╕рд░реЛрдВ рдХреЛ рд╕реБрдЭрд╛рд╡ рджреЗрдВред)

рдбреЗрдЯрд╛ рдЕрдВрдХ:

  • https://github.com/docker/compose/issues/697
  • https://github.com/docker/compose/issues/912
  • https://github.com/docker/compose/issues/942
  • https://github.com/docker/compose/issues/1439
  • https://github.com/docker/compose/issues/1547
  • # 542
  • https://github.com/heroku/logplex/blob/master/docker-compose.yml рдореЗрдВ "рдкрд░реАрдХреНрд╖рдг" рд╕реЗрд╡рд╛
  • @ cpuguy83 : "рдореБрдЭреЗ рдЕрдкрдиреЗ рдХрдореНрдкреЛрдЬ рдпрд╛рдореНрд▓ рдореЗрдВ рдереЛрдбрд╝реА рд╕рд╣рд╛рдпрдХ рд╕реЗрд╡рд╛ рдорд┐рд▓реА рд╣реИ рдЬреЛ рд╣рд┐рдкрд╛ рдХреЗ рд▓рд┐рдП рд░реЗрдбрд┐рд╕ рдореЗрдВ рд╕рд╛рдорд╛рди рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЬрдм рдпрд╣ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддрд╛ рд╣реИред compose up / o рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред -d " рдпрд╣ рдЕрдм рддрдп рд╣реЛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рд╣рдо compose up рд╕реЗ рдмрд╛рд╣рд░ рдирд╣реАрдВ рдЬрд╛рддреЗ рд╣реИрдВ рдЬрдм рддрдХ рдХрд┐ рд╕рднреА рд╕реЗрд╡рд╛рдПрдБ рдмрд╛рд╣рд░ рдирд╣реАрдВ рдирд┐рдХрд▓ рдЬрд╛рддреА рд╣реИрдВред

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

2) рдЙрдиреНрд╣реЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝реЗрдВ

рдореИрдВ рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП рдорддрджрд╛рди рдХрд░рддрд╛ рд╣реВрдВред рдЬреИрд╕реЗ рдХрд┐ start: false рдирд┐рд░реНрджреЗрд╢ред рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдХрдИ рдХрдореНрдкреЛрдЬрд╝.рдорд╛рдЗрд▓ рдлрд╝рд╛рдЗрд▓реЛрдВ рдпрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЙрдиреНрдлрд┐рдЧ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рдмрдЪрддреЗ рд╣реИрдВ, рдЖрдк рдкреВрд░реЗ рдРрдк рд╕реНрдЯреИрдХ рдХрд╛ рдЕрд╣рд╕рд╛рд╕ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл рдПрдХ рдХрдВрдкреЛрдЬрд╝.рдЖрдИрдПрдордПрд▓ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред

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

рд╡рд┐рдХрд▓реНрдк 1 рдХреЗ рд▓рд┐рдП +1

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

рдЗрди рдореБрджреНрджреЛрдВ рдореЗрдВ рд╕реЗ рдХреБрдЫ (рдбреЗрдЯрд╛-рдХреЗрд╡рд▓ рдХрдВрдЯреЗрдирд░реЛрдВ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рд╡рд╛рд▓реЗ, # 942, @ cpuguy83 рд╕реЗ рдЕрдВрддрд┐рдо рдЯрд┐рдкреНрдкрдгреА) рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА # 1754 рджреНрд╡рд╛рд░рд╛ рддрдп рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╣рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдХрд┐рд╕реА рднреА рд╕рдорд╕реНрдпрд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (1.5 рдХреЗ рдмрд╛рдж )ред

рд╣рдо Magento рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ LAMP рд╕реНрдЯреИрдХ рдкрд░ рд╡реЗрдмрд╕реНрдЯреЛрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рддрд░реАрдХрд╛ рдЪрд╛рд╣рд┐рдПред рдХрдореНрдкреЛрдЬ рдХрд░рдирд╛ рдЗрддрдирд╛ рдЖрд╕рд╛рди рд╣реИред рд▓реЗрдХрд┐рди рд╣рдо phpunit, рд╡рд┐рднрд┐рдиреНрди рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЙрдкрдХрд░рдг, рдкреНрд░рд▓реЗрдЦрди рдмрд┐рд▓реНрдбрд░реЛрдВ рдЖрджрд┐ рдХреЛ рднреА рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдорд╛рд░реА "рд╕реЗрд╡рд╛рдУрдВ" рдХрд╛ рд╡рд┐рд╢рд╛рд▓ рдмрд╣реБрдордд docker-compose run --rm phplint рдХрдорд╛рдВрдб

docker-compose up -d

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

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

@kojiromike , рдпрд╣ рдХреНрдпрд╛ рд╣реИ (1) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреЛ рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдкрдпреБрдХреНрдд рд╣реИ? рдХреНрдпрд╛ рдпрд╣ рдХреЗрд╡рд▓ рдХрдорд╛рдВрдб рд╢рдмреНрджрд╛рд░реНрде рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ ( docker-compose run --rm phplint рдмрдирд╛рдо docker-compose --file phplint.yml up )?

рдЗрд╕рдХреА рдХрд┐ docker-compose up -d 'phplint' рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреА рд╣реИ рдФрд░ docker-compose ps рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддреА рд╣реИ рдХрд┐ phplint 'рд╕реЗрд╡рд╛' рдиреАрдЪреЗ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдПрдХ рд╕рд░реНрд╡рд┐рд╕ рдХрдВрдЯреЗрдирд░ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдПрдХ рдЯреВрд▓ рдХрдВрдЯреЗрдирд░ рд╣реИ, рдЗрд╕рдореЗрдВ рдЕрдк / рдбрд╛рдЙрди рдХреА рдХреЛрдИ рдЕрд╡рдзрд╛рд░рдгрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдореЗрд░реА рд╕рдордЭ рдереА рдХрд┐ рдЯреВрд▓ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдбреЙрдХрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдЧрд▓реЗ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЗрд╕рдХреЗ рдХрд╛рд░рдг рдЖрдк рд░реЗрдбрд┐рд╕-рдХреНрд▓реА рдЬреИрд╕реЗ рдХреБрдЫ рдХреИрд╕реЗ рдЪрд▓рд╛рдПрдВрдЧреЗ, рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ 'рд╕реЗрд╡рд╛' рдирд╣реАрдВ) рдФрд░ рдЬрдм рдореИрдВ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдЕрдзрд┐рдХ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдирдХреЗ рдкрд╛рд╕ рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рднреА рдЬрдЧрд╣ рд╣реИ; рдЬреИрд╕реЗ рдХреНрдпреЛрдВ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ awk рдЙрддреНрдкрд╛рджрди рдорд╢реАрдиреЛрдВ рдкрд░ рдпрд╛ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВ рдЗрд╕реЗ рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рдирд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде рдПрдХ рдХрдВрдЯреЗрдирд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рди рдЪрд▓рд╛рдПрдВред

: +1: рдореИрдВ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдЪрд▓ рд░рд╣реА рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдПрдирдХреИрдкреНрд╕реБрд▓реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдЕрдиреНрдп рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ tests рдХрдВрдЯреЗрдирд░ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореЗрд░рд╛ "рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб" рдХрдорд╛рдВрдб рдХреЛ "/ рдмрд┐рди / рд╕рдЪ" рдкрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реИ рдФрд░ рд╕реАрдПрд▓рдЖрдИ рдкрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдпреВрдирд┐рдЯ рдЯреЗрд╕реНрдЯ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдХрдВрдЯреЗрдирд░ рдЪрд▓рд╛рдирд╛ рд╣реИред рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдХреМрди рд╕реЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ up рд╢реБрд░реВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

(btw, рдЪрд╛рд░реЛрдВ рдУрд░ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо, рд▓реЛрдЧ)

cc @jameydeorio

@ryneeverett рд╢рдмреНрджрд╛рд░реНрде рдЗрд╕рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИрдВред рдпрд╣ рд╕реНрд╡-рджрд╕реНрддрд╛рд╡реЗрдЬ рдФрд░ рдЦреЛрдЬ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рд╣рдо рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ docker-compose run --rm foo bar рдмрддрд╛рддреЗ рд╣реИрдВред рд╣рдо рдЙрдиреНрд╣реЗрдВ рд╢реЗрд▓ рдлрд╝рдВрдХреНрд╢рди рдпрд╛ рдЕрдиреНрдп рдирд╛рдо рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдирдХ рдЙрдкрдирд╛рдо / рдЖрд░рд╕реАрдПрдлрдИрдПрд▓ рдмрдирд╛рдП рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВред (рд╣рдо рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдмрд╛рд╣рд░ рдЪреАрдЬреЛрдВ рдХреЛ рдорд╛рдирдХреАрдХреГрдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ; рд╣рдо рдбреЙрдХрдЯрд░ _to_ рдХрд╛ рдорд╛рдирдХреАрдХрд░рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред) рдХреБрдЫ рдЖрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдорд╣рддреНрд╡ рдХрд╛ рдкрджрд╛рдиреБрдХреНрд░рдо рдмрдирддрд╛ рд╣реИ: docker-compose.yml рдлрд╝рд╛рдЗрд▓ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХреЗ рд▓рд┐рдП "рдбрд┐рдлрд╝реЙрд▓реНрдЯ" рдлрд╝рд╛рдЗрд▓ рдмрди рдЬрд╛рддреА рд╣реИред рдЪреАрдЬреЗрдВ, рдФрд░ "рдЕрдиреНрдп" рдлрд╝рд╛рдЗрд▓ рдХрдо рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛ рдЬрд╛рддреА рд╣реИред

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

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

@kojiromike рдпрд╣реА рдореБрдЭреЗ рд╢рдХ рдерд╛ред рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдЕрдЧрд░ рдЖрдк рдмреЗрд╣рддрд░ рд╕реЗ рд╕рдВрддреБрд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ extends рд╕рдорд░реНрдерди + рдХрд┐рд╕реА рддрд░рд╣ subcommands (рдЬреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рд╕рдорд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП extends рдПрдХ рднреА рдЕрдВрджрд░), docker-compose.yml ред рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдмрд╛рдж рд╡рд╛рд▓рд╛ (4) рдЬреИрд╕рд╛ рд╣реИред

2) рдЙрдиреНрд╣реЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝реЗрдВ

рдореИрдВ рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП рдорддрджрд╛рди рдХрд░рддрд╛ рд╣реВрдВред рдЬреИрд╕реЗ рдХрд┐ start: false рдирд┐рд░реНрджреЗрд╢ред рд▓рд╛рдн рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдХрдИ рдХрдореНрдкреЛрдЬрд╝.рдорд╛рдЗрд▓ рдлрд╝рд╛рдЗрд▓реЛрдВ рдпрд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЙрдиреНрдлрд┐рдЧ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╕реЗ рдмрдЪрддреЗ рд╣реИрдВ, рдЖрдк рдкреВрд░реЗ рдРрдк рд╕реНрдЯреИрдХ рдХрд╛ рдЕрд╣рд╕рд╛рд╕ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл рдПрдХ рдХрдВрдкреЛрдЬрд╝.рдЖрдИрдПрдордПрд▓ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ https://github.com/docker/compose/issues/1987#issuecomment -139632238 рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рдЗрд╕реЗ рд╕рдВрднрд╛рд▓ рд▓реЗрдЧрд╛ред "рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ" рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЬрдм рдПрдХ рд░рдЪрдирд╛ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдЖрджреЗрд╢ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ -f рд╕рд╛рде рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред

@dnephin # 1987 рдореЗрдВ рд╕рдорд╛рдзрд╛рди command: /bin/true рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

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

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

nginx:
  image: nginx:1.9
  volumes_from:
  - data

php:
  image: php:5.6-fpm
  volumes_from:
  - data

data:
  image: debian:jessie
  volumes:
  - ./:/app

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдПрдХ рдХреЛрдиреЗ рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИ рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЬреЛрдбрд╝рдирд╛ рд╕рдВрднрд╡рддрдГ рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдирд╣реАрдВ рд╣реИред рдореИрдВ рд╕рд┐рд░реНрдл рдпрд╣ рдХрд╣ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЛ рд╕рдВрднрд╛рд▓рддрд╛ рдирд╣реАрдВ рд╣реИред

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

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

рдпрд╣ рдЬрд░реВрд░реА рдирд╣реАрдВ рдХрд┐ рдпрд╣ рд╕рд╣реА рд╡рд┐рдХрд▓реНрдк рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реАрдЦрдиреЗ рдХреА рдЕрд╡рд╕реНрдерд╛ / рд╕рдордЭрдиреЗ рдореЗрдВ рдЖрд╕рд╛рдиреА рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ (2) рд╕рдордЭрд╛рдирд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдмрд╛рдд рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдЖрдВрдд рдХреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдЧреЛрдВ рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рд╡реЗ рд╕рднреА docker-compose рд╡рд┐рдХрд▓реНрдкреЛрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВ рдЬреЛ рдЙрд╕ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рдЪрд▓рддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рд╣рдо рдпрд╣рд╛рдБ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, "рдХрд╛рд╢, рдЙрд╕ рдХрдВрдЯреЗрдирд░ рдХреЛ _not start_ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХрд╛ рдХреЛрдИ рд░рд╛рд╕реНрддрд╛ рд╣реЛрддрд╛, рдЬрдм рдореИрдВ docker-compose up рдЪрд▓рддрд╛," рдФрд░ рд╡реЗ start: false рдФрд░ bam рджреЗрдЦрддреЗ рд╣реИрдВ, рд╣рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдЦреБрд╢ рд╣реИрдВред

рд╡реЗ рдпрд╣ рдирд╣реАрдВ рдХрд╣рддреЗ рд╣реИрдВ, "рдпрджрд┐ рдХреЗрд╡рд▓ рдПрдХ рддрд░реАрдХрд╛ рдерд╛ рддреЛ рдореИрдВ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЬреАрдм рд▓рд┐рдВрдХрд┐рдВрдЧ рд╕реНрдЯреЛрд░реА рдХреЗ рд╕рд╛рде рдПрдХ 2 рдбреА рдлрд╛рдЗрд▓ рдмрдирд╛ рд╕рдХрддрд╛ рдерд╛ ..." (рдореБрдЭреЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ https://github.com/docker/compose/issues/ 1987 # рдЬрд╛рд░реАрдХрд░рдг -139632238 "рдЕрдЬреАрдм рд▓рд┐рдВрдХрд┐рдВрдЧ рд╕реНрдЯреЛрд░реА," рдп?) рдХреЗ рд╕рд╛рде рдорджрдж рдХрд░рддрд╛ рд╣реИред

(4) рдЕрд╕реНрдкрд╖реНрдЯ рдерд╛, рд▓реЗрдХрд┐рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рд░рд╛рд╕реНрддреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд░реНрдкрд┐рдд рдПрд╡реЗрдиреНрдпреВ рдФрд░ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдПрдХ-рдСрдлреНрд╕ рдпрд╣ "рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ" рдмрд┐рд▓ред

рдЖрдЬ рдореИрдВ рдмрд┐рд▓реНрдХреБрд▓ (2) рддрд▓рд╛рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛ рд▓реЗрдХрд┐рди рдЕрдкрдиреЗ рд╕рдмрд╕реЗ рдХрдо рдкрд╕рдВрджреАрджрд╛ рд╕рдорд╛рдзрд╛рди, рдПрдХ рджреВрд╕рд░реА YML рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реБрдЖред рдореЗрд░рд╛ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛:

рдореЗрд░реЗ рдкрд╛рд╕ рдХреБрдЫ рдХрдВрдЯреЗрдирд░ рд╣реИрдВ рдФрд░ рд╡реЗ рд╕рднреА рд╕рдорд╛рди mongo рдХрдВрдЯреЗрдирд░ рд╕реЗ рд▓рд┐рдВрдХ рд╣реИрдВред рдореИрдВ рдЦреБрдж рдХреЛ рдФрд░ рдЯреАрдо рдХреЛ рдореЛрдВрдЧреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЬреБрдбрд╝рдирд╛рд░ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ mongo рдХрдВрдЯреЗрдирд░ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдирд╛рдо fixtures рддрд╣рдд рд▓реЛрдб рдХрд░рдирд╛ рд╣реИ рдЦреБрдж рдХреЛ рдореЛрдВрдЧреЛ рд╕реЗ рд▓рд┐рдВрдХ рдХрд░реЗрдВ рдФрд░ рдлрд┐рд░ mongorestore --host mongo --port 27017 --drop /dump рдЪрд▓рд╛рдПрдВред рдЪреВрдБрдХрд┐ рд╣рдо рд╕рднреА рд╕рдордп рдкрд░ рдЬреБрдбрд╝рдирд╛рд░ рд▓реЛрдб рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, start: false рд╕рд╛рде рдРрд╕рд╛ рд╣реЛрдирд╛ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд▓рдЧрд╛ рд▓реЗрдХрд┐рди рджреЛрдиреЛрдВ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ YML рдлрд╝рд╛рдЗрд▓ fixtures рдФрд░ mongo ред

рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди start: false рдмрд╣реБрдд рдХреНрд▓реАрдирд░ IMO рд╣реИред рдЕрдЧрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕ рддрдерд╛рдХрдерд┐рдд рдЬреБрдбрд╝рдирд╛рд░ рдХрдВрдЯреЗрдирд░ рдХреЗ 10 рдпрд╛ рдЕрдзрд┐рдХ рдХреНрд░рдордкрд░рд┐рд╡рд░реНрддрди рд╣реЛрдВрдЧреЗ, рддреЛ рд╣рд╛рдБ start: false рдПрдХ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реЛрдЧрд╛ рдФрд░ рдореИрдВ (1) рд╕рд╛рде рдЬрд╛рдКрдВрдЧрд╛ред

рдмрд╕ рдПрдХ рдХрдВрдкреЛрдЬрд╝ рдлрд╛рдЗрд▓ рдмрдирд╛рдиреА рдереА рдЬрд╣рд╛рдБ рдХреБрдЫ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ docker-compose up -d рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореЗрд░реЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдк (2) рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛрдЧрд╛ред

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

рдирдорд╕реНрддреЗ! рдпрд╣рд╛рдБ рдПрдХ рд╣реА рдореБрджреНрджрд╛, рдЦреБрд╢реА рд╣реИ рдХрд┐ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдореВрд╣рди рдореБрджреНрджрд╛ рд╣реИ, рдорд╣рд╛рди рдХрд╛рдо!

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

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

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

рдЕрдЧрд░ рдХреБрдЫ рд╕рд╣рдорддрд┐ рд╣реИ рддреЛ рдореИрдВ "рдкреБрдирдГ рдЖрд░рдВрдн" рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдкреБрд▓-рд░реАрдХ рднреЗрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ
рд╢реБрд░реВ: рд╣рдореЗрд╢рд╛
рд╢рд╛рдпрдж ... рджреБрдиреНрдиреЛред

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рд╡реЛрдЯред

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

рд╡рд┐рдХрд▓реНрдк 2 рдореЗрд░реЗ рд▓рд┐рдП рднреА

рд╡рд┐рдХрд▓реНрдк 2 рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП +1

рд╡рд┐рдХрд▓реНрдк рдХреЗ рд▓рд┐рдП +1 2. рдХрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рдФрд░ рдЙрдирдХреЗ рдирд╛рдо рд▓рд┐рдЦрдирд╛ рдХреЗрд╡рд▓ рд╕рдордп рдмрд░реНрдмрд╛рдж рдХрд░рдирд╛ рд╣реИред рдПрдХ рдПрдХрд▓ рдмреВрд▓рд┐рдпрди рдзреНрд╡рдЬ рдЙрди рд╕рднреА рдкрд░ рд░рд╛рдЬ рдХрд░реЗрдЧрд╛ред :рдмрд┐рдпрд░:

рдСрдкреНрдЯ 4 рдХреЗ рд▓рд┐рдП +1,
рдЕрдЧрд░ рдореБрдЭреЗ рдПрдХ рджреВрд╕рд░рд╛ рдкрд╕рдВрджреАрджрд╛ рдЪреБрдирдирд╛ рд╣реЛрдЧрд╛ 2 рдСрдкреНрдЯред

рдпрд╣ рд╕рдЪ рд╣реИ рдХрд┐ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк 2,4 рд╣реИ рдЕрдЧрд░ рдореИрдВ рджреЛрдиреЛрдВ рдХреЛ +1 рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рддреЛ рдореИрдВ рдХреНрдпрд╛ рдХрд░реВрдВ рдЕрдЧрд░ рдореИрдВ рдмрд╣реБрдордд рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ 2 рдХреЗ рд▓рд┐рдП рд╡реЛрдЯ рдХрд░реВрдВред

2 рдХреЗ рд▓рд┐рдП рдорддрджрд╛рди

2 рдФрд░ 4 рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реИред
2 рдХреЗ рд▓рд┐рдП +1

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рдЕрд╡рдзрд╛рд░рдгрд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдпреЗ рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкрдврд╝рддреЗ рд╣реИрдВ рдФрд░ рдХрдИ рд╕рдВрд╢реЛрдзрдиреЛрдВ рдХреЗ рдмрд┐рдирд╛ рд╕рдВрднрд╡ рд╣реИрдВ:

// 'task' being a service that manages all my tasks, probably with some custom entrypoint script
docker-compose run task tests

// 'tests' being a service specifically for testing with the default command set to run my tests
docker-compose run tests

рдЕрд▓рдЧ рдХрдореНрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рд╡рд░реНрддрдорд╛рди "рд╕рдорд╛рдзрд╛рди" рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ @xaka рдиреЗ рдХрд╣рд╛, рдХреЛрдИ рднреА рдпрд╣ рд╕рдм рдирд╣реАрдВ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддрд╛:

docker-compose -f default-file.yml -f additional-tasks-file.yml  run task myTask

рдЖрдкрдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ ./run-task рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рд▓рд┐рдП myTask рд╕реЗ рдкрд╣рд▓реЗ рд╕рднреА рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдм рдЖрдкрдиреЗ рдЕрдкрдиреЗ рдорд▓реНрдЯреА-рдХрдВрдЯреЗрдирд░-рдРрдк рдореЗрдВ рдПрдХ рдФрд░ рдПрдВрдЯреНрд░реАрдкреЙрдЗрдВрдЯ рдФрд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЬреЛрдбрд╝рд╛ рд╣реИред рдбреЗрд╡рд▓рдкрд░реНрд╕ docker-compose.yml рдФрд░ рд╕реЛрдЪрддреЗ рд╣реИрдВ: _ "рдУрд╣ рдорд╣рд╛рди, рдПрдХ рд░рдЪрдирд╛ рдРрдкред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдЪреАрдЬрд╝ рдХреЛ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рдирд╛ рд╣реИ!" _ рдФрд░ рдЕрдм рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рдмрддрд╛рдирд╛ рд╣реЛрдЧрд╛: _ "рд╕рд╣реА рд╣реИ, рдЖрдк рдЗрд╕реЗ docker-compose рд╕рд╛рде рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

start: false / up: false / some-additional-flag-to-a-service: false рд╢рд╛рдпрдж рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕рд░рд▓ рдмрд╛рдд рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рднреА рд╕реНрдкрд╖реНрдЯ рдФрд░ рд╕рдордЭрдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рд╣реИред рдФрд░ рдпрд╣ рдкреНрд░рдпреЛрдЬреНрдпрддрд╛ рдореЗрдВ рдЗрддрдирд╛ рд╕реБрдзрд╛рд░ рдХрд░реЗрдЧрд╛ред

@sherter рдиреЗ рдХреНрдпрд╛ рдХрд╣рд╛ред :рдКрдкрд░реА рддреАрд░:

: +1: рдЙрд╕рдХреЗ рд▓рд┐рдПред рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбреЙрдХрдЯрд░рд╛рдЗрд▓ рдПрдХ рдмрдбрд╝рд╛ рджрд░реНрдж рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЬрдм рдиреЗрдЯрд╡рд░реНрдХ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВ

start: true|false рджреГрд╖реНрдЯрд┐рдХреЛрдг рдмрд╣реБрдд рд╕реАрдорд┐рдд рд╣реИред рдпрджрд┐ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЕрдиреНрдп рдФрд░ рдмрд╛рдХреА рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рд╣реЛрдЧрд╛?

рдореИрдВ рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рд╕рдореВрд╣реАрдХрд░рдг рдХреА рдзрд╛рд░рдгрд╛ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред

    myservice:
       group: `admin`

рдпрджрд┐ group рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ default рдорд╛рди рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕ рддрд░рд╣ рд╣рдо docker-compose up -g admin -d рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдФрд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рд╕реЗрд╡рд╛рдПрдБ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдмреЗрд╣рддрд░ рдЕрднреА рддрдХ, groups рдПрдХ рд╕рд░рдгреА рдмрдирд╛рддреЗ рд╣реИрдВред

рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рдореВрд╣-рд╡рд░реНрдЧ рдмрдирд╛рдирд╛ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реЛрдЧреА, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд▓рд┐рдП рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред

рдбреЙрдХрдЯрд░-рдХрдореНрдкреЛрдЬ 2 рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ , рдкреНрд░рддреНрдпреЗрдХ рдХрдВрдЯреЗрдирд░ рдХреЛ services: рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп-рдЖрдЗрдЯрдо рдХреЗ рдЕрдВрджрд░ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдПрдХ рд╕реЗрд╡рд╛ рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рдирд╛, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП start: never рдХреЗ рд╕рд╛рде рдЧрд▓рдд рд▓рдЧрддрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП рдирдП рдкреНрд░рд╛рд░реВрдк рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреЗ рд╣реБрдП, рдХреНрдпрд╛ рд╣рдореЗрдВ _services_, _volumes_ рдФрд░ _networks_ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп рдЖрдЗрдЯрдо рдХреА рдШреЛрд╖рдгрд╛ рдирд╣реАрдВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП?

рдореЗрд░рд╛ рдкреНрд░рд╕реНрддрд╛рдм:

  • v2 рдореЗрдВ рдПрдХ рдирдпрд╛ scripts: , transients: (рдпрд╛ рдПрдХ рдмреЗрд╣рддрд░ рдирд╛рдо) рд╢реАрд░реНрд╖ рд╕реНрддрд░реАрдп рдЖрдЗрдЯрдо рдЬреЛрдбрд╝реЗрдВред
  • рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдХрд┐рд╕реА рднреА рд╕реЗрд╡рд╛ рдХреЗ рд╕рд╛рде рдХрд░рддреЗ рд╣реИрдВ, рдЙрд╕рдХреЗ рдЕрдВрджрд░ рдЖрдк рдПрдХ рдХрдВрдЯреЗрдирд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
  • рдПрдХрдорд╛рддреНрд░ рдЕрдВрддрд░ рдпрд╣ рд╣реИ рдХрд┐ рд╡реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ _start рдирд╣реАрдВ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдХреЗрд╡рд▓ рдХреНрд╖рдгрд┐рдХ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЕрднрд┐рдкреНрд░реЗрдд рд╣реИрдВред

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

version: "2"

services:
  web:
    image: myapp
    networks:
      - front
      - back
    volumes:
      - /usr/src/app/
  redis:
    image: redis
    volumes:
      - redis-data:/var/lib/redis
    networks:
      - back

scripts:
  bower:
    image: my_image_with_bower
    volumes_from: web
    working_dir: /usr/src/app/static
    command: "bower"
// maybe would be great to place something like "bower $@"
// to define where you want the cli arguments to be placed, by default at the end.

volumes:
  redis-data:
    driver: flocker

networks:
  front:
    driver: overlay
  back:
    driver: overlay

рдФрд░ рдлрд┐рд░ рдЖрдк рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ:

docker-compose script bower <EXTRA_CMD_ARGUMENTS |  default nothing>

docker-compose script bower install

рдЪрд┐рдВрддрд╛рдУрдВ:

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

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

PD: @bfirsh рд╢рд╛рдпрдж рдЕрдЧрд░ рдЖрдкрдХреЛ рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рдЖрдпрд╛ рддреЛ рдЖрдк рдЗрд╕реЗ "рд╕рдВрднрд╛рд╡рд┐рдд рд╕реБрдЭрд╛рд╡" рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ

рджреВрд╕рд░реЗ рдкрд░ рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЖрд╕рдиреНрди рдирдП рдкреНрд░рд╛рд░реВрдк рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг 4 рд╡реЗрдВ рд╕реБрдЭрд╛рд╡ рдХрд╛ рдПрдХ рд╕реБрдзрд╛рд░ рд╣реИред

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

disabled: true рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛

@ cpuguy83 рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреВрд░реА рд╕реЗрд╡рд╛ рдЕрдХреНрд╖рдо рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ run ред рдореБрдЭреЗ рдпрд╣ рднреНрд░рд╛рдордХ рд▓рдЧреЗрдЧрд╛ред

@qcho рд╣рдореНрдо, рдЕрдм рдЬрдм рдореИрдВрдиреЗ 1.6 рдХреЗ рдмрд╛рдж рд╕реЗ рдЦреБрдж рдХреЛ рдбреЙрдХрдЯрд░ рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рдкрд╣рдЪрд╛рди рд▓рд┐рдпрд╛ рд╣реИ, рддреЛ рдореИрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдФрд░ @gittycat рдХреНрдпрд╛ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЙрд╕ рдЕрд░реНрде рдореЗрдВ, рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ @gittycat рдХрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкрд╕рдВрдж рд╣реИред рдореИрдВ рдЪрд┐рддреНрд░ (рдиреАрд▓рд╛ рдЖрдХрд╛рд╢) рдЬреИрд╕рд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕:

groups: # if no groups, all services are in the "default" group byтАжdefault
    - foo
    - bar
services:
  foo:
    image: imagine
    groups: foo
  bar:
    image: energy
    groups: bar
  baz:
    image: money
    # no groups, so "default"
   quux:
    image: word
    groups:
      - bar
      - default

рдЗрд╕ рдмреАрдЪ, рдЦреЛрд▓ рдореЗрдВ ...

docker-compose up -d # Up all services in default group, so 'baz' and quux
docker-compose up -d --groups foo # Up all services in the foo group
docker-compose up -d --groups foo,default # You get the idea
docker-compose run --rm bar somecommand # We never started 'bar', so it can be a one-off command

рдЗрд╕ рддрд░рд╣ рд╕реЗ рдПрдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рднрдпрд╛рдирдХ рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕ рдЯрд┐рдХрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рдХрдо рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рдЬрд╛рддрд╛ рд╣реИред

@kojiromike рдореБрдЭреЗ рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ред рдпрд╣ рд╣реИ рдХрд┐ init рд╕рд┐рд╕реНрдЯрдо рдЙрди рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЕрдкрдиреЗ рдЖрдк рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

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

@ cpuguy83 рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ "рд╕реЗрд╡рд╛рдУрдВ" рдХрд╛ рд╢рдмреНрджрд╛рд░реНрде рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд╣реА рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ рднреНрд░рдорд┐рдд рд╣реИред рдореИрдВ рдЗрд╕ рдмрд╛рдд рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ рд╕рдореВрд╣реАрдХрд░рдг рдХреА рдЧреБрдВрдЬрд╛рдЗрд╢ рдЧреБрдВрдЬрд╛рдЗрд╢ рд╣реИред рдЗрд╕ рдЕрд░реНрде рдореЗрдВ рдореИрдВ рд╡рд┐рдХрд▓реНрдк 4 / @qcho рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдБ, рдЬрд╣рд╛рдБ рд╡реЗ "рд╕реЗрд╡рд╛рдУрдВ рд╕реЗ рдирд╣реАрдВ" рд╕реЗрд╡рд╛рдУрдВ рд╕реЗ "рд╕реЗрд╡рд╛рдУрдВ" рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрд▓рдЧ рдХрд░рддреЗ рд╣реИрдВред

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

рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рд╛рд░реВрдк рдХреЗ "рд╕рдВрд╕реНрдХрд░рдг 2" рдХреЛ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдХрд▓реНрдкрдирд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ

version: 3?
containers:
  webserver:
    ...
  database:
    ...
  cache:
    ...
  some_script_container:

services: (they are groups):
  production:
    webserver:
      ...
    database:
      ...
    cache:
      ...
  development:
    webserver:
      ... DEFINE SOME CUSTOM DEV STUFF ABOVE basic container definition
    database:
      ...
    cache:
      ...     

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

@qcho рдПрдХ рд╕реЗрд╡рд╛ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ - рдореИрдВ рд╕рд╡рд╛рд▓ рдореЗрдВ рдХреБрдЫ рдХрд╣рддрд╛ рд╣реВрдВ рдЬрд┐рд╕реЗ рдХреЗрд╡рд▓ рдЕрд╡рд╕рд░ рдкрд░ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдХреЗрд╡рд▓ рдПрдХ рдорд╛рдирд╡ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ рдирд╣реАрдВред

рддреЛ рдЪрд▓рд┐рдП рд╣рдо рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдХреБрдЫ job рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рддрд░рд╣ рдХреБрдЫ рдЕрдкрдирд╛рдПрдВред

  1. рдиреМрдХрд░рд┐рдпрд╛рдВ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдЪрд▓рддреА рд╣реИрдВ
  2. рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдмрд╛рдж рдиреМрдХрд░реА рдорд┐рд▓рдиреЗ рд▓рдЧреА рд╣реИ
  3. рдиреМрдХрд░рд┐рдпреЛрдВ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИ
  4. ???

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

рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЗрд╕реЗ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ auto-up: false рдпрд╛ autorun: false рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рдФрд░ рдХрдо рдбрд░рд╛рд╡рдирд╛ (рд╕реНрдХреЛрдкрд╛рдЗрдЬрд╝) рддрд░реАрдХрд╛ рд╣реИред

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

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

рдореИрдВ рдпрд╣ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ рд▓реЛрдЧ рдРрд╕рд╛ рдХреНрдпреЛрдВ рдХрд╣рддреЗ рд░рд╣рддреЗ рд╣реИрдВ

services:
  my-script-container:
    auto-up:false

рд╕реЗ рд╕рд░рд▓ рд╣реИ:

scripts/containers/transients/you_name_it:
  my-script-container:

рдпрд╣ рдЬрдЯрд┐рд▓рддрд╛ рдХрд╛ рд╕рдорд╛рди рд╕реНрддрд░ рд╣реИред рд▓реЗрдХрд┐рди рд╢рдмреНрджрд╛рд░реНрде рдореЗрдВ рдХрдо рд╣реИред

рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рдПрдХ рдзрд╛рдЧреЗ рдкрд░ рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, # 2803 рдХрд╛ рд╕рдВрджрд░реНрдн рд▓реЗрдВ

рдорд╛рдорд▓реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрдИ рдШрдЯрдХреЛрдВ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЪреБрдирдирд╛ рд╣реИ рдФрд░ рдЬрд┐рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╡рд╣ рд░рдЪрдирд╛ рдХрд░рддрд╛ рд╣реИ рдлрд╝рд╛рдЗрд▓ рдЙрди рд╕рднреА рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред

рдкреНрд░рд╕реНрддрд╛рд╡: рд╣рдо docker-cmpose.overrider.yml рдореЗрдВ int рдбрд╛рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред docker.com рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЫрд╡рд┐ рдХреЛ рдмрд╛рд╣рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

рдЕрд░реНрдерд╛рдд

рдХреБрдЫ рдЫрд╡рд┐:
рдмрд╣рд┐рд╖реНрдХреГрдд: рд╣рд╛рдБ

рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝.рдорд╛рдЗрд▓ рдореЗрдВ рдЙрд╕ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛

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

# 2 рдХреЗ рд▓рд┐рдП рднреА рд╡реЛрдЯрд┐рдВрдЧ ... рдмрд╕ рдЖрдЬ рдЗрд╕ рдЬрд░реВрд░рдд рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ред

@jimzucker рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рднреА рдХрд╛рдо рдХрд░реЗрдЧрд╛, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореБрдЭреЗ рдореБрдЦреНрдп .yaml рдореЗрдВ "start: false" рджреЗрдЦрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрд╛ рдЧрдпрд╛ рд╣реИред рдЖрдкрдХреЛ рддреБрд░рдВрдд рдЗрд╕ рдмрд╛рдд рдХрд╛ рд╕реБрд░рд╛рдЧ рд▓рдЧрд╛рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ 'рд╕реЗрд╡рд╛' рддрдм рддрдХ рдирд╣реАрдВ рдЪрд▓реЗрдЧреА рдЬрдм рддрдХ рдЖрдк рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдмреБрд▓рд╛рддреЗред рдЕрдиреНрдпрдерд╛ рдЖрдк (рдпрд╛ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдВрдб-рдпреВрдЬрд╝рд░ / рдбреЗрд╡рд▓рдкрд░ рдЬрд┐рд╕реЗ рдЖрдкрдиреЗ рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ рдлрд╛рдЗрд▓ рд╕реМрдВрдкреА рдереА) рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдлрд╝рд╛рдЗрд▓ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛рдж рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

+1 рдХреЗ рд▓рд┐рдП 2. рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рд╣реИ рдЬрд╣рд╛рдВ рдореБрдЭреЗ рд░рдЪрдирд╛ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдбреЙрдХрдЯрд░ рдЫрд╡рд┐ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рд╕реЗрд╡рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рдЪрд▓рддреА рд╣реИред рдЕрдиреНрдп рд╕реЗрд╡рд╛рдПрдВ (рдЬрд┐рдирдХреЗ рдЕрдВрджрд░ docker sock рдорд╛рдЙрдВрдЯ рд╣реИ) рдЗрдореЗрдЬ рд╕реЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рд╣рд░ рдмрд╛рд░ рдЪрд▓рд╛рддреЗ рд╣реИрдВред

+1 рдХреЗ рд▓рд┐рдП 2 рдФрд░ "рдСрдЯреЛ-рдЕрдк" рдпрд╛ "рдСрдЯреЛ-рд░рди" рдХреЗ рд╢рдмреНрджреЛрдВ рдХреЗ рд▓рд┐рдП +1ред

рдФрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рдореВрд╣реЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рдорд▓реЛрдВ (рдЬреИрд╕рд╛ @gittycat рджреНрд╡рд╛рд░рд╛ рд╕рдордЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ) рдХреЛ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ "рдСрдЯреЛ-рдЕрдк: $ {ADMIN}" рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

рдореИрдВ docker-compose.yml рдореЗрдВ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЛ рднреА рджреЗрдЦрддрд╛ рд╣реВрдВ рдЬреЛ рдХрд┐ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рд╕рд░рд▓ docker-compose up рд╕рд╛рде рд╢реБрд░реВ рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдХреЗрд╡рд▓ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╢реБрд░реВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

рд╕рдорд╛рдзрд╛рди 1) рдЕрдм рдПрдХ рд╕рдВрднрд╡ рддрд░реАрдХрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рднреА рдмреЛрдЭрд┐рд▓ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдХреЛ рдХреЗрд╡рд▓ docker-compose up рдХреЙрд▓ рдХрд░рдиреЗ рдФрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдпрд╛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдпрд╛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ yml рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред

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

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП +1

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП +1

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП +1

рджреЛрдиреЛрдВ рд╡рд┐рдХрд▓реНрдкреЛрдВ 2 рдФрд░ 4 рдХреЗ рд▓рд┐рдП +1

рд╡рд┐рдХрд▓реНрдк 2 рдФрд░ 4 рдХреЗ рд▓рд┐рдП +1

рд╡рд┐рдХрд▓реНрдк рдХреЗ рд▓рд┐рдП +1 4. рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП (рдЬреИрд╕реЗ: рдкреБрдирд░рд╛рд░рдВрдн: рд╣рдореЗрд╢рд╛)

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд╕рд╛рде, рдпрд╣ рдЕрдЬреАрдм рдорд╛рдорд▓рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:

service:
  run_tests:
    build: ./tests/
    restart: always
    auto-start: "false"

рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реЛрдЧрд╛?

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

@ рдУрдВрдХреЛ рдУрд╣ рдареАрдХ рд╣реИ, рдореБрдЭреЗ рдкреЛрд╕реНрдЯрд┐рдВрдЧ рд╕реЗ рдкрд╣рд▓реЗ рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдирд╛ рдЪрд╛рд╣рд┐рдП ...

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ "рд╡реЛрдЯ" рдХреЛ +1 рдореЗрдВ рдмрджрд▓рдирд╛

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП +1, рдореБрдЭреЗ рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

pinging @bfirsh @dnephin :
рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдкрдбреЗрдЯ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ? рдЪреВрдВрдХрд┐ рдпрд╣рд╛рдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╣реИрдВ, рдХреНрдпрд╛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдРрд╕рд╛ рдХреБрдЫ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдХреЛрдИ рдпреЛрдЬрдирд╛ рд╣реИ (рдпрд╛ рд╡рд┐рдХрд▓реНрдк 3/4)?
рдореИрдВ рдЕрдкрдиреЗ рдкреБрд▓ рдЕрдиреБрд░реЛрдз (# 3047) рдХреЛ рдкреЙрд▓рд┐рд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдЗрд╕реЗ рдкрд░реАрдХреНрд╖рдг рдФрд░ рдкреНрд░рд▓реЗрдЦрди рдХреЗ рд╕рд╛рде рдкреВрд░рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рд╡рд┐рд▓рдп рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

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

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП +1

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП +1

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП +1

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рдХрд▓реНрдк 1 рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмреЗрд╣рддрд░ рддрд░реАрдХрд╛ рдЪрд╛рд╣рд┐рдП:

docker-compose -f docker-compose.yml -f docker-compose.tests.yml up

рд╢рд╛рдпрдж рдПрдХ рд╕рд░рд▓реАрдХреГрдд / рд╡реГрджреНрдзрд┐ рдзреНрд╡рдЬ рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ? docker-compose --augment tests up рдФрд░ рдпрджрд┐ рдпрд╣ docker-compose.yml рдХреА рднрд┐рдиреНрдирддрд╛ рд╣реИ рддреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╣рд▓ рд╣реЛрддрд╛ рд╣реИ - рдЕрдиреНрдпрдерд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдирдП рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдХреЗ рдХреАрд╡рд░реНрдб рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ, рд╢рд╛рдпрдж suites рдФрд░ commands ?

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛:

docker-compose run -s application
docker-compose run -c cache-clear

suites:
    application:
        services:
            - database
            - memcached
            - application
    tests:
        extends: application
        services:
            - application

commands:
    cache-clear:
        service: application
        workdir: /var/www
        command/entrypoint: php app/console ca:cl

рдореИрдВ рдХреЛрдб рдореЗрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА "рд╡рдирдСрдл" рд╕реЗрд╡рд╛рдУрдВ рдХреА рдзрд╛рд░рдгрд╛ рд╣реИ (рдЖрдИрдПрдордПрдЪрдУ рдХреЗрд╡рд▓ рддрдм рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм docker-compose run рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдлрд┐рд░ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?
рдЕрдЧрд░ рдореИрдВ рдПрдХ рдХрдВрдЯреЗрдирд░ рдХреЛ com.docker.compose.oneoff=True рд╕рд╛рде рд▓реЗрдмрд▓ рдХрд░реВрдВ, рддреЛ рдХреНрдпрд╛ рд╡рд╣ рдЗрд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдЧрд╛?

рдЕрдиреНрдпрдерд╛, рдореИрдВ рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП рдорддрджрд╛рди рдХрд░рддрд╛ рд╣реВрдВред

рдореИрдВ рдмрд╕ рдЗрд╕ рдкрд░ рдареЛрдХрд░ рдЦрд╛рдИ, рдЗрд╕рд▓рд┐рдП рдпрд╣рд╛рдВ рдореЗрд░реЗ рджреЛ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓реЗ рд╣реИрдВ:

  1. "рд╡реИрд╢реНрд╡рд┐рдХ" рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░: рдпрд╣рд╛рдБ рд╕реБрдЭрд╛рдпрд╛ рдЧрдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг extends , рдЬреЛ рдХрд┐ рдореИрдВ рдареАрдХ рд╣реВрдБ ... рд▓реЗрдХрд┐рди рдЕрдм рдореБрдЭреЗ рдЙрд╕ рдЪреАрдЬрд╝ рдХреЗ рд▓рд┐рдП image рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдореИрдВ рдпрд╣рд╛рдБ рд╕реЗ рдирд┐рдХрд╛рд▓ рд░рд╣рд╛ рд╣реВрдБред , рдФрд░ scratch рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ (рдЗрд╕рд▓рд┐рдП https://hub.docker.com/r/tianon/true/) рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реБрдЖред
  2. "рд╕реНрдХреЗрд▓рд┐рдВрдЧ" рд╕реЗрд╡рд╛рдПрдВ: рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ MongoDB рдЙрджрд╛рд╣рд░рдг рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдореИрдВ рдПрдХ рджреВрд╕рд░реЗ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рдЬрд┐рд╕реЗ рдореИрдВ рдЙрди рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рд▓рд╛ рд╕рдХрддрд╛ рд╣реВрдВред рдпрд╣рд╛рдВ рдПрдХ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ extends рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдПрдХ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рд╡рд┐рдЪрд╛рд░ рдЬреИрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ (рдЕрднреА рднреА docker / docker-compose рдФрд░ рд╢рд╛рдорд┐рд▓ рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реАрдЦ рд░рд╣рд╛ рд╣реИ)ред

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП +1

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП +1

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП +1
рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкрд░рд┐рд╡рд░реНрддрди рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ ...

+1 рд╡рд┐рдХрд▓реНрдк 2,

рдХрдИ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓реЗ рдореЗрдВ envs рдХрд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕реЗрдЯ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рд╕реЗ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ рдЖрдзрд╛рд░ рдХрдВрдЯреЗрдирд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдВрдЯреЗрдирд░ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред

auto-start:true|false

рдкрд┐рдЫрд▓реЗ рд╕рд╛рд▓ рд╕рд┐рддрдВрдмрд░ рд╕реЗ рд░реЙрдХрд░-рдХрдореНрдкреЛрдЬ рдирд╛рдордХ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рдЪрд▓рд╛рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреВрдВрдЧрд╛: _always_ | _once_ | _рдХрднреА рдирд╣реАрдБ_ред рдореБрдЭреЗ рднреА рд░рд╛рдЬреНрдп рдкрд╕рдВрдж рд╣реИ: _running_ | _ran_ | _created_ рднреАред

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

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

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

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ state: created ( state: ran (рднрд╛рдЧрдирд╛ = 1 рдЧреБрдирд╛) рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЙрдкрдпреЛрдЧрд┐рддрд╛ / рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдХреБрдЫ рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХреЗрд╡рд▓ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ рдкреНрд░рд╡рд╛рд╕рди рд╕реЗрд╡рд╛рдУрдВ рдЬреИрд╕реА рдХреБрдЫ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВред

рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдореИрдВ рдЕрдм state: running | ran | created рдУрд░ рдмрдврд╝ рд░рд╣рд╛ рд╣реВрдВ, рдЬреИрд╕рд╛ рдХрд┐ рд╢реАрд░реНрд╖-рд╕реНрддрд░ _task_ рдпрд╛ _job_ рдСрдмреНрдЬреЗрдХреНрдЯ + рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рд╢реАрд░реНрд╖-рд╕реНрддрд░_ рд╡рд┐рдХрд▓реНрдк 4 рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ рддрд╛рдХрд┐ рдХреЛрдИ рд╕реЗрд╡рд╛ рдХрд╛рд░реНрдп рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдпрд╛ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рдЪрд▓ рд╕рдХреЗред ред

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

рдпрд╣ рдХреБрдЫ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛:

$ docker-compose --file="docker-compose-testing.yml" up -d --exclude=tests
$ sleep 5
$ docker-compose --file="docker-compose-testing.yml" run --rm tests

рдЖрдк рдХрд▓реНрдкрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ sleep 5 рдЕрдзрд┐рдХ sleep 5 рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реБрдЖ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЙрджрд╛рд╣рд░рдг рд╕реНрдирд┐рдкреЗрдЯ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред

рдореИрдВрдиреЗ рдПрдХ рдзреНрд╡рдЬ рдзреНрд╡рдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рдкрдврд╝рд╛ред рдЗрд╕рд▓рд┐рдП рдореИрдВ рдПрдХ --exclude рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░реВрдВрдЧрд╛ --exclude рдзреНрд╡рдЬ up рдХрдорд╛рдВрдб рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрдВрдЯреЗрдирд░ рдХреЛ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдВрдЧреЗред --exclude рдзреНрд╡рдЬ рдХреЛ рдРрд╕реЗ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рдХрдИ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рд╕реНрдЯрд╛рд░реНрдЯ рдЕрдк рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦрд╛ рдЬрд╛ рд╕рдХреЗред

: +1:

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

рдПрдХ рдЕрд▓рдЧ "docker-compose-рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ.yml" рдлрд╝рд╛рдЗрд▓ _could_ рдХрд╛рдо рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдШрдЯрдХ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЛ рдПрдХ рддрд░рд╣ рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрдмрдХрд┐ рдШрдЯрдХ рдЕрднреА рднреА рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд╣реИ, рдФрд░ рдлрд┐рд░ рдПрдХ рдмрд╛рд░ рдпрд╣ рдорд╛рдирдХ рд╕реЗрдЯ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрди рдЬрд╛рддрд╛ рд╣реИред рд╕реЗрд╡рд╛рдУрдВ рдХреАред

+1 рд╕реЗ рд╡рд┐рдХрд▓реНрдк 2

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП +1

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП +1

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП +1

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП +1

@acran рдореИрдВ рджреЗрдЦрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдЖрдк рдЕрдкрдирд╛ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рд╕рдмрдорд┐рдЯ рдХрд░реЗрдВ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╣рдо рдХреБрдЫ рдЯреНрд░реИрдХреНрд╢рди рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк # 3047 рдкрд░ рд╕рдВрдШрд░реНрд╖ рдХреЛ рдЦрддреНрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП

@jimzucker рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ # 3047 рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рд╣реИ рдФрд░ рдореИрдВ рдЕрднреА рднреА

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

+1 рд╡рд┐рдХрд▓реНрдк 2

@acran , рдореИрдВ рд╕рдВрдмрдВрдзрд┐рдд рдбреЙрдХреНрд╕ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдореЗрдВ рдЖрдкрдХреА рдорджрдж рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдареАрдХ рд╣реИ рди ?

+1 рд╡рд┐рдХрд▓реНрдк 2

рдпрд╛ рд╢рд╛рдпрдж рдПрдХ рддрд░рд╣ рдХреА рдиреМрдХрд░реА рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ, рдЬреИрд╕реЗ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ?

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП +1

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрдИ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬ рд╣реИ рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ (рдбреЗрдЯрд╛рдмреЗрд╕) рдХреЛ рд╡рд┐рдХрд╛рд╕ рдкрд░реНрдпрд╛рд╡рд░рдг рдкрд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдг рдкрд░ рдирд╣реАрдВред рдЗрд╕рд▓рд┐рдП, рд╣рдореЗрдВ рджреЛ рдбреЙрдХрдЯрд░-рдХрдореНрдкреЛрдЬрд╝ рдХрд┐рдП рдЧрдП рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред рд╡рд┐рдХрд▓реНрдк 2 рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд╣реА рд╣реИ рдЬреЛ рд╣рдо рдЦреЛрдЬ рд░рд╣реЗ рд╣реИрдВ!

: +1: рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП

+1 рд╡рд┐рдХрд▓реНрдк 2

@acran рдореИрдВ рдПрд╕рдПрдл рдореЗрдВ рдХреБрдЫ рдХрдиреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдкрд╣реБрдВрдЪ рд░рд╣рд╛ рд╣реВрдВ рддрд╛рдХрд┐ рдлреАрдбрдмреИрдХ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ / рдЪреИрдирд▓ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗ рддрд╛рдХрд┐ рдпрд╣ рдЖрдЧреЗ рдмрдврд╝ рд╕рдХреЗ, рджреЗрдЦрддреЗ рд░рд╣реЗрдВ;)

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП 2

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП +1

+1 рд╡рд┐рдХрд▓реНрдк 2

+1 рд╡рд┐рдХрд▓реНрдк 2

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдореИрдВ рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП рдорддрджрд╛рди рдХрд░ рд░рд╣рд╛ рд╣реВрдВ

рдПрдХ рдФрд░ рд╡рд┐рдЪрд╛рд░: рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп networks рдФрд░ volumes , рд╣рдо images рд╡рд┐рдХрд▓реНрдк рднреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рд╕рдВрдХреЗрдд рд╣реЛрдЧрд╛ рдХрд┐ рдЗрди рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдЦреАрдВрдЪрдирд╛ рдпрд╛ рдмрдирд╛рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдЖрдк docker-compose up рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЙрдиреНрд╣реЗрдВ рдЪрд▓рд╛рдпрд╛ рдирд╣реАрдВ рдЬрд╛рдПрдЧрд╛ред

рдпрд╣ рджреЛ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗрдЧрд╛, рдореЗрд░реЗ рд╕рд┐рд░ рдХреЗ рдКрдкрд░ рд╕реЗ:

1) рдпрд╣рд╛рдВ рдЖрдо рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рдкреНрд░рдмрдВрдзрди рдХрдорд╛рдВрдб рдЪрд▓реЗред рдпрджрд┐ рд╕реЗрд╡рд╛ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ рддреЛ docker-compose run рдЪрд▓ рд░рд╣реА рдЫрд╡рд┐рдпреЛрдВ рдкрд░ рд╡рд╛рдкрд╕ рдЖ рд╕рдХрддреА рд╣реИред
2) рдЗрд╕ рддрд░рд╣ рдХреЗ рдРрдкреНрд╕ рдЬреЛ рдбреЙрдХрд░ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдЪрд▓рд╛рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рд╡реЗ рд╣рд░ рд╕рдордп рдирд╣реАрдВ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВред

/ cc @dnephin @aanand @

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

13 рд╕рд┐рддрдВрдмрд░, 2016 3:58:41 рдкреВрд░реНрд╡рд╛рд╣реНрди рд╕реАрдбреАрдЯреА, рдмреЗрди рдлрд╝рд░рдорд╛рди рд╕реВрдЪрдирд╛рдПрдБ @ithub.com рдиреЗ рд▓рд┐рдЦрд╛:

рдПрдХ рдФрд░ рд╡рд┐рдЪрд╛рд░: рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп networks рдФрд░ volumes , рд╣рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдПрдХ images рд╡рд┐рдХрд▓реНрдк рднреА рдЬреЛрдбрд╝реЗрдВред рдпрд╣ рдПрдХ рд╕рдВрдХреЗрдд рд╣реЛрдЧрд╛ рдХрд┐ рдпрд╣ рд▓рд┐рдЦреЗрдВ
рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдЦреАрдВрдЪ рдпрд╛ рдмрдирд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рд╡реЗ
рдЬрдм рдЖрдк docker-compose up рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЪрд▓рд╛рдпрд╛ рдирд╣реАрдВ рдЬрд╛рдПрдЧрд╛ред

рдпрд╣ рджреЛ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗрдЧрд╛, рдореЗрд░реЗ рд╕рд┐рд░ рдХреЗ рдКрдкрд░ рд╕реЗ:

1) рдпрд╣рд╛рдБ рдЖрдо рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдЬрд╣рд╛рдБ рдЖрдк рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдЪрд╛рд╣рддреЗ рд╣реИрдВ
рдЪрд▓рд╛рдиреЗ рдХреА рдЖрдЬреНрдЮрд╛ред docker-compose run рдЪрд▓ рдЪрд┐рддреНрд░ рдореЗрдВ рд╡рд╛рдкрд╕ рдЖ рд╕рдХрддреЗ рд╣реИрдВ
рдпрджрд┐ рд╕реЗрд╡рд╛ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред
2) рдРрдкреНрд╕ рдкрд╕рдВрдж рд╣реИрдВрдпрд╣ рдЬреЛ рдЪрд▓рддрд╛ рд╣реИ
рдбреЙрдХрд░ рдЪрд┐рддреНрд░ рд▓реЗрдХрд┐рди рд╡реЗ рд╣рд░ рд╕рдордп рдирд╣реАрдВ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВред

/ cc @dnephin @aanand @

рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ:
https://github.com/docker/compose/issues/1896#issuecomment -246618909

K-9 рдореЗрд▓ рдХреЗ рд╕рд╛рде рдореЗрд░реЗ Android рдбрд┐рд╡рд╛рдЗрд╕ рд╕реЗ рднреЗрдЬрд╛ рдЧрдпрд╛ред рдореЗрд░реЗ рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛ рдХреЛ рдорд╛рдлрд╝ рдХрд░реЛред

рдореИрдВ рдЗрд╕ рдкрд░ @mgriego рд╕реЗ рд╕рд╣рдордд рд╣реВрдВред рдмрд┐рд▓реНрдб рдЬреЗрдирд░реЗрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрдВрдЯреЗрдирд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВ - рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХрдорд╛рдВрдб рдФрд░ рдСрдкреНрд╢рдиреНрд╕ рд╕реЗрдЯ рдЕрдк рдХрд░реЗрдВ рдФрд░ рд╕рд┐рд░реНрдл docker-compose up foo рдФрд░ рдЗрд╕реЗ рдмрд┐рд▓реНрдб рдФрд░ рдПрдХреНрдЬрд┐рдЯ рдХрд░реЗрдВред

рдпрд╣рд╛рдВ рдЕрдзрд┐рдХ рд╕рдордЭ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ: рдХреНрдпрд╛ рд╡рд┐рдХрд▓реНрдк 2) рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓рд╛ рд╣реИ "рд╣рдо initial_scale рдореВрд▓реНрдп docker-compose.yml " рдореЗрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? (# 1661, # 2496 рдПрдЯ рдЕрд▓ рджреЗрдЦреЗрдВред)

@ankon рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВред

рдПрдХ images [рдЕрдиреБрднрд╛рдЧ рдЬреЛрдбрд╝реЗрдВ]

@bfirsh рдпрд╣ рдЙрд╕ рджрд┐рд╢рд╛ рдореЗрдВ рдмрдврд╝рдирд╛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдореИрдВрдиреЗ https://github.com/dnephin/dobi рдХреЗ рд╕рд╛рде рд▓рд┐рдпрд╛ рдерд╛

  1. networks рдФрд░ volumes рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрднреА рднреА рд╕реАрдзреЗ рд╕рдВрдЪрд╛рд▓рд┐рдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рд╡реЗ рд╕рд┐рд░реНрдл рдПрдХ рдХрдВрдЯреЗрдирд░ рджреНрд╡рд╛рд░рд╛ рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдЕрдм рд╣рдорд╛рд░реЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдпрд╣ рд╕рд┐рд░реНрдл рдХрдВрдкреЛрдЬрд╝ рдХреЙрдиреНрдлрд┐рдЧ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдмрдирд╛ рджреЗрдЧрд╛ред рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ рдПрдХ рдЫрд╡рд┐ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ docker-compose build рдЪрд▓рд╛рдПрдВред
  2. рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рдкрд╣рдЪрд╛рдиреА рдЧрдИ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИред рд▓реЛрдЧ рдХрдВрдЯреЗрдирд░ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рди рдХрд┐ рдХреЗрд╡рд▓ рдЫрд╡рд┐

рдереНрд░реЗрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрдврд╝рдирд╛ рдФрд░ # 2496 рдореЗрдВ рдХрдореНрдкреЛрдЬрд╝ рдлрд╛рдЗрд▓ рдореЗрдВ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдмрд╛рдзрд╛рдУрдВ рдХреА рдШреЛрд╖рдгрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХрд░рдирд╛, рдореИрдВ рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рдКрдкрд░ рд╡рд┐рдХрд▓реНрдк 4 (рдпрд╛рдиреА рдПрдХ рдирдпрд╛ рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп рдЕрдиреБрднрд╛рдЧ) рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖ рд░рд╣рд╛ рд╣реВрдВред

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

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

рдЗрди рдирдП "рдирд╣реАрдВ рд╕реЗрд╡рд╛рдУрдВ" рдХреЗ рд╢рдмреНрджрд╛рд░реНрде рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рднреА рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ: рд╡реЗ _exactly_ services (рдЙрд╕ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рднреА рднрд╡рд┐рд╖реНрдп рдХреЗ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рд╕рд╣рд┐рдд) рдХреЗ рд╕рдорд╛рди рд╣реИрдВ, рдПрдХрдорд╛рддреНрд░ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде, рдЬреЛ рдХрд┐ docker-compose build рддрд░рд╣ рдЕрдпреЛрдЧреНрдп рдЖрджреЗрд╢ рд╣реИрдВред docker-compose pull , рдФрд░ docker-compose up рдЙрдиреНрд╣реЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░реЗрдВ - рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ "рд╕реЗрд╡рд╛рдУрдВ" рдХреЗ рдмрдЬрд╛рдп "рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ" рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз рдХрд┐рд╕реА рднреА рдШрдЯрдХ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рддреЛ рдЖрдкрдХреЛ рдЗрд╕реЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдирд╛рдо рджреЗрдирд╛ рд╣реЛрдЧрд╛ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡рд╣рд╛рдВ рд╢рд╛рдпрдж рдПрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ --all рд╡рд┐рдХрд▓реНрдк, рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рдХреЗ рд╕рдорд╛рди docker-compose rm )ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдирд╛рдо рд╕реЗ рдЗрди рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрдПрд▓рдЖрдИ рд╕рд╛рдорд╛рдиреНрдп рд╕реЗрд╡рд╛рдУрдВ (рдпрдерд╛рд╕реНрдерд┐рддрд┐ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЬрд╣рд╛рдБ рдЖрдкрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЙрдиреНрдлрд┐рдЧрд░ рдлрд╝рд╛рдЗрд▓ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ) рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╣реЛрдЧрд╛, рдФрд░ рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ рдирд╛рдо рд╡рд┐рд╡рд╛рджреЛрдВ рдХреЛ рд░реЛрдХрдиреЗ рдХрд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдЧрд╛ред рд╕реЗрд╡рд╛ рдФрд░ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХреЗ рдмреАрдЪред

рд╣рд╛рд▓рд╛рдВрдХрд┐ # 2496 рдореЗрдВ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдкреНрд░рд╕реНрддрд╛рд╡ рд╕рдВрднрд╡рддрдГ рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рдЕрднреА рднреА рдареАрдХ рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХреА рдЧрдИ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреА рддрд░рд╣ рдорд╣рд╕реВрд╕ рдХрд░рддрд╛ рд╣реИред

рдореБрдЭреЗ рд╡рд╣ рдбрд┐рдЬрд╝рд╛рдЗрди рдкрд╕рдВрдж рд╣реИ, @ncoghlanред

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

рдореБрдЭреЗ рдореВрд▓ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рд╣реИ @ncoghlan рд╡рд╣рд╛рдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди ...

  1. рд╕рд╣рдордд рди рд╣реЛрдВ рдХрд┐ _all_ рдЕрдпреЛрдЧреНрдп рдЖрджреЗрд╢реЛрдВ рдХреЛ рдЗрди рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рд╕рднреА рдЖрджреЗрд╢реЛрдВ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдЪрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдПрдХ рдЪрд╛рд▓реВ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рд╣реЛрдЧрд╛ред (рдЗрд╕рд▓рд┐рдП рдореВрд▓ рд░реВрдк рд╕реЗ, up рдФрд░ start ред)
  2. @Dsem рдХреА рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдореБрдЭреЗ '

@bfirsh @ncoghlan рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣реВрдБ :

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

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

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

рдЬреЛ рдХреЛрдИ рднреА рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдЙрд╕рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдПрдХ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ рдмрдирд╛рдиреЗ рдФрд░ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрдЬреНрдЮрд╛ рд╣реИ:

# download and build
git clone [email protected]:acran/compose.git -b auto_up
cd compose
docker build -t docker-compose .

# create an example docker-compose.yml
cat > docker-compose.yml <<EOF
version: "2"
services:
  foo:
    image: busybox
    auto_up: false
    command: echo foo
  bar:
    image: busybox
    auto_up: false
    command: echo bar
    depends_on:
      - foo
  baz:
    image: busybox
    command: echo baz
EOF

# start all default services only, i.e. baz
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -ti -v $(pwd):$(pwd) -w $(pwd) docker-compose up

# start service foo only
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -ti -v $(pwd):$(pwd) -w $(pwd) docker-compose up foo

# start service bar, foo is pulled in as a dependeny
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -ti -v $(pwd):$(pwd) -w $(pwd) docker-compose up bar

# clean up all services, i.e. foo, bar and baz
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -ti -v $(pwd):$(pwd) -w $(pwd) docker-compose down

@acran , рдореИрдВ рд╕рдВрдмрдВрдзрд┐рдд рдбреЙрдХреНрд╕ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдорд╛рдорд▓реЛрдВ рдХреЛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдореЗрдВ рдЖрдкрдХреА рдорджрдж рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдареАрдХ рд╣реИ рди ?

@ dattran-vn01 рдмреЗрд╢рдХ, рдореБрдЭреЗ рдЦреБрд╢реА рд╣реЛрдЧреА: рд╕реНрдорд╛рдЗрд▓реА:

@acran рдЖрдкрдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдХрдорд╛рдВрдб рд╕реЗ рдЕрд▓рдЧ рд╡реНрдпрд╡рд╣рд╛рд░ рд╡рд╛рд▓рд╛ рдПрдХрдорд╛рддреНрд░ рдХрдорд╛рдВрдб рдкрд╣рд▓рд╛ рд╣реИ, рдФрд░ рдЙрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ up baz рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЖрдк рдХрдИ рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╣реА рдЪреАрдЬрд╝ рдХреЛ рдкреВрд░рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

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

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

@dnephin рд╣рд╛рдБ, рдмрд┐рд▓реНрдХреБрд▓, рдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдпрд╣ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реЛрдЧрд╛ред
рд▓реЗрдХрд┐рди 10 рд╕реЗрд╡рд╛рдУрдВ рдФрд░ рдХреЗрд╡рд▓ рдПрдХ рд╡рди-рдСрдл рд╕реЗрд╡рд╛ (рдЬреИрд╕реЗ "рдЗрдирд┐рдЯ" рдпрд╛ "рдмреИрдХрдЕрдк" / "рдбрдВрдк") рдХреЗ рд╕рд╛рде рдЗрд╕рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ: рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЖрдкрдХреЛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдПрдХ рд╕рд┐рдВрдЧрд▓- docker-compose up service1 service2 ... service10 (рдиреАрдЪреЗ рджреЗрдЦреЗрдВ) рдЬреИрд╕реА рд╕реЗрд╡рд╛ рдмрдВрджред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЖрдкрдХреЛ рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдпрд╛рдж рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ рдФрд░ docker-compose.yml рдореЗрдВ рдХрд┐рд╕реА рднреА рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рд╣реЛрдЧрд╛ред

рдореИрдВ рдХрдИ YAML рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдЬрд╛рдирддрд╛ рд╣реВрдВ ,

рдпрд╣рд╛рдБ рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг docker-compose.yml рд╕рдорд╕реНрдпрд╛ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:

version: "2"
services:
  init:
    image: busybox
    auto_up: false
    command: echo "I do one-time initializing"
  service1:
    image: busybox
    command: echo "I'm service #1"
  service2:
    image: busybox
    command: echo "I'm service #2"
  service3:
    image: busybox
    command: echo "I'm service #3"
  service4:
    image: busybox
    command: echo "I'm service #4"
  service5:
    image: busybox
    command: echo "I'm service #5"
  service6:
    image: busybox
    command: echo "I'm service #6"
  service7:
    image: busybox
    command: echo "I'm service #7"
  service8:
    image: busybox
    command: echo "I'm service #8"
  service9:
    image: busybox
    command: echo "I'm service #9"
  service10:
    image: busybox
    command: echo "I'm service #10"

рдПрдХ рд╕рд╛рдзрд╛рд░рдг docker-compose up _with_ auto_up рд╡рд┐рд╢реЗрд╖рддрд╛ рд╕реЗрд╡рд╛ init рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдпрд╣рд╛рдБ рд╢реБрд░реВ рдХрд░рддреА рд╣реИред рдмрд┐рдирд╛ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 10 рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдмрд╣реБрдд рд▓рдВрдмреА рдХрдорд╛рдВрдб рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдпрд╛ YAML рдлрд╛рдЗрд▓ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдФрд░ рдХрдИ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдЗрд╕рд▓рд┐рдП рдпрд╣рд╛рдВ рдорд╛рдВрдЧреА рдЧрдИ рд╕реБрд╡рд┐рдзрд╛, cli рдкрд░ рдХрдо рд╕реБрд╡рд┐рдзрд╛ рдФрд░ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╣реИ рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИред

"рдХрдИ рдХреЙрдиреНрдлрд┐рдЧрд░ рдлрд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ" рд╡рд┐рдХрд▓реНрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ (рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИ), рдЗрд╕рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЬреНрдп рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:

$ docker-compose up one-shot-command
ERROR: No such service: one-shot-command
$ docker-compose up -f docker-compose.yml -f docker-compose-utils.yml one-shot-command
# Actually goes & does the requested thing

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

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

рдХрд┐рд╕реА рдиреЗ рдПрдХ рдмрд╛рд░ рдореБрдЭрд╕реЗ рдХрд╣рд╛ рдерд╛: _ "рдпрджрд┐ рдХрдИ рд╕реНрдорд╛рд░реНрдЯ рд▓реЛрдЧ рдпрд╣ рддрдп рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдХрд┐ рдХреМрди рд╕рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ, рдЖрдорддреМрд░ рдкрд░ рди рддреЛ рдмрд╣реБрдд рдмреБрд░рд╛ рд╣реИред рд╕рдмрд╕реЗ рдмреБрд░рд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред" _

рдпрд╣ рдХрд╛рд░реНрдб рдЗрд╕ рдХрд╛ рдПрдХ рдкреНрд░рдореБрдЦ рдЙрджрд╛рд╣рд░рдг рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ :)

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

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

рдореИрдВ "рдбрд┐рдмрдЧрд┐рдВрдЧ" рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рддреЛ рдореИрдВ рдПрдХ рд╕рд░рд▓ docker-compose up -d database-gui рд╕рд╛рде рдРрд╕рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рдмрд╕ рдЬреБрдбрд╝ рдЬрд╛рддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛: рдХрднреА-рдХрднреА рдореИрдВ рдЕрдкрдирд╛ рджрд┐рдорд╛рдЧ рдмрджрд▓ рджреЗрддрд╛ рд╣реВрдВ рдФрд░ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЗрдирдореЗрдВ рд╕реЗ рдПрдХ рд╕реЗрд╡рд╛ рд╣рдореЗрд╢рд╛ рд╢реБрд░реВ рд╣реЛ ... => рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд╕рд╛рде) рдореИрдВ рдмрд╕ рдЙрд╕ рдПрдХ рдЭрдВрдбреЗ рдХреЛ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реВрдВ

=> рд╡рд┐рдХрд▓реНрдк рджреЛ рдХреЗ рд▓рд┐рдП рд╡реЛрдЯ рдХрд░реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕рд░рд▓ рд╣реИ рдФрд░ рдпрд╣ рдпрд╣рд╛рдВ рд╕рднреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИред рд╣рд░ рджреВрд╕рд░рд╛ рд╕рдорд╛рдзрд╛рди рдореБрдЭреЗ рдУрд╡рд░-рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ ... рджреБрд░реНрд▓рдн рдпрд╛ рдХреЗрд╡рд▓ рдХрд▓реНрдкрдирд╛ рдХрд┐рдП рдЧрдП рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓реЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рдЬреЛрдбрд╝рдирд╛, рди рдХрд┐ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрд░ред

рдмрд╕ рдпрд╣рд╛рдБ рдореЗрд░рд╛ +1 рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдПред рдореИрдВ Django рдРрдкреНрд╕ рдкрд░ рдЪрд▓ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЬрдм рдЙрдиреНрд╣реЗрдВ рдбреЙрдХ рдореЗрдВ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рддреЛ рдПрдХ рдХрдВрдЯреЗрдирд░ рд╣реЛрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЬреЛ рд╢реЗрд▓ рдпрд╛ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдПрдЧрд╛ рдпрд╛ рдЙрд╕ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рдХреЛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░реЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдореИрдВ рд╣рд░ рдмрд╛рд░ рдРрдк рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЗрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдирд╣реАрдВ рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддрд╛ред рдПрдХрд╛рдзрд┐рдХ рдХреЙрдиреНрдлрд┐рдЧрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рдЯрд╛рдЗрдкрд┐рдВрдЧ, рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рдпрд╛ рдЕрдиреНрдп рд▓рдВрдмреА рдореАрд▓ рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдЕрд▓рд┐рдпрд╛рд╕рд┐рдВрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЕрдЧрд░ рдореИрдВ рдРрд╕рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ рдореИрдВ рдХрдВрдкреЛрдЬрд╝ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рддреЛ рдореИрдВ рд╕рд┐рд░реНрдл рдЕрдкрдиреЗ рдХрдВрдЯреЗрдирд░ (рдпрд╛ рдкрд╛рдЗрдерди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЙрдиреНрд╣реЗрдВ) рдЦреЛрд▓ рджреВрдВрдЧрд╛ ... рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХрдВрдЯреЗрдирд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдХреАрдХреГрдд YAML рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝реЗрдВ ... рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ ... рдореИрдВ рдбреЙрди рдореЗрд░реЗ рдХрдВрдЯреЗрдирд░ рдкрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП docker-compose -f common.yml -f dev.yml -f local.yml -f commands.yml up migrate рдЬреИрд╕рд╛ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╡рд┐рдХрд▓реНрдк /bin/true рдХрдорд╛рдВрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ рдФрд░ docker-compose -f common.yml -f dev.yml -f local.yml up commands 'python3 manage.py migrate' рдХреБрдЫ рдРрд╕рд╛ рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдпрд╛ рддреЛ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ рдХрд╣реАрдВ рдПрдХ рд╕рдордп рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред рд╡рд┐рдХрд▓реНрдк 2, 3 рдФрд░ 4 рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗрдЧрд╛ред

рдореИрдВ рдЖрдкрдХреЛ рд╕реБрдЭрд╛рд╡ рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк dobi рдкрд░ рдПрдХ рдирдЬрд╝рд░

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

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

dobi рдФрд░ рдХрдореНрдкреЛрдЬрд╝ рдХрд╛ рдХрд╛рдо рдПрдХ рд╕рд╛рде рдХрд░рдирд╛, рдЖрдк рдПрдХ рдХрдореНрдкреЛрдЬрд╝ рд░рд┐рд╕реЛрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ dobi рд╕реЗ рдХрдореНрдкреЛрдЬрд╝ рд▓реЙрдиреНрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

compose=dev-environment:
  files: [docker-compose.yml, local.yml]
  project: 'theprojectname'

рдЬрд┐рд╕реЗ рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ:

dobi dev-environment

рдпрд╣рд╛рдВ рдХрдВрдкреЛрдЬрд╝ рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди рдФрд░ рд░рдирд┐рдВрдЧ рдбреАрдмреА рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ: https://github.com/dnephin/dobi/tree/master/examples/init-db-with-rails

рд╡рд░реНрдХрдлрд╝реНрд▓реЛрдЬрд╝ рдХреЗ рдХрдИ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ (рдЬрд┐рдирдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдирд╛, рдПрдХ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рд╢реЗрд▓ рд╢реБрд░реВ рдХрд░рдирд╛, рд░рд┐рд▓реАрдЬрд╝ рдХрд░рдирд╛ рдФрд░ рдиреНрдпреВрдирддрдо рдЪрд┐рддреНрд░ рдмрдирд╛рдирд╛) рдпрд╣рд╛рдБ рд╣реИрдВ: http://dnephin.github.io/dobi/examples.html

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

"рдЕрд╕рд╛рдорд╛рдиреНрдп usecases"? рдХреНрдпрд╛ рдЖрдк рдбреЗрдЯрд╛рдмреЗрд╕ рдорд╛рдЗрдЧреНрд░реЗрд╢рди рдЪрд▓рд╛рддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рдЖрдк рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рдЖрдк рд▓рд┐рдВрдЯ рдЪрд▓рд╛рддреЗ рд╣реИрдВ? webpack?

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

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

рдЙрдиреНрд╣реЗрдВ рдХрд╛рд░реНрдп, рдЖрдЬреНрдЮрд╛, рдЬреЛ рднреА рдХрд╣реЗрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдереЛрдбрд╝реЗ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ SOL рд╣реВрдВред

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

version: '2'
services:
  gitlab:
    image: gitlab/gitlab-ce:latest
    restart: always
    ports:
      - "5555:5555"
    volumes:
      - gitlab_config:/etc/gitlab
      - gitlab_logs:/var/log/gitlab
      - gitlab_data:/var/opt/gitlab
      - certificates:/etc/gitlab/ssl
      - registry_data:/var/opt/gitlab/gitlab-rails/shared/registry
  gitlab-runner:
    image: gitlab/gitlab-runner:latest
    restart: always
    volumes:
      - certificates:/etc/gitlab-runner/certs
      - /var/run/docker.sock:/var/run/docker.sock
volumes:
    gitlab_config:
      driver: local
    gitlab_logs:
      driver: local
    gitlab_data:
      driver: local
    certificates:
      driver: local
    registry_data:
      driver: local

рд╡реЙрд▓реНрдпреВрдо рдбреЗрдЯрд╛ рдХрд╛ рдмреИрдХ-рдЕрдк рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рдХреЛ рдЯрд╛рд░рдЧреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд┐рдЬреАрдмреЙрдХреНрд╕ рдХрдВрдЯреЗрдирд░ рдХреЗ рд╕рд╛рде рдЬрд╛рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд▓рдЪреАрд▓рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдХреЗрд╡рд▓ рд╡рд╣реА рд╡реЙрд▓реНрдпреВрдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдмреИрдХ-рдЕрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЕрдВрдд рдореЗрдВ, рд╣рдореЗрдВ рд╣рд░ рд╡реЙрд▓реНрдпреВрдо рдХреЛ рдЕрд▓рдЧ рд╕реЗ рдмреИрдХ-рдЕрдк рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдЕрдкрдиреЗ рд╕рднреА docker-compose.yml рдореЗрдВ 3 рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рд╛

  boot:
    image: busybox
    depends_on:
      - gitlab
      - gitlab-runner

  backup:
    image: busybox
    volumes:
      - gitlab_config:/data/gitlab_config
      - gitlab_data:/data/gitlab_data
      - registry_data:/data/gitlab_data
      - /backups/latest:/backup
    command: find . -type d -maxdepth 1 -mindepth 1 -exec tar cvf /backup/{}.tar {}  \;
    working_dir: /backup

  restore:
    image: busybox
    volumes:
      - gitlab_config:/data/gitlab_config
      - gitlab_data:/data/gitlab_data
      - registry_data:/data/gitlab_data
      - /backups/latest:/backup
    command: find . -type f -iname "*.tar" -maxdepth 1 -mindepth 1 -exec tar xvf {} \;
    working_dir: /backup

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

рдпрд╣ рдпрд╣рд╛рдБ рдЫреЛрдЯреЗ рд╣реИрдХреНрд╕ рд╕реЗ рднрд░рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдореЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ docker-compose up backup рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рддрд╛рдХрд┐ рд╣рдо рдЕрдкрдиреЗ рдмреИрдХрдЕрдк рдХреЛ рд╣реЛрд╕реНрдЯ рдХреЗ / рдмреИрдХрдЕрдк / рдирд╡реАрдирддрдо рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░ рд╕рдХреЗрдВ рдФрд░ рд╡рд╣рд╛рдБ рд╕реЗ рд╣рдо рдЕрдкрдирд╛ рд╡рд░реНрдЬрдирд┐рдВрдЧ / рдкреНрд░реВрдирд┐рдВрдЧ рд▓реЙрдЬрд┐рдХ рдЪрд▓рд╛ рд╕рдХреЗрдВред

рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдРрд╕реЗ рд╡реНрдпрдХреНрддрд┐ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬреЛ ... рдХреБрдЫ рдРрд╕рд╛ рд╣реА рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдВрдд рдореЗрдВ, рдХреЗрд╡рд▓ рдЙрди 2 рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдмреВрдЯ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП docker- рд░рдЪрдирд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рдирд╛рддреЗ, рд╣рдореЗрдВ рдПрдХ 3 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА рдФрд░ рд╣рдорд╛рд░реЗ docker-compose рдХреЛ рдЬрдЯрд┐рд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЖрджреЗрд╢реЛрдВред

рд╡рд┐рдХрд╛рд╕ рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд░реНрддрдорд╛рди рдореЗрдВ 4 рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬреНрдб рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ:

  • docker-compose.yml : рд╣рдорд╛рд░реЗ рдРрдк рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдХреЛрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ redis, MySQL, php-fpm, Laravel рдХрддрд╛рд░ рдкреНрд░реЛрд╕реЗрд╕рд░, nginx, Solr
  • docker-compose-utils.yml : рджреЗрд╡ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ gulp, npm, рдХрд╛рд░реАрдЧрд░ (Laravel), рд╕рдВрдЧреАрддрдХрд╛рд░, рд░реЗрдбрд┐рд╕-рдХреНрд▓реА, рдЖрдорддреМрд░ рдкрд░ рдЙрдкрд░реЛрдХреНрдд рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЪрд▓рддреЗ рд╣реИрдВ
  • рдКрдкрд░ рдХреА рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рд╡рд░рдг рдФрд░ рд╡реЙрд▓реНрдпреВрдо рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 2 рдФрд░ рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ рдХрд░реЗрдВ

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

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

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рд░рдирдПрдХреНрд╕ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд╣рддреА рд╣реИ docker-compose -f docker-compose.yml -f docker-compose-utils.yml -f docker-compose-dev.yml -f docker-compose-utils-dev.yml run --rm artisan migrate:make create_some_table рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╛ рд╣рдорд╛рд░реЗ рдкреБрд░рд╛рдиреЗ JS рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд░рдирд┐рдВрдЧ npm рдХреЛ рдкреБрд░рд╛рдирд╛ рдмрдирд╛рдПрдВ ред

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

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

рдЪреВрдБрдХрд┐ noboby рдиреЗ .env рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдорд╛рдорд▓реЛрдВ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХреА рд╣реИ, рдпрд╣рд╛рдБ рдореЗрд░рд╛ рд╣реИ:

рдореЗрд░реЗ рдкрд╛рд╕ 4 рдХрдВрдкреЛрдЬрд╝ рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ: docker-compose.yml, docker-compose.local.yml, docker-compose.prod.yml рдФрд░ docker-compose.ci.ymlред рдкреНрд░рддреНрдпреЗрдХ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдЕрд▓рдЧ .env рд╣реИ:

CI .env:
COMPOSE_PROJECT_NAME=foo
COMPOSE_FILE=docker-compose.yml:docker-compose.ci.yml
WEB_PORT=8081
...

Test/dev/etc .env:
COMPOSE_PROJECT_NAME=foo
COMPOSE_FILE=docker-compose.yml:docker-compose.local.yml
WEB_PORT=80
...

рдФрд░ рдЗрд╕реА рддрд░рд╣...

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

рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рдЕрдВрдд рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд░рдЦрд░рдЦрд╛рд╡ рдЙрджрд╛рд╣рд░рдг рд╣реИ, рдЗрд╕реЗ рдореБрдЦреНрдп docker-compose.yml рдХреЗ рдЕрдВрджрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдПрдХ рд╕рдорд╛рдзрд╛рди docker-compose.worker.yml рдмрдирд╛рдиреЗ рдФрд░ 3 "-f" рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рд╛рде рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрдЧрд╛ред рдкреНрд░рддреНрдпреЗрдХ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд╕рд╛рдеред рдпрд╣ рднреА рдПрдХ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╡рд┐рдХрд▓реНрдк рд╣реЛрдиреЗ рдХреА рддреНрд░реБрдЯрд┐ рд╣реИред

рдореБрдЭреЗ рдЬреЛ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛ рд╡рд╣ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ "рдХрд╛рд░реНрдпрдХрд░реНрддрд╛" рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдерд╛, рд╡рд╣рд╛рдВ yml рдлрд╝рд╛рдЗрд▓ рдбрд╛рд▓реЗрдВ, рдКрдкрд░реА .env рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЗрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рд▓рд┐рдВрдХ рдХрд░реЗрдВ рдФрд░ рдЦрд╛рд▓реА docker-compose рдмрдирд╛рдПрдВред [ci | рд╕реНрдерд╛рдиреАрдп | рдареЗрд╕] .yml рдлрд╛рдЗрд▓реЗрдВ (рдЕрдиреНрдпрдерд╛ рдореИрдВ рд╣реЛрддрд╛) COMPOSE_FILE рдЪрд░ рдХреЗ рдореВрд▓реНрдп рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП)ред

рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╖реНрдЯрддрдо рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реИред рдУрдкреА рдХрд╛ рдХреЛрдИ рдЕрдиреНрдп рд╕рдорд╛рдзрд╛рди рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЧрдбрд╝рдмрдбрд╝реА рдХреЗ рдРрд╕рд╛ рд╣реЛрдЧрд╛ред

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

рдЗрд╕рдХреЗ рд▓рд┐рдП рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреЛ рдпрд╣рд╛рдВ рд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ _ рдЗрд╕реЗ _ _ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреНрдпрд╛ рд╣рдо рд╕рднреА рдЗрд╕ рдкрд░ рд╕рд╣рдордд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ ?

_How_ рдкрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣ рд▓рдХреНрд╖реНрдп рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ @bfirsh рд╕реВрдЪреАрдмрджреНрдз рдЙрджреНрдШрд╛рдЯрди рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдХреБрдЫ рд╡рд┐рдХрд▓реНрдк:

1) рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдХрдореНрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддреЗ рд╣реИрдВ

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

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

рдХрд┐рд╕реА рд╕реНрдерд╛рдиреАрдп рд╕реЗрдЯрдЕрдк рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП docker-compose -f docker-compose.yml -f docker-compose-utils.yml run init рддрд░рд╣ рдХреБрдЫ рдЯрд╛рдЗрдк рдХрд░рдиреЗ рд╕реЗ рдореБрдЭреЗ _convenient_ рдХреА рдЖрд╡рд╛рдЬрд╝ рдирд╣реАрдВ рдЖрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдРрд╕рд╛ рднреА рд╣реИ рдЬреИрд╕реЗ рдХрд┐ _ рдмрд╣реБ-рдкреГрд╖реНрда "рдбреЗрд╡рд▓рдкрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ" _ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдФрд░ рд╡рд┐рдХрд▓реНрдк 1 рдмреА рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ:

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрд▓рдЧ рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реИрдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ / рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрдВ

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

2) рдЙрдиреНрд╣реЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝реЗрдВ
3) рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝реЗрдВ

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

4) рдПрдХ рд╕реЗрд╡рд╛ рдХреА рддрд░рд╣ рдПрдХ рдЪреАрдЬрд╝ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдЬреЛрдбрд╝реЗрдВ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдПрдХ-рдмрдВрдж рдЖрджреЗрд╢ ("рд╕реНрдХреНрд░рд┐рдкреНрдЯ", "рдХрд╛рд░реНрдп", рдЖрджрд┐) рдХреЗ рд▓рд┐рдП рд╣реИ ...

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

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

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

@ рдорд╛рдбрд╡реЙрдореНрдмрдЯ I рдореЗрдВ рд╡рд┐рдХрд▓реНрдк 4 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдорд╛рди рднрд╛рд╡рдирд╛ рд╣реИ, рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕ рдЙрдкрдпреЛрдЧ-рдХреЗрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХреА рд╣реИ: # 4096ред рдпрд╣рд╛рдБ рд╡рд░реНрдгрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд╕рд╛рде рдУрд╡рд░рд▓реИрдк рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рдЕрдкрдиреЗ рдЖрдк рд╣реА рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ

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

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

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

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

рдирд┐рдХрдЯрддрдо рдорд╛рдорд▓рд╛ рдЬреЛ рдореИрдВ рд╕реЛрдЪ рд╕рдХрддрд╛ рд╣реВрдВ рд╡рд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬреИрд╕реЗ рдХрдВрдЯреЗрдирд░ рдХреЗ рднреАрддрд░ рдПрдХ рдХреЙрдиреНрдлрд┐рдЧ рдлрд╛рдЗрд▓ рдХреЛ рдмрджрд▓рдирд╛ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рджреНрд╡рд╛рд░рд╛ рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рдХрд░рдирд╛; # 4096 рд╕реЗ @mathroc рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ

version: "2"
services:
  my_service:
    image: my/service
shortcuts:
  start-debugging:
    service: my_service
    command: echo "debug=true" > /etc/myapp/conf.d/debug.conf && mydaemon --reload-config
  stop-debugging:
    service: my_service
    command: echo "debug=false" > /etc/myapp/conf.d/debug.conf && mydaemon --reload-config

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд, # 4096 рдореЗрдВ рдЗрд╕рдХреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рд╣реИрдВ рдФрд░ рд╢рд╛рдпрдж рд╡рд┐рдХрд▓реНрдк 4) рдХреЛ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рд░реВрдк рд╕реЗ рд╡рд╣рд╛рдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

рдпрд╣ рдЪрд░реНрдЪрд╛ рдХрд╛ рдПрдХ рд╕рд╛рд▓ рд╣реЛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╣рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдЧреЗ рдХреЛрдИ рдирд┐рд░реНрдгрдп рдирд╣реАрдВ рд╣реЛрдЧрд╛ред @ рдмрдлрд┐рд╢ рдХреЛ рдмрд╕ рдПрдХ рд╕реНрдЯрд╛рдЗрд▓

+1

+1, рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рдЙрдкрдпреЛрдЧреА рд╕реБрд╡рд┐рдзрд╛ рд╣реЛрдЧреАред

рдФрд░ рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ +1, auto-start: false рдпрд╛ enabled: false рдЬреИрд╕реЗ рдХреБрдЫ рдХреЗ рд╕рд╛рдеред

рдореЗрд░рд╛ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓рд╛ рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИред рдРрд╕реА рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ depends_on рд╕реЗрдЯ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЬреЛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рд╡рд╣ рдПрдХ рд╕реЗрд╡рд╛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЗрд╕рдореЗрдВ рд╕реЗ рдХрдИ рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рд╣реИред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдСрдЯреЛрдореИрдЧрд┐рдХрд▓ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдЪрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред

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

https://github.com/jonathanborges/picles-docker

рдпрд╣рд╛рдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╢рд╛рдирджрд╛рд░ рд╡рд┐рдХрд▓реНрдкред рдлреАрдЪрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣реИред

рд╡рд┐рдХрд▓реНрдк 2 рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдзрд┐рдХ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИ, рдШрдЯрдирд╛рдПрдБ:

1 -> 4
2 -> 52
3 -> 3
4 -> 10

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ 2

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

docker-compuse up -d
docker-compose run tools tests

рд╣рд╛рдВ, рдЙрдкрдХрд░рдг рд╕реЗрд╡рд╛ docker-compose ps рдореЗрдВ "рд░реЛрдХрд╛" рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧреАред рдпрджрд┐ рдпрд╣ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ, рддреЛ рдореИрдВ https://github.com/docker/compose/pull/2051 рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рдмрд╣реБ-рдлрд╝рд╛рдЗрд▓ рд╡рд┐рдХрд▓реНрдк рдЪреБрдирддрд╛ рд╣реВрдВред рдЬреИрд╕реЗ

docker-compose -f docker-compose.yml -f docker-compose-tools.yml up -d
docker-compose -f docker-compose-tools.yml logs -f tools

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

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

@briceburg рдКрдкрд░ рдЪрд░реНрдЪрд╛ рджреЗрдЦреЗрдВ: рдпрд╣рд╛рдБ рдореБрджреНрджрд╛ рдПрдХ рд▓рд╛рдкрддрд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╡рд╣рд╛рдБ _are_ workarounds рдХреЗ рд▓рд┐рдП рд▓рдЧрднрдЧ рд╕рдм рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд╡реЗ рдХрд╛рдордЪреЛрд░ рдФрд░ рдЧрдВрджреЗ рд╣реИрдХреНрд╕ рдХреЗ рдмрдЬрд╛рдп рдбреЙрдХрдЯрд░-рдХрдореНрдкреЛрдЬрд╝ рдХреЗ рдПрдХ рдиреЙрд░реНрдорд╛рд▓реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣реИрдВред

рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ, cli рдкрд░ рд╣рд╛рде рд╕реЗ docker-compose -f docker-compose.yml -f docker-compose-tools.yml up рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдпрд╛рдж рд░рдЦрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ docker-compose run tools tests рдпрд╛ docker-compose run utils tests рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ _multi- рдкреЗрдЬ "рдбреЗрд╡рд▓рдкрд░ рдЧрд╛рдЗрдб рд╢реБрд░реВ рдХрд░ рд░рд╣рд╛ рд╣реИ" _ рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдПрдХреАрдХреГрдд рдФрд░ рд╕рд░рд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИред

рдлрд┐рд░, @bfirsh CCing, @dnephin: рд╕рдХрддрд╛ рд╣реИ рдЖрдк рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ _any_ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рджрд╛рди рдХрд░реЗрдВ? рдХреНрдпрд╛ рдХреЛрдИ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╣рдо docker-compose рд▓рд┐рдП рдЖрдиреЗ рд╡рд╛рд▓реЗ рд░реЛрдбрдореИрдк рдкрд░ рдРрд╕рд╛ рдХреБрдЫ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ ??

рдПрдХ рд╕рд░рд▓ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП @briceburg рд╢рд╛рдпрдж рдПрдХ рд╕рдорд╛рдзрд╛рди рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ, рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА рдпрд╣ рдирд╣реАрдВ рд╣реИред рдореЗрд░рд╛ рд╕реЗрдЯрдЕрдк рджреЗрдЦреЗрдВ:

rancher<strong i="7">@rancher</strong>:~/servers/sgi/docker$ ls -l 
total 64
-rwxrwxr-x 1 rancher rancher  303 Dec  8 20:05 cleanup.sh
drwxrwxr-x 3 rancher rancher 4096 Dec 16 15:26 conf
drwxrwxrwx 4 rancher rancher 4096 Dec 15 20:03 data
-rw-rw-r-- 1 rancher rancher   94 Dec 14 19:40 docker-compose.amt.yml
-rw-rw-r-- 1 rancher rancher  295 Dec  8 20:05 docker-compose.auth.yml
-rw-rw-r-- 1 rancher rancher  332 Dec  8 20:05 docker-compose.ci.yml
-rw-rw-r-- 1 rancher rancher  112 Dec  8 20:05 docker-compose.dbext.yml
-rw-rw-r-- 1 rancher rancher  347 Dec 14 19:40 docker-compose.dbint.yml
-rw-rw-r-- 1 rancher rancher  688 Dec 15 16:31 docker-compose.full.yml
-rw-rw-r-- 1 rancher rancher   81 Dec  8 20:05 docker-compose.local.yml
-rw-rw-r-- 1 rancher rancher  288 Dec 15 16:31 docker-compose.yml
-rwxrwxr-x 1 rancher rancher  721 Dec 14 19:40 redeploy.sh
-rwxrwxr-x 1 rancher rancher  861 Dec  8 20:05 setup.sh
-rwxrwxr-x 1 rancher rancher   66 Dec  8 20:05 shutdown.sh
-rwxrwxr-x 1 rancher rancher  269 Dec 14 19:40 startup.sh
drwxrwxr-x 2 rancher rancher 4096 Dec 14 19:40 worker

рдореЗрд░реЗ рдкрд╛рд╕ 8 рдХрдВрдкреЛрдЬрд╝ рдлрд╛рдЗрд▓реНрд╕ рд╣реИрдВ (рдЬреЛ рдХрд┐ рдореИрдВ рдХрдИ рдХреЙрдореНрдмрд┐рдиреЗрд╢рди рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддрд╛ рд╣реВрдВ) рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ worker рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рд╣реИ, рдЬрд╣рд╛рдВ рдореИрдВ 'default by default' рд╕реНрдЯрд╛рд░реНрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ред worker рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ (рдорд╛рддрд╛-рдкрд┐рддрд╛ рд╕реЗ рдЬреБрдбрд╝реА рдПрдХ .env рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдФрд░ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рдЕрдиреБрдкрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЦрд╛рд▓реА рдХрдореНрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓реЗрдВ .env COMPOSE_FILE рдЪрд░) рдореЗрд░рд╛ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛрдЧрд╛ рддреЛ рдореЗрд░рд╛ рдЬреАрд╡рди рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рдореБрджреНрджреЗред

@vipseixas рдХреЛ рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╕реЗ рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреА

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

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

app:
  image: myapp:v1

tests:
  image: myapp:tests
  dependencies:
    - profile: "tests"
    - service: "app"
      healthcheck: true
# run the things
docker-compose up -d

# test the things
DOCKER_COMPOSE_PROFILE="tests" docker-compose up -d
DOCKER_COMPOSE_PROFILE="tests" docker-compose logs -f

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП +1ред

рдпрд╣рд╛рдВ рдХрдИ рд▓реЛрдЧреЛрдВ рдиреЗ рджрд┐рд▓рдЪрд╕реНрдк рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдореБрджреНрджреЗ рдХрд╛ рдореВрд▓ рдХреНрдпрд╛ рд╣реИ? рдореИрдВ рдЗрд╕реЗ рдпрдерд╛рд╕рдВрднрд╡ рд╕рд░рд▓ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдорддрджрд╛рди рдХрд░рддрд╛ рд╣реВрдВред

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдЬ рдпрд╣ рдЦрдбрд╝рд╛ рд╣реИ, рд╣рдо рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ docker-compose.yml рдореЗрдВ рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдХреЛ docker-compose up рдкрд░ рд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╣рдо рд╕рднреА рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХрд╕реНрдЯрдо рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕, рдореЗрдХрдлрд╛рдЗрд▓реНрд╕, рдмрд┐рд▓реНрдб рдЯреВрд▓реНрд╕ рдЗрддреНрдпрд╛рджрд┐ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рд╕реМрднрд╛рдЧреНрдп рд╕реЗ рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ рдФрд░ рдбреЙрдХрдЯрд░ рджреЛрдиреЛрдВ рд╣реА рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реНрдпрд╛рдкрдХ рдПрдкреАрдЖрдИ рдХрд╛ рдЦреБрд▓рд╛рд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЬрдм рдХрд┐рдЪрди рд╕рд┐рдВрдХ 'рдКрдкрд░' рд╣реИред

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

рд╣рдо рд╕рднреА рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╕рдВрднрд╡ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреНрдпрд╛ рд╣реИ рдЬреЛ "рд╣реЛ рдЬрд╛рддреА рд╣реИ"? рдпрд╣ docker-compose.yml рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЕрджреНрдпрддрди рд╣реИ ( @bfirsh рдореВрд▓ рд╡рд┐рдЪрд╛рд░ рд╕рдВрдЦреНрдпрд╛ 2) рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╕реЗрд╡рд╛ autostart: false рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреА рд╣реИ

рдореИрдВ рд╡реЛрдЯ рджреЗрддрд╛ рд╣реВрдВ: "рдХреЗрд╡рд▓ рдЕрдореЗрд░рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЛ, рдзрдиреНрдпрд╡рд╛рджред" рд╣рдо рдорддрджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рд╣рдореЗрдВ рдЕрдм рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЙрддреНрддрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред 4 рднрдЧрд╡рд╛рди!

рд╣рдо рд╕рднреА рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╕рдВрднрд╡ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреНрдпрд╛ рд╣реИ рдЬреЛ "рд╣реЛ рдЬрд╛рддреА рд╣реИ"? рдпрд╣ docker-compose.yml рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди ( @bfirsh рдореВрд▓ рд╡рд┐рдЪрд╛рд░ рд╕рдВрдЦреНрдпрд╛ 2) рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЕрджреНрдпрддрди рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╕реЗрд╡рд╛ рдСрдЯреЛрд╕реНрдЯрд╛рд░реНрдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреА рд╣реИ: рдЕрд╕рддреНрдп

рдпрд╣ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмреЗрд╣рддрд░ рд╣реИ :)

рдпрд╣ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИрдВред
scale: 0
https://github.com/docker/compose/issues/1661

@ рдЖрдХрд░реНрд╖рд┐рдд-рдЖрд░ рдХреНрдпрд╛?
image

@ jonathanborges1542 рдпрд╣ docker-compose scale servname=2 ред docker-compose.yml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреЛрдИ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИред

@ рдЖрдХрд░реНрд╖рд┐рдд-рдЖрд░ scale: 0 рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдбреЙрдХрдЯрд░ рдбреЗрдореЙрди рдХреЛ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рд╕рднреА рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ SIGTERM / SIGKILL рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реИред рдпрд╣ рдХрд┐рд╕реА рднреА рд░рдЦрд░рдЦрд╛рд╡ рдХреА рдиреМрдХрд░реА рдХреЛ рдорд╛рд░ рджреЗрдЧрд╛, рднрд▓реЗ рд╣реА рдЙрд╕рдиреЗ рдЕрднреА рддрдХ рдЕрдкрдирд╛ рдХрд╛рдо рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реЛред рд╡рд╣ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред рдЗрд╕реЗ рдмрджрд▓рдирд╛ рдПрдХ рдЕрдзрд┐рднрд╛рд░ рдХрд╛ рдПрдХ рдмреБрд░рд╛ рдорд╛рдорд▓рд╛ рд╣реЛрдЧрд╛ рдЬреЛ рдЕрднреА рдПрдХ рд╕реНрдкрд╖реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред

@gittycat рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдпрд╣рд╛рдВ рдЬреЛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рд╡рд╣ "

рдореИрдВ рдПрдХ рд╕рд╛рд▓ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд╕реЗ рдЗрд╕ рд╡рд┐рд╖рдп рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВ (рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреЛрд╕реНрдЯ рдбреЙрдХрдЯрд░ рдХреА рдУрд░ рд╣реИрдВ)ред
рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдПрдХ рдирдпрд╛ рд╢реАрд░реНрд╖ рд╕реНрддрд░ "рдиреМрдХрд░реА" "рд╕реЗрд╡рд╛рдУрдВ", "рд╡реЙрд▓реНрдпреВрдо" рдФрд░ "рдиреЗрдЯрд╡рд░реНрдХ" рдХреЗ рд╕рд╛рде рд░рд╣рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИред рдКрдкрд░ рдХреА рдУрдкреА рд╕реВрдЪреА рдореЗрдВ рд╡рд╣ рд╡рд┐рдХрд▓реНрдк 4 рд╣реИред
рдпрд╣ рдбреЙрдХрд░ рд░реЗрдкреЛ рдкрд░ рдПрдХ рдкреНрд░рд╕реНрддрд╛рд╡ рднреА рд╣реИред
https://github.com/docker/docker/issues/23880

@briceburg

рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╕реЗ рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреА рдкрд╡рд┐рддреНрд░рддрд╛ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рдХрдард┐рди рд╣реИ

рдЗрд░рд╛рджрд╛ рд╕рд┐рд░реНрдл рдпрд╣ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдерд╛ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдХрдИ рдлрд╝рд╛рдЗрд▓ рд╕рдВрдпреЛрдЬрди рд╣реИрдВ рдФрд░ рдХрдИ "-f" рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рддреНрд░реБрдЯрд┐ рд╣реИред

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

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

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

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

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

+1 @ рдбреНрд░реВ-рдЖрд░ # 1661

рдХреНрдпрд╛ рдпрд╣ рдореБрджреНрджрд╛ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдпрд╛ рдпрд╣ рдХреЗрд╡рд▓ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ рдЬреЛ рджреЗрд╡реЛрдВ рдХреА рд░рдЪрдирд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ? рдпрд╣ рдЬрд╛рдирдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рддрд╛рдХрд┐ рд╕рдореБрджрд╛рдп рджреВрд╕рд░реЗ рд╕рдорд╛рдзрд╛рди рдХреА рддрд▓рд╛рд╢ рд╢реБрд░реВ рдХрд░ рд╕рдХреЗред

рд╡реИрд╕реЗ рдореИрдВ рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП рдорддрджрд╛рди рдХрд░рддрд╛ рд╣реВрдВред

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

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП +1ред
рдХреНрдпрд╛ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░реЗрдЧрд╛ ... links рдЖрджрд┐?

рдЕрдЧрд░ рдореИрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдХреМрди рд╕реА рд╕реЗрд╡рд╛ docker-compose up [service] рд╕рд╛рде рд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ рддреЛ рдпрд╣ рджреБрд░реНрд▓рдн рд╣реИ рдХрд┐ рдореИрдВ рд╕реЗрд╡рд╛ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХрд┐рд╕реА рднреА рд╕реЗрд╡рд╛ рдХреЛ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рдирд┐рд░реНрднрд░рддрд╛ рд╣реИред

рд╡рд┐рдХрд▓реНрдк рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рд╡реЛрдЯ 2. рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдкреАрдЖрд░ рднреА рд╣реИ (https://github.com/docker/compose/pull/3047) рдЬреЛ @acran рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рдерд╛, рдЗрд╕рд▓рд┐рдП

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

@msabramo рд░рдЪрдирд╛рдХрд╛рд░ рдореВрд▓ рд░реВрдк рд╕реЗ

рдЕрдиреБрд░реЛрдз рдХреЛ docker engine repo https://github.com/docker/docker/issues/23880 рдкрд░ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ
рдпрд╣реАрдВ рд╕реЗ рдлреИрд╕рд▓рд╛ / рдХрд╛рдо рдЖрдПрдЧрд╛ред

рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛рдПред

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

рдореИрдВ рдкреНрд░реЛрдбрдХреНрд╢рди рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдмрд╣реБрдд рд╕рд╛рд░реА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВред рддрдм рдореИрдВ рдпреЛрдирд┐ рдореЗрдВ рдкреНрд░рд╡рд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВред

2 рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рд╡реЛрдЯ

2 рдФрд░ 4 рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рд╡реЛрдЯред

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

рд╕реЗрдЯрдЕрдк рдФрд░ / рдпрд╛ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдЖрджреЗрд╢ рд╣реЛрдиреЗ рд╕реЗ рдЪреАрдЬреЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рд╛рдл рд╣реЛ рдЬрд╛рдПрдВрдЧреАред

2 рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рд╡реЛрдЯ!

рдореИрдВрдиреЗ рдЗрд╕ рд╕реВрддреНрд░ рдХреЛ рдкрдврд╝рд╛ рдерд╛ рд▓реЗрдХрд┐рди рдПрдХ рдирдпрд╛ рдкреЛрд╕реНрдЯ рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ (https://github.com/docker/compose/issues/4650), рдЬреЛ рдмрдВрдж рд╣реЛ рдЧрдпрд╛ рдФрд░ рдореБрдЭреЗ рдпрд╣рд╛рдБ рднреЗрдЬрд╛ рдЧрдпрд╛ред рдЬрд┐рд╕ рдмрд┐рдВрджреБ рдкрд░ рдореИрдВ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рдереНрд░реЗрдб рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЪрд░реНрдЪрд╛рдУрдВ рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреА рдЪрд┐рдВрддрд╛ рд╣реИ, рдореЗрд░рд╛ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рддреАрд╕рд░реЗ рд░рд╛рдЬреНрдп рдХрд╛ рд╣реИ: рдХрдВрдЯреЗрдирд░ рдмрдирд╛рдирд╛ред

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

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

рдХреНрдпрд╛ рдЖрдк рдЗрддрдиреЗ рджрдпрд╛рд▓реБ рд╣реЛрдВрдЧреЗ рдХрд┐ рдЕрдкрдиреЗ рдореБрджреНрджреЗ рдкрд░ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рджреЗ рд╕рдХреЗрдВ?

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

@ekkis рдХрд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк # 963 рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓рддреЗ рд╣реИрдВ, рдЬреЛ рдЖрдк рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ рдЙрд╕рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд▓рдЧрддрд╛ рд╣реИред

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП +1

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП +1

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП +1

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП +1

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП +1

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП +1

: +1: рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдкрд░ рдХрд┐рд╕реА рднреА рдЕрдиреБрдорд╛рди рдкрд░ рдПрдХ рдкреНрд░рд╢реНрди рдХреЗ рд╕рд╛рде рд╡рд┐рдХрд▓реНрдк # 2 рдХреЗ рд▓рд┐рдП? рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдХреНрдпрд╛ рд╣реИ? рдЬрд╣рд╛рдБ рддрдХ рдореИрдВ рдХрд▓реНрдкрдирд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ рдореЗрд░реА рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

docker-compose up service1 service2 service3

... рдФрд░ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛

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

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП +1ред
'рдЪрд░рдг' рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдХрд╣рддреЗ рд╣реИрдВ, рд╕реЗрд╡рд╛ рдХреЗрд╡рд▓ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЪрд▓реЗрдЧреАред

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП +1ред

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП рд╡реЛрдЯ рдХрд░реЗрдВ

up рдХрдорд╛рдВрдб рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдирд╛ рд╕рд╣реА рд╣реЛрдЧрд╛ - docker-compose up service1 service3

: +1: рд╡рд┐рдХрд▓реНрдк 2 рдФрд░ 4 рдХреЗ рд▓рд┐рдП

рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╡рд┐рдХрд▓реНрдк 2 рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреНрдпрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЧрд▓реЗ рдЪрд░рдг рдХреНрдпрд╛ рд╣реИрдВ?

рдпрд╣рд╛рдВ рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП +1, рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЖрдпрд╛, рдЬрд┐рд╕рд╕реЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реИред

рд╡рд┐рдХрд▓реНрдк 2 рдкрд░ +1

... рдФрд░ рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ +1

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП +1

рд╡рд┐рдХрд▓реНрдк 2 :-) рдХреЗ рд▓рд┐рдП +1

рд╡рд┐рдХрд▓реНрдк 2 рдФрд░ 4 рдХреЗ рд▓рд┐рдП +1

рдирдорд╕реНрддреЗ,
+1 рд╡рд┐рдХрд▓реНрдк 2

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

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

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

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП рдмреЗрд╢рдХ +1000

+1 рд╡рд┐рдХрд▓реНрдк 2

рдЕрдЧрд░ рдореБрдЭреЗ рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП рд╡реЛрдЯ рджрд┐рдпрд╛ рдЬрд╛рдП рддреЛ рдХреНрдпрд╛ рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдкрдбрд╝реЗрдЧрд╛? 'рд▓рдЧрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╣реЛрдЧрд╛ред

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

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

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

@jimzucker рдирд╣реАрдВ - рдХреНрдпреЛрдВрдХрд┐ рдпрд╣рд╛рдБ рд╕рдорд╕реНрдпрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдирд╣реАрдВ рд╣реИ; рдЗрд╕рдХрд╛ рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЖрдкрдХреЗ рдФрд╕рдд рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд▓рд┐рдП рдЖрдзрд╛ рджрд┐рди рд▓реЗрдЧрд╛ред рд╣рдо рдпрд╣рд╛рдВ рдЬрд┐рд╕ рдЪреАрдЬ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд┐рдд рд╣реИрдВ рд╡рд╣ рдПрдХ рдореМрд▓рд┐рдХ рдбрд┐рдЬрд╛рдЗрди рдореБрджреНрджрд╛ рд╣реИред

  1. рдПрдХ рд╕реЗрд╡рд╛ рдХреНрдпрд╛ рд╣реИ? рдбрд┐рдЬрд╛рдЗрди рджреНрд╡рд╛рд░рд╛, рдПрдХ рд╕реЗрд╡рд╛ рдПрдХ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд, рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ рдЬреЛ рдПрдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рддреА рд╣реИред рдпрд╣ рд╡рд╣ рдореВрд▓ рдзрд╛рд░рдгрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рддрд╣рдд рдХрдореНрдкреЛрдЬрд╝ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рд╣рдорд╛рд░реЗ рдбрд┐рдЬрд╛рдЗрди рдХреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдпрджрд┐ рд╣рдо рдЙрди рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИрдВред
  2. рдЙрд╕ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, "рдПрдХ рд╕реЗрд╡рд╛ рдЬреЛ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ" рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╕реЗрд╡рд╛ рдирд╣реАрдВ рд╣реИ [1] - рдпрд╣ рдПрдХ рдкреВрд░реНрд╡-рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд╛рд░реНрдп рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдФрд░ рдЖрд╡реЗрджрди рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ , рдмрд▓реНрдХрд┐
  3. рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рд╕реЗрд╡рд╛ рдХрд╣рдирд╛ рдЧрд▓рдд (рдореВрд▓ рд░реВрдк рд╕реЗ рдбрд┐рдЬрд╛рдЗрди рджреНрд╡рд╛рд░рд╛) рдЧрд▓рдд рд╣реИред рдЙрд╕ рдмрд┐рдВрджреБ рдкрд░ рд╣рдореЗрдВ рдЖрдкрдХреА рд░рдЪрдирд╛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рдирдИ рдкреНрд░рдХрд╛рд░ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдмрдирд╛рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдореИрдВ рдЗрд╕реЗ рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛ рдХреЗ рд▓рд┐рдП "рдХрд╛рд░реНрдп" рдХрд╣реВрдВрдЧрд╛, рд╕рдЯреАрдХ рд╢рдмреНрджрд╛рд╡рд▓реА рдпрд╣рд╛рдВ рдХреЛрдИ рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддреА рд╣реИ)ред
  4. рдЪреВрдВрдХрд┐ рдХрд╛рд░реНрдп рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдХрдо рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╡реЗ рд╕реЗрд╡рд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдПрдХ рдЕрд▓рдЧ рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣рдо рдпрд╣ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ [2]ред рджреВрд╕рд░реА рдУрд░, рд╕реАрдЖрдИрдбреА тАЛтАЛрдлрд╝рд╛рдЗрд▓ рдЬреИрд╕рд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдЬреЛ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЬреНрдпрд╛рджрд╛рддрд░ рд╡реНрдпрд░реНрде рд╣реИ, рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
  5. рдЕрдм, рдЕрдзрд┐рдХрд╛рдВрд╢ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ, рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдирд┐рд░реНрднрд░рддрд╛ рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╣реЛрддреА рд╣реИ (рдЗрд╕реАрд▓рд┐рдП рдкрд╛рд░рдВрдкрд░рд┐рдХ, рдЧреИрд░-рдХрдВрдЯреЗрдирд░ рджреБрдирд┐рдпрд╛ рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдореЗрдХрдлрд╛рдЗрд▓реНрд╕ рд╣реИрдВ) - рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рд╕рдорд╛рдирддрд╛рд╡рд╛рдж рдХреЗ рд╕рд╛рде, рдФрд░ рдмрддрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрднрд░рддрд╛ рд╢реНрд░реГрдВрдЦрд▓рд╛рдУрдВ рдХреЗ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрдЧрд░ рдЙрд╕ рдПрдХ JAR рдирд┐рд░реНрдорд╛рдг рдХрд╛рд░реНрдп рдореЗрдВ рд╣рдореЗрд╢рд╛ 10 рдорд┐рдирдЯ рд▓рдЧрддреЗ рд╣реИрдВ рддреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
  6. рдлрд┐рд░, рдХреБрдЫ рд╕реЗрд╡рд╛рдПрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╢реБрд░реВ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИрдВ, рдПрдХ рдФрд░ рд╕реНрддрд░ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реБрдП рдХрд┐ рд╣рдо рдХреИрд╕реЗ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдЧрдгрдирд╛ рдФрд░ рд╕рдВрднрд╛рд▓ рдХрд░рддреЗ рд╣реИрдВред
  7. рдФрд░ рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕реЗрд╡рд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рдЬреИрд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдорд╛рдЗрдЧреНрд░реЗрд╢рди)ред

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

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

[рез] рдХреБрдЫ рд▓реЛрдЧ "рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕реЗрд╡рд╛рдУрдВ" рдХреЗ рд▓рд┐рдП рдЗрдЪреНрдЫреБрдХ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╕рдмрд╕реЗ рдЖрдо рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдЧ "рдХрд╛рд░реНрдп" рд╕реБрд╡рд┐рдзрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореИрдВ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реВрдВред
[реи] рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдРрд╕реЗ рдХрд╛рд░реНрдп рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рд╡рд┐рд░реЛрдзрд╛рднрд╛рд╕ рдХрд░реЗрдЧрд╛, рдЬрд┐рд╕реЗ рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рдХреЗрд╡рд▓ рдпрд╣ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдПрдЧрд╛ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрдЯ рдкрд░ рдХреМрди рд╕реЗ рд╡рд┐рдХрд▓реНрдк рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдЕрднреНрдпрд╛рд╕ рддреБрдЪреНрдЫ рдирд╣реАрдВ рд╣реИред
[рей] рдФрд░ рдЗрд╕ рд╕рдордп рдореЗрд░рд╛ рдорддрд▓рдм "рдореИрдВ" рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЗрд╕ рд╕рдордп рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ docker-compose рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

@ рдкрд┐рдВрдбрд▓реА- рдореБрдЭреЗ рдмрд┐рдВрджреБ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред рдЬреЛ рдореИрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рд╡рд╣ рдЖрдкрдХреЗ рдЪрд░рдгреЛрдВ рдореЗрдВ "рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕реЗрд╡рд╛рдПрдВ" рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рд╣реИрдВ, рди рдХрд┐ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╡рд┐рдЪрд╛рд░ рд╕реЗ, рдХреНрдпрд╛ рд╣рдо рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдЗрд╕ рдмрд╛рдд рдкрд░ рд╕рд╣рдордд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдЙрд╕ рдмрд┐рдВрджреБ рдХреЛ рдХреИрд╕реЗ рдЖрдЧреЗ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ рдореИрдВ рдЙрд╕ рдзрд╛рдЧреЗ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдерд╛ рдЬрд┐рд╕реЗ рдореИрдВ рдЪреИрдВрдкрд┐рдпрди рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЙрд╕ рд░рд╛рд╕реНрддреЗ рдкрд░ рдореЗрд░реЗ рдЯрд┐рдХрдЯ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЗрд╕ рдзрд╛рдЧреЗ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдмрдВрдж рд╣реБрдПред рдЕрдЧрд░ рд╣рдо рдЙрди рдмрд┐рдВрджреБрдУрдВ рд╕реЗ рдЕрд▓рдЧ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдиреЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ 'рдХрд╛рд░реНрдпреЛрдВ' рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рд╣реИ рддреЛ рд╣рдо рдХреБрдЫ рд╣рдж рддрдХ рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рдЬрдм рд▓реЛрдЧ рдореЗрд░реЗ рдкрдврд╝рдиреЗ рдореЗрдВ рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП +1 рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдпрд╣ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рд╣реИред рдЗрд╕ рдСрдлрд╝рд▓рд╛рдЗрди рдЪрд░реНрдЪрд╛ рдХреЗ рд▓рд┐рдП рдЦреБрд╢ рдФрд░ рд╣рдо рдлрд┐рд░ рдордВрдЪ рдкрд░ рдЖ рд╕рдХрддреЗ рд╣реИрдВ, рдореИрдВ [email protected] рдкрд░

@ рдкрд┐рдВрдбрд▓реА- рдЖрдкрдХреА рдмрд╛рдд # 2 рдЧрд▓рдд рд╣реИред рдПрдХ рд╕реЗрд╡рд╛ рдПрдХ рд╕реЗрд╡рд╛ рд╣реИ рдЪрд╛рд╣реЗ рд╡рд╣ рдЪрд▓ рд░рд╣реА рд╣реЛред рдРрд╕реЗ рдЕрдирдЧрд┐рдирдд рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рдирд┐рд░реНрднрд░рддрд╛ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рдирд┐рд░реНрднрд░ рд╕реЗрд╡рд╛рдПрдВ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВрдЧреА, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░рдд рдХреЛ, рд╕рднреА рд╕рдордп рдкрд░ "рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ" рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

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

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

рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдорд╛рд╣реМрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫреА рд╕реБрд╡рд┐рдзрд╛ рд╣реИ; рдпрджрд┐ рдЖрдк рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдмрдЧ рдХреЛ рдареАрдХ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рднреА рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдмреВрд▓рд┐рдпрди рдХреНрд╖реЗрддреНрд░ рдХреЗ рд╕рд╛рде рд╣рдо .env рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдЕрдХреНрд╖рдо / рдЕрдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрдорд▓ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдмрдЪ рд╕рдХрддреЗ рд╣реИрдВред

@ekkis рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХреБрдЫ рд╣рдж рддрдХ рдЧрд▓рддреА-рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рдФрд░

рд╣рд░ рдХреЛрдИ: рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдпрджрд┐ рдЖрдкрдХреЗ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕реЗрд╡рд╛рдПрдВ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИрдВ, рддреЛ рд╡рд░реНрддрдорд╛рди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рд╕рдВрднрд╛рд▓рдирд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрднрд╡ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрд╢рдВрд╕рд┐рдд рддрд░реАрдХрд╛ рдПрдХ рдЕрд▓рдЧ рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рд╣реИ рдЬрд┐рд╕рдореЗрдВ -f рдлреНрд▓реИрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╢рд╛рдорд┐рд▓ рдпрд╛ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╡реЗ рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рдореНрдореЛрд╣рдХ рддрд░реНрдХ рдирд╣реАрдВ рд╣реИрдВред

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

рдХреНрдпрд╛ рдХреЛрдИ рдРрд╕реА рдлреЙрд░реНрдо рд╣реИ рдЬрд┐рд╕реЗ рдХреЛрд░ рдЯреАрдо рдЗрд╕ LMK рдореЗрдВ рдпреЛрдЧрджрд╛рди рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛрдЧреАред

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

@ shin- рдореИрдВ рджреГрдврд╝рддрд╛ рд╕реЗ рд╣реВрдВ : _by default_ рдХреЛ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рд╕реЗрд╡рд╛ рд╣реЛрдиреЗ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреА рдмрд╛рдд 2. рдПрдХ рдзрд╛рд░рдгрд╛ рд╣реИ рдЬреЛ _nuallyly_ true рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рд▓рдЧрд╛рддрд╛рд░ рдмрд┐рдВрджреБ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЖрдзрд╛рд░рд┐рдд рд╣реИрдВ 2 рдХреА рдзрд╛рд░рдгрд╛ред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рдЬрдм рдореИрдВ mysql DB рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореИрдВ рдЖрдорддреМрд░ рдкрд░ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд _service_ phpmyadmin рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реВрдВред рдпрд╣ рдПрдХ рд╕рдЪреНрдЪреА рд╕реЗрд╡рд╛ рд╣реИ: рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓рдиреЗ, рдЙрдЬрд╛рдЧрд░ рдмрдВрджрд░рдЧрд╛рд╣, рдЕрдиреНрдп рд╕реЗрд╡рд╛рдУрдВ рдкрд░ рдирд┐рд░реНрднрд░ред
рд▓реЗрдХрд┐рди рдореИрдВ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рдХрд┐ рдпрд╣ рд╕реЗрд╡рд╛ _by default_ рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ _on рдорд╛рдВрдЧ_ / рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рд╢реБрд░реВ рд╣реЛред
рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореБрдЭреЗ рдЗрд╕ рд╕реЗрд╡рд╛ рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд docker-compose.yml рдореЗрдВ рд▓рдЧрд╛рдХрд░ рдФрд░ рдЗрд╕реЗ docker-compose рдкреНрд░рджрд╛рди рдХрд░рдХреЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХрд╛ рдПрд╣рд╕рд╛рд╕ рд╣реИ - рдЬреИрд╕рд╛ рдЖрдкрдиреЗ рдКрдкрд░ рдмрддрд╛рдпрд╛ рд╣реИред

рддреЛ, рд╣рд╛рдВ, рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрднрд╡ рддрд░реАрдХреЗ рд╣реИрдВ; рдпрд╣ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдХрдИ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдХреЗ рдпрд╛ рдХреЗрд╡рд▓ docker-compose рдЕрд▓рд╛рд╡рд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣реЛред рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдКрдкрд░ рд▓рд┐рдЦрд╛ рд╣реИ : рдпрд╣ рдореБрджреНрджрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирдИ рд╕реБрд╡рд┐рдзрд╛ / рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдпрд╛ рдПрдХ рдирдИ рдЕрд╡рдзрд╛рд░рдгрд╛ (рдпрд╛рдиреА _tasks_) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ ред
docker-compose -f docker-compose.yml -f docker-compose-tools.yml up рдЯрд╛рдЗрдк рдХрд░рдирд╛ рдХреБрдЫ рднреА рд╣реИ рд▓реЗрдХрд┐рди рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП docker-compose рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╡рд╛рджреЛрдВ рдХреЛ рдкреВрд░рд╛ рдирд╣реАрдВ

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

рдХреМрди рд╕реА рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛ рдХреМрди рд╕рд╛ yml рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕ рдорд╛рд╣реМрд▓ рдореЗрдВ рдЖрдорддреМрд░ рдкрд░ _multi- рдкреГрд╖реНрда рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ "рдбреЗрд╡рд▓рдкрд░ рдЧрд╛рдЗрдб рд╢реБрд░реВ рдХрд░ рд░рд╣рд╛ рд╣реИ [s]" _ - рдЕрдЧрд░ рд╕рднреА рдкрд░ рдкрд╛рдпрд╛ рдЬрд╛рдП ...

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

рдЬреИрд╕рд╛ рдХрд┐ рдореЗрд░рд╛ рдкреАрдУрд╕реА рдЖрд╡рд╢реНрдпрдХ рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрди рджрд┐рдЦрд╛рддрд╛ рд╣реИ - "рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕реЗрд╡рд╛рдУрдВ" рдХреЗ рд▓рд┐рдП - рдХрд╛рдлреА рдкреНрд░рдмрдВрдзрдиреАрдп рд╣реИ рдФрд░ рдпрд╣рд╛рдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд▓рд╛рдн рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рд╡рд┐рдХрд▓реНрдк 2 - рдПрдХ рд╕реЗрд╡рд╛ рдХреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "_possibility рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡реИрдХрд▓реНрдкрд┐рдХ_" - рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдЪрд┐рдд рд╕рдордЭреМрддрд╛ рд╣реИред

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

@shin , @acran рдХреЗ рдмрд┐рдВрджреБ рдХреЗ рдКрдкрд░ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдХреЗрд╡рд▓ рдХреБрдЫ рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдиреНрдп рд╕реЗрд╡рд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рдмрд╛рдд рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ рд╣рд░ рдмрд╛рд░ рдЬрдм рдореИрдВ "рдЕрдк" рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ project_app_1 , project_otherapp_1 рдирд╛рдо рдХреА "рд╕реЗрд╡рд╛рдУрдВ" рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдорд┐рд▓рддрд╛ рд╣реИ, рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛

@acran

рдХреНрдпрд╛ рдЖрдк рдЗрд╕ рдмрд╛рдд рдкрд░ рд╕рд╣рдордд рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ - рд▓реЗрдХрд┐рди рд╡реЗ рдЕрднреА рднреА рд╕реЗрд╡рд╛рдПрдВ рд╣реИрдВ - рдЗрд╕рд╕реЗ рдЙрдиреНрд╣реЗрдВ рдмрд╣реБрдд рдорджрдж рдорд┐рд▓реЗрдЧреА?

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

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

рдКрдкрд░ рджреЗрдЦреЗрдВ - рдЬреИрд╕реЗ рд╣реА рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдЙрдкрд▓рдмреНрдз рд╣реЛ рдЬрд╛рддреА рд╣реИ, рд▓реЛрдЧ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдкрдиреЗ рдЗрдЪреНрдЫрд┐рдд рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдВрдЧреЗ, рдФрд░ рд╣рдорд╕реЗ рдЙрдореНрдореАрдж рдХрд░реЗрдВрдЧреЗ рдХрд┐ рд╣рдо рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рд╕реБрд╡рд┐рдзрд╛ рд▓рд╛рдЧреВ рдХрд░реЗрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ cc @jimzucker ; рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдХ рдРрд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪ рд╕рдХрддрд╛ рдЬреЛ рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рд╕рд╛рдордиреЗ рдЖрдиреЗ рд╕реЗ рд░реЛрдХреЗред рдЕрдЧрд░ рдореИрдВ рдХрд░ рд╕рдХрддрд╛ рдерд╛, рддреЛ рдпрд╣ рдореБрджреНрджрд╛ рдмрд╣реБрдд рдкрд╣рд▓реЗ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ред

@ekkis рдпрджрд┐ рдЖрдк рдХрднреА рднреА рдЙрди рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд╕реНрд╡рдпрдВ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЕрд▓рдЧ рдлрд╛рдЗрд▓ рдореЗрдВ рдЕрд▓рдЧ рдХрд░рдирд╛ рдПрдХ рдореБрджреНрджрд╛ рдХреНрдпреЛрдВ рд╣реИ? рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрд▓рдЭрди рдореЗрдВ рд╣реВрдВ рдХрд┐ рдпрд╣рд╛рдВ рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реИред

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

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

рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕ рд╕рд╛рдзрд╛рд░рдг рдкреИрдЪ рдкрд░ рдЖрдкрддреНрддрд┐ рдХреНрдпрд╛ рд╣реИред рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛

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

@ рдирд▓реА

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

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдпрд╣рд╛рдБ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪрд╛ рдерд╛ред рдореЗрд░рд╛ рд╡рд╛рдВрдЫрд┐рдд рд╡рд░реНрдХрдлрд╝реНрд▓реЛ "рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕реЗрд╡рд╛рдПрдВ" рдЕрдВрдд рдореЗрдВ рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛:

  • рдореИрдВ рдПрдХ рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ / рдХреНрд▓реЛрди рдХрд░рддрд╛ рд╣реВрдВ
  • рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдБ рдХрд┐ рдЗрд╕рдореЗрдВ рдПрдХ (рдПрдХрд▓) docker-compose.yml рдлрд╝рд╛рдЗрд▓ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рдореБрдЭреЗ рдмрд╕ docker-compose up рдЪрд▓рд╛рдирд╛ рд╣реИ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдпрд╛ рдФрд░ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИ
  • рдЕрдм рдореИрдВ рд╡рд┐рдХрд╛рд╕ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ (рдЬреИрд╕реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдбреАрдмрдЧрд┐рдВрдЧ, phpMyAdmin)ред рдореБрдЭреЗ рдХреЗрд╡рд▓ docker-compose up phpmyadmin ред

рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рдХрдИ docker-compose.yml рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ _much_ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдпрд╣рд╛рдВ рдЕрдиреНрдп рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рднреА рд╕рдордЭрддрд╛ рд╣реВрдВред рдпрд╣рд╛рдВ "рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕реЗрд╡рд╛рдПрдВ" рд╣реЛрдиреЗ рдХрд╛ рд▓рд╛рдн рд╣реИ

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

    • docker-compose -f docker-compose.phpmyadmin.yml up

    • docker-compose -f docker-compose.yml -f docker-compose.phpmyadmin.yml up рдпрд╛ рднреА

    • docker-compose -f docker-compose.phpmyadmin.yml -f docker-compose.yml up ?

  • рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХреЗрд╡рд▓ _know_ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдпрд╣ рд╣реИ рдХрд┐ phpmyadmin рдирд╛рдордХ рдПрдХ рд╕реЗрд╡рд╛ рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддреБрд░рдВрдд рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рдПред

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

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

рд╡реИрдХрд▓реНрдкрд┐рдХ рдХреЗ рд░реВрдк рдореЗрдВ _service_ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд╕рд╛рде рд╣рдо рдЕрднреА рднреА рдЙрд╕ рдХрдЯреМрддреА рдХреЗ рджрд╛рдИрдВ рдУрд░ рд╣реИрдВред "рдкреНрд░рддрд┐ рд╕реЗ рдлрд╝реАрдЪрд░ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ _might_ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЗрд╕реЗ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓реБрднрд╛рддрд╛ рд╣реИ" рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдХрдорд╛рддреНрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡реИрдз!) рддрд░реНрдХ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдЦрд┐рд▓рд╛рдл рдЦрдбрд╝рд╛ рд╣реИ, рдЗрд╕реЗ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдлреА рдЕрд╕рдВрддреЛрд╖рдЬрдирдХ рд╣реИ - рдХрдо рд╕реЗ рдХрдо рдХреЗ рд▓рд┐рдП рд╡реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬреЛ рдЗрд╕реЗ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ тДвред

рдореИрдВ рд╡рд░реНрддрдорд╛рди рдорд╛рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдкреБрд▓ рдЕрдиреБрд░реЛрдз # 3047 рдХреЛ рд░рд┐рдмрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реВрдВ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдЖрд╡рд╢реНрдпрдХ рдкреЙрд▓рд┐рд╢рд┐рдВрдЧ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реВрдВ, рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ;)

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

рдореИрдВ рдПрдХ docker-compose рдХрд╛рдВрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдЪреНрдЫреБрдХ рд╣реВрдВ рдЬреЛ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдЗрд╕ рд╡рд┐рд▓рдХреНрд╖рдг рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред

@ рдкрд┐рдВрдбрд▓реА- рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рд╕рднреА рдЖрдкрдХреА рдмрд╛рдд рдХреЛ рд╕рдордЭрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рд╣рд╛рдиреБрднреВрддрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ "рдЗрд╕рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ" рдХреБрдЫ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реНрдХ рд╣реИ - рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ - рдХрдИ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗред рдмреЗрд╢рдХ рдпрд╣ _will_ рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдареАрдХ рдпрд╣реА рд╣реИ рдХрд┐ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдФрд░ рдирдП рд╡рд┐рдЪрд╛рд░ рдХреИрд╕реЗ рдмрдврд╝рддреЗ рд╣реИрдВ; рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡реЗрдм рд╡рд╣ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдЬреЛ рдЖрдЬ рд╣реИ рдЕрдЧрд░ рд╣рдо рдкрд┐рдЫрд▓реЗ 25 рд╡рд░реНрд╖реЛрдВ рд╕реЗ рд╕рднреА рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

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

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

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

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

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

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

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

@rysiekpl рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдПрдХ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рд╣рд▓ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рджреЗрдЦреЗрдВ https://github.com/docker/cli/pull/452 (рдПрдХ рдмрд╛рд░ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЬрд╛рдирдмреВрдЭ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХрдВрдкреЛрдЬрд╝ рдФрд░ v2 рдореЗрдВ рдЕрдкрдирд╛ рд░рд╛рд╕реНрддрд╛ рдмрдирд╛ рд▓реЗрдЧрд╛ рдХреБрдВрдЖ)

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

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдкрдиреА рдмрд╛рдд:

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

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ https://docs.docker.com/compose/overview/ рдкреЗрдЬ (рдЬреЛрд░ рдореЗрд░рд╛) рдХрд╛ рдкрд╣рд▓рд╛ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рд╣реИ:

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

@ekkis рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЦреБрд╢реА рд╣реИ рдХрд┐

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

рдЖрдк рдЕрдкрдиреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗ рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдмрдирд╛рддреЗ рдФрд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░рд╛ рд╡рд┐рд╡рд╛рдж рдпрд╣ рд╣реИ рдХрд┐ "рдмрдирд╛рдирд╛ рдФрд░ / рдпрд╛ рд╢реБрд░реВ рдХрд░рдирд╛" рдкрдврд╝рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╣рд╛рд▓рд╛рдВрдХрд┐ рднрд╛рд╖рд╛ рдХреЗ рдкреНрд░рддрд┐ рдирд┐рд╖реНрдкрдХреНрд╖ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдХреЛ OR рдХрд╛ рд╕рдВрдХреЗрдд рдирд╣реАрдВ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ AND рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдпрд╣ рд╕рдЪ рд╣реИ рдХрд┐ рдЖрдк рджреЛрдиреЛрдВ рдПрдХ рд╕реЗрд╡рд╛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдХреЛрдИ рдирд┐рд╣рд┐рддрд╛рд░реНрде рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рджреЛрдиреЛрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

рд╣рдо рд╕рднреА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЙрди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдмрд╣реБрдд рд╕реА рдЪреАрдЬреЗрдВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ

рд╣рд╛рдВ, рдореИрдВ рд╕рд░рд╛рд╣рдирд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдбреЛрдореЗрди рдХреА рд╕реАрдорд╛рдУрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░ рд░рд╣реЗ рд╣реИрдВ

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдореИрдВ "рд╕рддреНрддрд╛рд╡рд╛рджреА" рдерд╛

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

рдПрдХ рдмрд┐рджрд╛рдИ рдХреЗ рд░реВрдк рдореЗрдВ рдореИрдВрдиреЗ рдкреВрдЫрд╛ рдХрд┐ рдЖрдк рдкреБрди: рд╕рдореАрдХреНрд╖рд╛ рдХрд░реЗрдВрдЧреЗ https://github.com/docker/compose/issues/4650 рдЬреЛ рдЗрд╕ рдзрд╛рдЧреЗ рдкрд░ рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдЗрд╕реЗ рдмрдВрдж рдХрд░рддреЗ рд╕рдордп рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдерд╛) рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдЙрдкрдпреЛрдЧ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рддрд╛ рд╣реИ рдорд╛рдорд▓рд╛, рдЕрд░реНрдерд╛рддреН рдХрд┐ рдпрд╣рд╛рдВ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛ рд░рд╣реА рдзреНрд╡рдЬ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рддреНрд░рд┐рд╢реВрд▓ рд╣реИ

рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореВрд▓ рд╕рд╣рд┐рдд рдорд▓реНрдЯреА -f рд╕рднреА рдлрд╛рдЗрд▓реЗрдВ рдХреБрд▓ рдУрд╡рд░рдХрд┐рд▓ рд▓рдЧрддреА рд╣реИрдВред

рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЕрдзрд┐рдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рддрд░реАрдХрд╛ рд╣реИ, рдЬреЛ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдиреАрдЪреЗ рдкреАрдПрд╕ рджреЗрдЦреЗрдВ): рд╡рд╣ рд╕рднреА рд╕реЗрд╡рд╛ рдбрд╛рд▓реЗрдВ рдЬреЛ рдЖрдк docker-compose.override.yml рдореЗрдВ рдирд╣реАрдВ рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреЗ рд▓рд┐рдП docker compose -f docker-compose.yml up рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ рдПрдХ рдмрд╛рд░ рдХрд╛ рдХрдорд╛рдВрдб рд╣реИ)ред рд▓рдЧрд╛рддрд╛рд░ рд╕рднреА рдХреЙрд▓реЛрдВ рдкрд░ рдУрд╡рд░рд░рд╛рдЗрдб рдХреЛ рдЦрдЯрд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ ...

рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ рдпрд╣ рд╕рдм рдмрд╣реБрдд рдЕрдХрд▓реНрдкрдиреАрдп рд╣реИ рдФрд░ рдереЛрдбрд╝рд╛ рдЕрд╕рдВрддреБрд╖реНрдЯ рд╣реИред рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЬреЛрдбрд╝рдирд╛:

  • рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдУрд╡рд░рд░рд╛рдЗрдб рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ

  • -f рд╡рд┐рдХрд▓реНрдк рдиреНрдпреВрдирддрдо рд╣реИ, рд▓реЗрдХрд┐рди рдмрд╣реБрдд рд╕рд╣рдЬ рдирд╣реАрдВ рд╣реИ, рдПрдХ рдФрд░ -F <name> рд╡рд┐рдХрд▓реНрдк рдЬреЛ рдмрд╕ рдЕрддрд┐рд░рд┐рдХреНрдд рдУрд╡рд░рд░рд╛рдЗрдб рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдмрд╣реБрдд рд╕реНрд╡рд╛рдЧрдд рдпреЛрдЧреНрдп рд╣реЛрдЧрд╛ (рдпрд╛рдиреА docker- рд░рдЪрдирд╛ред.ymlред рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд┐рд╕рдореЗрдВ рд╕рднреА .yml рдлрд╛рдЗрд▓реЗрдВ рдЦрдЯреНрдЯреА рд╣реИрдВ: рдПрдХ рд╕рд╛рде рд╕рд╣рд╛рдиреБрднреВрддрд┐ рдХреЗ рд╕рд╛рде рдпрд╣ /etc/apache/sites.available -> /etc/apache/sites.enabled рд╕рдорд╛рди рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реЛрдЧреАред

рджреВрд╕рд░реА рдУрд░: рдХреЛрдИ рднреА рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╢реЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдорд╛ рдЖрд╡рд░рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ (рдлрд╝рдВрдХреНрд╢рди) рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ ...

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

рджреВрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдк 2 рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ:

рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреА рдЯреАрдо рд╣реИред рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЗ рдкрд╛рд╕ AWS рдкреНрд░рдмрдВрдзрд┐рдд рд╕реЗрд╡рд╛рдУрдВ рддрдХ рдкрд╣реБрдВрдЪ рд╣реИ, рд▓реЗрдХрд┐рди рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЛ рд╕реНрдерд╛рдиреАрдп рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдореЗрд░реЗ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдореИрдВ рдпрд╛ рддреЛ _always_ рдпрд╛ _never_ рдХреЛ рдЕрдкрдиреЗ рдХрдВрдкреЛрдЬрд╝ рдирдХреНрд╖рддреНрд░ рдореЗрдВ Redis рдФрд░ MySQL рдХрдВрдЯреЗрдирд░реЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

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

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

рдкреВрд░реА рддрд░рд╣ рд╕реЗ @campadrenalin рд╕реЗ рд╕рд╣рдордд рд╣реИрдВред

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

OT:

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

рдХреНрдпрд╛ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ? Https://docs.docker.com/compose/compose-file/#variable -substeration рджреЗрдЦреЗрдВред рдореИрдВ .env рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рдорд╛рд░реЗ рдХрдВрдкреЛрдЬрд╝ рджреЗрд╡ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ - рдЬреИрд╕реЗ рд╕реНрд░реЛрдд рдХреЛрдб рд╕реНрдерд╛рди, рдкреЛрд░реНрдЯ рдореИрдкрд┐рдВрдЧ рдЖрджрд┐ред рдЪреВрдВрдХрд┐ рдлрд╝рд╛рдЗрд▓ рд╕рдВрд╕реНрдХрд░рдг 2.1 рдХреА рд░рдЪрдирд╛ рднреА рд╢реИрд▓-рд╢реИрд▓реА рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдбрд┐рдлрд╝реЙрд▓реНрдЯ ( ${VARIABLE:-default} / ${VARIABLE-default ) рд╕рдорд░реНрдерд┐рдд рд╣реИред

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

рдореБрдЭреЗ рдпрд╣ рд▓рдЧрддрд╛ рд╣реИ - рд╢рд╛рдпрдж рд╕реНрд╡рд░ рдореЗрдВ рдереЛрдбрд╝рд╛ рдХрдареЛрд░ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдорд╛рдиреНрдп рд╣реИ - @rysiekpl рджреНрд╡рд╛рд░рд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╕рд╛рд░рд╛рдВрд╢ред
рддреЛ, @ shin-, рдХреНрдпрд╛ рд╣рдо рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд┐рд╕реА рдирд┐рд░реНрдгрдп рдХреЗ рдХрд░реАрдм рдЖрдП? рдХреНрдпрд╛ рдЗрд╕реЗ рдХреЗрд╡рд▓ рдмрдВрдж рдХрд░рдирд╛ рд╣реИ рдпрд╛ рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП PR рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ / рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рд╣реИ?

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

рдЬреИрд╕рд╛ рдХрд┐ docker-compose рдореЗрдВ рд╡реИрд╕реЗ рднреА docker stack рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рд░реВрдк рд╕реЗ рдЧрд┐рд░рд╛рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рд╣рд░ рдХреЛрдИ рдирдП v3 рдкреНрд░рд╛рд░реВрдк рдФрд░ рдЬрд┐рддрдиреА рдЬрд▓реНрджреА рд╣реЛ рд╕рдХреЗ docker stack рдЯреВрд▓ рд▓реЗ рдЬрд╛рдПред

рдПрдХ рдЭреБрдВрдб рдкрд░ рд╕реНрдЯреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ 1 рдиреЛрдб рдкрд░), рдЖрдк рдЗрд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

        deploy:
            mode: replicated
            replicas: 0

рд╢реВрдиреНрдп рдкреНрд░рддрд┐рдХреГрддрд┐рдпрд╛рдВ рд╣реЛрдирд╛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рд╕реЗрд╡рд╛ рдХреЛ рдЪрд▓рд╛рдиреЗ рд╕реЗ рд░реЛрдХрддреА рд╣реИред

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

рдЖрдк рдЕрдкрдиреЗ yml рдореЗрдВ рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

        deploy:
            mode: replicated
            replicas: ${R}

рдФрд░ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░реЗрдВ:

export R=0
docker stack deploy stack1 --compose-file=<(envsubst <docker-compose.yml) 

рддреЛ, рдЕрдЧрд░ docker-compose рд▓рдВрдмреЗ рд╕рдордп рдореЗрдВ рдЕрдкрджрд╕реНрде рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рддреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХреЛ рд╡рд┐рд▓рдп рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИ docker-compose рдбреЛрдбреЛ рдХрд╛ рд░рд╛рд╕реНрддрд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рддреЛ "рдХреЛрдИ рдЕрдЬреАрдм рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХреИрд╕реЗ рдХрд░реЗрдЧрд╛" рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ?

рдЬреИрд╕рд╛ рдХрд┐ рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдбреЙрдХ рд╕реНрдЯреИрдХ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдЧрд┐рд░рд╛ рд╣реБрдЖ рд▓рдЧрддрд╛ рд╣реИ

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

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

рдореИрдВ рдЗрд╕реЗ рдЧрд▓рдд рдкрдврд╝ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдбреЙрдХ рдЭреБрдВрдб рдФрд░ рдбреЙрдХ рд╕реНрдЯреИрдХ рдХрд╕рдХрд░ рдбреВрдХрд░ рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╣реИрдВред рдХреНрдпрд╛ рдпреЗ рдЪреАрдЬреЗрдВ рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди, рдСрдлрд▓рд╛рдЗрди рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИрдВ?

рдХреНрдпрд╛ рдпреЗ рдЪреАрдЬреЗрдВ рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди, рдСрдлрд▓рд╛рдЗрди рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИрдВ

рд╣рд╛рдБ, рдЖрдк рдЙрдиреНрд╣реЗрдВ рдСрдлрд╝рд▓рд╛рдЗрди рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

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

рдпрд╛ рд╢рд╛рдпрдж рдореИрдВ рд╕рдм рдХреБрдЫ рдЧрд▓рдд рд╕рдордЭ рд░рд╣рд╛ рд╣реВрдБ ...?

рд╡рд┐рдХрд▓реНрдк 2 рдкрд░ +1!
рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЭреБрдВрдб рд╕реНрдЯреИрдХ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд░рдЪрдирд╛рдХрд╛рд░ рдХреА рдмреВрдВрдж рд╕рдореБрджрд╛рдп рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝реА рдХрдореА рд╣реЛрдЧреАред рдбреЙрдХрдЯрд░ рд░рдЪрдирд╛ рдЗрддрдиреА рд╕рд░рд▓ рдФрд░ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рд╣реИ !!

@tberne рдореИрдВ рдЗрд╕рд╕реЗ рд╕рд╣рдордд рд╣реВрдБред docker-compose рд╕рд░рд▓ рд╣реИ рдФрд░ рд╕рд░рд▓ рдПрдХ рдЕрдЪреНрдЫреА рдмрд╛рдд рд╣реИред рд╣рдореЗрдВ рдЗрд╕реЗ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдорддрджрд╛рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП

рд╣реЗ, рдХреНрдпрд╛ рдПрдХ рд╡реНрдпрд╛рдкрдХ рдЪрд░реНрдЪрд╛! рдЗрд╕ рдЯрд┐рдкреНрдкрдгреА рдкрд░ рдЬреНрдпрд╛рджрд╛ рдзреНрдпрд╛рди рди рджреЗрдВ, рд╕рд┐рд░реНрдл рдореЗрд░реЗ рджреЛ рд╕реЗрдВрдЯред

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

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

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдВ рдРрд╕реЗ рдХрдВрдЯреЗрдирд░ рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рдЬреЛ рдПрдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдЪрд▓рд╛рддреЗ рд╣реИрдВ ( ./docker/scripts/up рд╕реНрдХреНрд░рд┐рдкреНрдЯ):

#!/usr/bin/env bash

def_opts="-d"

cd "$(dirname "$0")"/../

# A separate bash file with functions like: get_args, add_hosts...
. ./functions.sh

docker-compose -p ${PROJECT} up ${def_opts} $(get_args "options services" "$@") && \

# Adding host to /etc/hosts
add_hosts "$HOSTS" web && \
add_hosts "$HOSTS_MAIL" mail

рдмрдбрд╝рд╛ +1 рдпрд╛ рддреЛ рд╡рд┐рдХрд▓реНрдк 2 рдпрд╛ 3 рдХреЗ рд▓рд┐рдПред

рд╡рд┐рдХрд▓реНрдк 2 рдпрд╛ 3 рдХреЗ рд▓рд┐рдП +1ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд "рд╕рдореВрд╣" рдЕрд╡рдзрд╛рд░рдгрд╛ рджрд┐рд▓рдЪрд╕реНрдк рд▓рдЧрддреА рд╣реИ!

рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП +1

_ рдЗрддрдиреЗ рд╕рд╛рд░реЗ +1 on option x , рдХрд┐ рдореБрдЭреЗ рдореВрд▓ рдХрдерди рднреА рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИред рдХреГрдкрдпрд╛ рдкреЛрд╕реНрдЯ рдХреЗ рдмрджрд▓реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдмрдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ ред_

рдПрдХ рдирдпрд╛ рд╡рд┐рдЪрд╛рд░ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП:

рдХреНрдпрд╛ рд╣рдо рдХреЗрд╡рд▓ 0 рд▓рд┐рдП рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреИрдорд╛рдирд╛ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ?

web:
  image: busybox:latest
  command: echo 'scaled'
  scale: 0

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

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

рд╡рд┐рдХрд▓реНрдк 2 рдпрд╛ 4 рдХреЗ рд▓рд┐рдП +1

рдпрджрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрдИ рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдХрд┐рд╕реА рд░рдЪрдирд╛ рдореЗрдВ рдРрд╕реА рд╕реЗрд╡рд╛рдУрдВ (рдпрд╛ рдХрд╛рд░реНрдпреЛрдВ) рдХреЛ рдЪрд▓рд╛рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ docker-compose рдХреЗ рдбреЙрдХреНрд╕ рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реЛред

рдпрд╣ рдПрдХ рдкреБрд░рд╛рдирд╛ рдзрд╛рдЧрд╛ рд╣реИ, рдФрд░ рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ docker-compose _services рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдЬреЛ start_ рд╕реЗ рдирд╣реАрдВ рдЪрд▓реЗрдВрдЧреЗред

рд▓реЗрдХрд┐рди рдореИрдВ рдЖрдорддреМрд░ рдкрд░ test рд╕реЗрд╡рд╛ рднреА рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣рд╛рдВ рдореИрдВрдиреЗ рдЬреЛ рдХрд┐рдпрд╛ рд╣реИ:

  1. рд╕реЗрд╡рд╛ рдХреЗ entrypoint рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░реЗрдВред
  2. рдирдП entrypoint , рдЕрдЧрд░ рдХреЛрдИ tty рдЙрдкрд▓рдмреНрдз рд╣реИ ( docker-compose run рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ --tty рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬрдмрдХрд┐ up рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ)ред

    # Check if there is a tty
    if [ ! -t 1 ] ; then
      echo "No tty available."
      exit 0
    fi
    

    рдпрд╣ рд╣рдореЗрд╢рд╛ tty ( docker-compose up , рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП) рдХреЗ рдмрд┐рдирд╛ рдЪрд▓рдиреЗ рдкрд░ рд╕реЗрд╡рд╛ рд╕реЗ рдмрд╛рд╣рд░ рдХрд░ рджреЗрдЧрд╛, рдЬрдмрдХрд┐ рдЕрднреА рднреА docker-compose run рд╕рд╛рде рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИред

@paulodiovani рдпрд╣ рдПрдХ рд╕рдорд╛рдзрд╛рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╣реИрдХ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИред

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

рдореИрдВрдиреЗ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдПрдХ рд╕рд░рд▓ рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рджрд╛рди рдХрд░рдХреЗ рдЗрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдЙрдкрд▓рдмреНрдз рддрд░реНрдХреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрдкрдпреБрдХреНрдд docker-compose рдХрдорд╛рдВрдб рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред

рдЕрдм рдЕрдЧрд░ рдореИрдВ ./docker-compose.sh -e testing up рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдкрд░рд┐рдгрд╛рдо рд╡рд╣реА рд╣реИ рдЬреИрд╕реЗ рдореИрдВрдиреЗ docker-compose -f docker-compose.yml -f docker-compose.testing.yml up ред
рдЕрдЧрд░ рдореИрдВ рд╕рд┐рд░реНрдл ./docker-compose.sh up рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдЖрдкрдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдирд┐рдпрдорд┐рдд docker-compose up ред

рдЗрд╕рд▓рд┐рдП, рдореЗрд░реЗ -e ${environment} рд╡рд┐рдХрд▓реНрдк ( --env рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛) рдореВрд▓ рд░реВрдк рд╕реЗ -f docker-compose.yml -f docker.compose.${environment}.yml рд▓рд┐рдП рдПрдХ рдЙрдкрдирд╛рдо рд╣реИред рдпрд╣ docker-compose.yml рдЖрдзрд╛рд░ / рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░рдЪрдирд╛ рдлрд╝рд╛рдЗрд▓ рдФрд░ docker-compose.testing.yml рдЗрд╕рдХреЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреА рддрд░рд╣ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реЛрдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд╣реИред

рдпрд╣ рдХреБрдЫ рд╣рдж рддрдХ рд╣рд▓ @acran рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реБрдП рднреА рдЬреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╛рдЗрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдФрд░ рдХрд┐рд╕ рдХреНрд░рдо рдореЗрдВ) docker-compose рд╕рдордЭрджрд╛рд░ рдЪреВрдХ рд▓рд╛рдЧреВ рдХрд░рдХреЗ рдЖрджреЗрд╢ред рдпрд╣ рдмрд╣реБрдд рдордЬрдмреВрдд рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд░рдЪрдирд╛ рдлрд╝рд╛рдЗрд▓ рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ docker-compose рдХреБрдЫ рдРрд╕рд╛ рд╣реА рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдзрд┐рдХрд╛рдВрд╢ docker-compose рдлрд╛рдЗрд▓реЗрдВ docker-compose. рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрдиреЗ рдФрд░ .yml рд╡реИрд╕реЗ рднреА рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд╣рдореЗрд╢рд╛ рдЗрддрдиреА рд▓рдВрдмреА рдХрдорд╛рдВрдб ( docker-compose -f docker-compose.yml -f docker-compose.testing.yml up рдЯрд╛рдЗрдк рдХрд░рдиреА рд╣реЛрдЧреА) ) рдЕрдЧрд░ рдореБрдЭреЗ рдЕрдкрдиреЗ рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реЗрд╡рд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

Envsubst рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ, рдбреЙрдХ-рдХрдореНрдкреЛрдЬрд╝ рдХреЙрдиреНрдлрд┐рдЧрд░ рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдбреЙрдХ рд╕реНрдЯреИрдХ рдЗрд╕реЗ рд╕реНрдЯрдб рд╕реЗ рд▓реЗрддрд╛ рд╣реИ:

docker-compose config | docker stack deploy --prune --compose-file -

рдЖрдЗрдП рдЖрдк docker-compose .env рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

@kogli рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рд╕рдорд╕реНрдпрд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдЪреБрдирдиреЗ рдХреА рд╣реИред рд╕рднреА рдХреЗ рдкреЗрд╢реЗрд╡рд░реЛрдВ рдФрд░ рд╡рд┐рдкрдХреНрд╖ рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдХрд╣рд╛ рдерд╛:

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

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

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

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

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

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

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

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

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

@rubycut рдЯреЙрдХ рд╕рд╕реНрддрд╛ рд╣реИ, рдореБрдЭреЗ рдХреЛрдб рджрд┐рдЦрд╛рдУред рдпрджрд┐ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЕрдкрдирд╛ рдкреАрдЖрд░ рднреЗрдЬреЗрдВ, рдпрджрд┐ рдЖрдк рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рддреЛ рдмрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдВ рдФрд░ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВред

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

рдмрд╕ FYI рдХрд░реЗрдВ, "рдХреЛрдб" рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИ: # 3047

@wangwenpei рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, # 3047, рдкреБрд▓ рдЕрдиреБрд░реЛрдз рд╣реИ ...
рдЕрднреА рджреЛ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдЗрд╕ рдкрд░ рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдорд┐рд▓рдиреЗ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рд╣реИред рдЗрд╕реЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛

https://github.com/docker/compose/issues/1896#issuecomment -322285976 рдкрд░ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рд╛ рдЧрдпрд╛ рдХрд╛рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП

рдЬреЛ рдореБрдЭреЗ рдХрд╛рдлреА рдИрдорд╛рдирджрд╛рд░ рдмрдирд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ https://github.com/docker/compose/issues/1896#issuecomment -322285976 рдореЗрдВ рджрд┐рдП рдЧрдП рддрд░реНрдХ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рд╣реИрдВ:

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

рдореИрдВ рджрд╛рд╡реЗ рдХреЛ рд╕рдЪ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП By that definition, a "service that is not started by default" is not really a service рдирд╣реАрдВ рджреЗрдЦрддрд╛ рд╣реВрдВред рдПрдХ рд╕реЗрд╡рд╛ рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рд╡рд╣ рдХреЗрд╡рд▓ рдПрдХ рдРрд╕реА рд╕реЗрд╡рд╛ рд╣реИ рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдЗрд╕рд╕реЗ рдЕрдзрд┐рдХ рдХреБрдЫ рдирд╣реАрдВ, рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдХреБрдЫ рднреА рдХрдо рдирд╣реАрдВ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдпрд╛ рд╕реЗрд╡рд╛ рдХреЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓рдиреЗ рдпрд╛ рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд╣рддрд╛ рд╣реИ, рдЖрд╡реЗрджрди рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдпрд╣ рдХреЗрд╡рд▓ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред

рдФрд░ рдпрд╣ рднреА рдмрд┐рд▓реНрдХреБрд▓ рд╡рд╣реА рд╣реИ рдЬреЛ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд░рддрд╛ рд╣реИ: рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдпрд╛ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╕реЗрд╡рд╛ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝реЗрдВред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдирдИ рдЕрд╡рдзрд╛рд░рдгрд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ https://github.com/docker/compose/issues/1896#issuecomment -322285976 рдореЗрдВ рдЕрдиреНрдп рд╕рднреА рддрд░реНрдХ 2 рдХреЗ рдЭреВрдареЗ рдЖрдзрд╛рд░ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕ рддрд░рд╣ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдХреБрдЫ рднреА рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЕрдиреНрдпред

рдкреВрд░реНрдгрддрд╛ рдХреЗ рд▓рд┐рдП:

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

рд╣рд╛рдВ, рдПрдХ-рдмрдВрдж рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдереЗ, рд▓реЗрдХрд┐рди рдЖрдкрдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ _real_ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ
_Also_ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдореИрдВ рдЗрд╕рдХреЗ рд╡рд┐рд░реБрджреНрдз рдПрдХ рд╡реИрдз рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдкрд╣рд▓реЗ рд╕реЗ docker-compose.yml рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдПрдХ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИред

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

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

@ рдирд▓реА

рд▓реЗрдХрд┐рди рдпрд╣ рднреА рдХреНрдпреЛрдВрдХрд┐ рд╣рдо [3] рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдпрд╛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рд╕рдордп рдпрд╛ рд╕рдВрд╕рд╛рдзрди рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рдмрдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
[рей] рдФрд░ рдЗрд╕ рд╕рдордп рдореЗрд░рд╛ рдорддрд▓рдм "рдореИрдВ" рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЗрд╕ рд╕рдордп рдХреЗрд╡рд▓ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдБред

рдПрдХ рддрд░рдл рдпрд╣ рдмрддрд╛рддреЗ рд╣реБрдП рдХрд┐ рдХреЗрд╡рд▓ рдПрдХ рд╕рдХреНрд░рд┐рдп рдЕрдиреБрд░рдХреНрд╖рдХ рд╣реИ, рдЬрдмрдХрд┐ рджреВрд╕рд░реА рддрд░рдл рд╕рд┐рд░реНрдл рдкреБрд▓ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рдЕрдирджреЗрдЦреА рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдЕрд╡рд╕рд░ рдХреЛ рдмрд░реНрдмрд╛рдж рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЕрдирдкреЗрдХреНрд╖рд┐рдд рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИ, рдРрд╕рд╛ рдХреБрдЫ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдореИрдВ рд╕рдордЭ рд╕рдХрддрд╛ рд╣реВрдВред
# 3047 рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА _do_ рдПрдХ рдРрд╕реА рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ _truly рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА [рдХрдИ] рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реЛрдЧреА - рд╢рд╛рдпрдж _all_ _their_ рдХреЗ _all_ рд╡рд╛рд▓реЗ рд▓реЛрдЧ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдпрд╣рд╛рдВ рдХреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдЧред

рд╕рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ - рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирдИ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ, рдирдИ рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рдмрдВрдзрди, рдПрдХ cmake -рд╕рдорд╛рди рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рд╕рд╛рде рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП - рдмрд╕ рдПрдХ рдЭреВрдареЗ рдЖрдзрд╛рд░ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ!

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

рдЪреВрдВрдХрд┐ рдпрд╣ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЬреЛ рдореИрдВ рдЗрдХрдЯреНрдард╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рд╡рд╣ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рд╕рдорд░реНрдерд┐рдд рд╡рд┐рдХрд▓реНрдк рд╣реИ рдХрдИ рдпрдорд╛рд▓ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред

рдареАрдХ рд╣реИ, рдореБрдЭреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реЗрдЯрд┐рдВрдЧ рд╡рд╛рд▓реА рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдпрдорд▓ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХрдИ yaml рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдорд┐рд▓рддрд╛ рд╣реИред

рддреЛ, рдпрд╣рд╛рдБ рдореЗрд░рд╛ +1 рд╣реИред

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

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

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

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

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

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

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