рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд▓рд┐рдЦреЗрдВ рдХрдВрдкреЛрдЬрд╝ рдХреЗ рдмреЗрд╕рдиреЗрдо рдкрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рд▓рд┐рдЦреЗрдВ
рд╕реЗ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдпрд╛ рддреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рдкреНрд░рддреНрдпреЗрдХ рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП -p / --project-name
рд╡рд┐рдХрд▓реНрдк рдкрд╛рд╕ рдХрд░рдирд╛ рдпрд╛ рд╕реЗрдЯ рдХрд░рдирд╛
COMPOSE_PROJECT_NAME
рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ред
_Each_ рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП --project-name
рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рддреНрд░реБрдЯрд┐-рдкреНрд░рд╡рдг рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП-
рдЬрдм (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП) docker-compose up
рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдкрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдорд┐рд▓реЗрдЧрд╛
_another_ рдПрдХ рдЕрд▓рдЧ рдирд╛рдо рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ
рдПрдХ рдЕрд▓рдЧ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
рд╕реМрджрд╛ рдХрд░рддреЗ рд╕рдордп COMPOSE_PROJECT_NAME
рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реИ
рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддрд╛ рд╣реИред
рдЗрди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд░рдЪрдирд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдирд╛рдо рдХреЛ рдПрдХ рдлрд╛рдЗрд▓ рдореЗрдВ рд╕реЗрд╡ рдХрд░реЗрдЧреА
рдмрд┐рд▓реНрдб-рд╕рдВрджрд░реНрдн рдЬрдм рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд╣рд▓реА рдмрд╛рд░ рд╢реБрд░реВ / рдирд┐рд░реНрдорд┐рдд рд╣реЛрддрд╛ рд╣реИред
рдпрджрд┐ рдХреЛрдИ рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рдлрд╝рд╛рдЗрд▓ рдкрд╛рдИ рдЬрд╛рддреА рд╣реИ, рддреЛ рдЙрд╕ рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рдирд╛рдо рдХрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рдирд╛рдо рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ рдПрдХ рдЕрдкрд╡рд╛рдж рдХреЛ рдлрд╝рд╛рдЗрд▓ рдХрд░реЗрдВ рдФрд░ рдлреЗрдВрдХ рджреЗрдВ
--project-name
рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред
рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдЫрд┐рдкреА .docker-compose
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рддрд╛ рд╣реИ
рдмрд┐рд▓реНрдб-рд╕рдВрджрд░реНрдн рдХреЗ "рд░реВрдЯ" рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВред рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдЕрдВрджрд░, рдП
project-name
рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдИ рдЧрдИ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХреЗрд╡рд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рд╣реИ;
tree -a
.
тФЬтФАтФА .docker-compose
тФВ┬а┬а тФФтФАтФА project-name
тФФтФАтФА docker-compose.yml
рдХреБрдЫ рдмрд╛рддреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рд╣реЛрдиреА рдмрд╛рдХреА рд╣реИ;
docker-compose init --project-name=foobar
)docker-compose destroy
)--file
) рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИрдФрд░, рдПрдХ рд╡реНрдпрд╛рдкрдХ рджрд╛рдпрд░реЗ рдореЗрдВ;
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдирд╛рдо рдмрджрд▓рдХрд░ рд▓рд┐рдЦреЗрдВ
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рд╣реИред рдЗрд╕рд╕реЗ рднреА рдмреЗрд╣рддрд░ - рдХреНрдпрд╛ рд╣рдо рдЕрдВрдЬреАрд░ рдХреЗ рд▓рд┐рдП рдкрде рдХрд╛ рдПрдХ рд╣реИрд╢ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдпрджрд┐ рдЖрдк рдПрдХ рд╕реАрдЖрдИ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХреБрдЫ рднреА рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХреБрдЫ рдФрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛред
рдПрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдЗрди рдЕрджреНрд╡рд┐рддреАрдп, рдФрд░ рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рд╣рдореЗрдВ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдореБрдЭреЗ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ (# 45) рдореЗрдВ рднреА рдЗрд╕реА рддрд░рд╣ рдХреА рдЪрд░реНрдЪрд╛ рд╣реБрдИред .fig/project-name
рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рд╣реЛрдиреЗ рд╕реЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рдЫреЛрдЯреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЬрдиреНрдо рджреЗрдЧрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ fig.yml
рдЦреБрдж рдореЗрдВ рдбрд╛рд▓рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ (рдЬреИрд╕реЗ рдХрд┐ рдпрд╣ # 45 рдореЗрдВ рд╕реБрдЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ docker рдПрдХ рдкреНрд░рд╕реНрддрд╛рд╡ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИ)ред
рдЗрд╕реЗ рдПрдХ рдЕрд▓рдЧ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХреЗ рдХреНрдпрд╛ рдлрд╛рдпрджреЗ рд╣реИрдВ?
рдЗрд╕реЗ рдПрдХ рдЕрд▓рдЧ рдлрд╛рдЗрд▓ рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХреЗ рдХрдИ рдХрд╛рд░рдг рд╣реИрдВ, рдореИрдВ рдЗрд╕рдХреЗ рдкреАрдЫреЗ рдЕрдкрдиреА рд╕реЛрдЪ рдХреЛ рд╕рдордЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛;
--project-name=foobar
), рдЬреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рдирд╛рдо рд╕реЗ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред.fig/project-name
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ _that рдЙрджрд╛рд╣рд░рдг_ рдХрд╛ рдирд╛рдо рд░рдЦрддрд╛ рд╣реИредрд╢рд╛рдпрдж рдлрд╝рд╛рдЗрд▓ рдХреЛ instance-name
рдпрд╛ рд╕рдорд╛рди рдХрд╣рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдореБрдЭреЗ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рд╣реИ
рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЗрд╕ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рд╕рд╛рде _possible_ рдпрд╣ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ( project-name
рдлрд╝рд╛рдЗрд▓ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдмрдирд╛рдХрд░), рдореЗрд░рд╛ рдкреНрд░рд╛рдердорд┐рдХ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ _fig_ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕ рдирд╛рдо рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдерд╛ред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЫреЛрдЯреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдПрдХ рдмрд╣реБрдд рдХреБрдЫ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдиреЗрддреГрддреНрд╡ рдХрд░реЗрдВрдЧреЗред
рд╕рдЪ рд╣реИ, рд╡рд┐рдХрд▓реНрдк .fig
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдЫреЛрдбрд╝рдирд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдЧрд░ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рдЪреАрдЬреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдлрд╝рд╛рдЗрд▓ (рдУрдВ) рдХреЛ рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЬрдбрд╝ рдХреЛ рдЕрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред Git рдЗрд╕реЗ рд╕рдорд╛рди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╕рд╛рдл рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд┐рд░реНрдл рдЕрдВрдЬреАрд░ рдореЗрдВ рдбрд╛рд▓ рджреЗрдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ рд╡рд┐рдХрд▓реНрдк рдкреВрд░рдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ; рдпрджрд┐ рдирд╛рдо рдлреНрд▓реИрдЧ рдпрд╛ env- рд╡реЗрд░рд┐рдПрдмрд▓ рджреНрд╡рд╛рд░рд╛ рдУрд╡рд░рд░рд╛рдЗрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддреЛ fig.yml
рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЙрд╕ рдирд╛рдо рдХреЛ рд░рдЦреЗрдВ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ .fig/project-name
рдЕрдВрджрд░ _start_ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдПрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдЗрди рдЕрджреНрд╡рд┐рддреАрдп, рдФрд░ рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рд╣рдореЗрдВ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЬрд┐рдЬреНрдЮрд╛рд╕реБ; рдЖрдк рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВ? рдпрд╛рдиреА cd project-a && fig ps
рддреЛ cd project-b fig <something>
?
рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!
рдЬрд┐рдЬреНрдЮрд╛рд╕реБ; рдЖрдк рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВ?
рдореИрдВ рдЖрдорддреМрд░ рдкрд░ fig
python-tox
fig
рд╕реЗ рдЪрд▓рд╛рддрд╛ рд╣реВрдВ, рдЬреЛ рдореБрдЭреЗ рдкрд░реНрдпрд╛рд╡рд░рдг рд╕реЗрдЯ рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдкрдиреЗ рд╢реЗрд▓ рдореЗрдВ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдореИрдВ рднреА tmux рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рд╣рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рд╢реЗрд▓ рд╣реИред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ рд╡рд┐рдХрд▓реНрдк рдкреВрд░рдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ
рдХреВрд▓, рдореИрдВ рд╕рд╣рдордд рд╣реВрдВред
рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЕрдЧрд░ рдореИрдВ .fig/instance-name
рдмрдирд╛рдо .fig-instance.yml
рдмреЗрдЪрд╛ рдЬрд╛рддрд╛ рд╣реВрдВ, рдЬрд┐рд╕рдореЗрдВ рдХреЛрдИ рднреА рдЙрджрд╛рд╣рд░рдг рд╡рд┐рд╢рд┐рд╖реНрдЯ рдУрд╡рд░рд░рд╛рдЗрдб рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдорд╛рдореВрд▓реА рдмрд╛рдд рд╣реИред
рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рдирд╛рдо рдХреА рд╕реЛрдЪ; рдЕрдЧрд░ рдореИрдВ рдЖрдкрдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ _images_ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рдЬреИрд╕реЗ myapp:build12345
, рдпрд╛ _containers_ рдХреЗ рдирд╛рдо рднреА? рдмрд╕ рдЕрдкрдиреА рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ "рдорд╣рд╕реВрд╕" рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдПред
"рдпрд╛рджреГрдЪреНрдЫрд┐рдХ" рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рдирд╛рдореЛрдВ рдХреЗ рдкреАрдЫреЗ рдореЗрд░рд╛ рд╡рд┐рдЪрд╛рд░ рдпрд╣ рдерд╛ рдХрд┐ рдЬрдм рддрдХ рдЕрдВрдЬреАрд░ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдХрдВрдЯреЗрдирд░реЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрддрд╛ рд╣реИ, рддрдм рддрдХ рдЕрдЪреНрдЫреЗ рджрд┐рдЦрдиреЗ рд╡рд╛рд▓реЗ рдирд╛рдо рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рдпрджрд┐ рдореИрдВ, рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ, рдЕрдкрдиреЗ рд╕реЗрд╡рд╛-рдирд╛рдо (рдЬреИрд╕реЗ fig stop web
) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдХрдВрдЯреЗрдирд░ рддрдХ рдкрд╣реБрдВрдЪ рд╕рдХрддрд╛ рд╣реВрдВ, рддреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрдВрдЯреЗрдирд░ рдХрд╛ рдирд╛рдо рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддрд╛ред
рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдпрд╣ рднреА рд╕реЛрдЪрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЕрдВрдЬреАрд░ .fig
рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдЕрдВрджрд░ рдПрдХ рд╕реНрдерд╛рдиреАрдп рднрдВрдбрд╛рд░рдг рдореЗрдВ рдЖрдИрдбреА рджреНрд╡рд╛рд░рд╛ рдХрдВрдЯреЗрдирд░реЛрдВ рдХрд╛ рдЯреНрд░реИрдХ рд░рдЦ рд╕рдХрддрд╛ рд╣реИ (рдЬреЛ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд╕рд╛рде рдорд╢реАрдиреЛрдВ рдкрд░ рдПрдХ рдкреНрд░рджрд░реНрд╢рди рд▓рд╛рдн рд╣реЛ рд╕рдХрддрд╛ рд╣реИ)ред рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╣реИред
fig init
рдорд╛рдзреНрдпрдо рд╕реЗ "рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рдиреЗрдо" рдлрд╝рд╛рдЗрд▓ рдпрд╛ "рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ" "рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ" рдмрдирд╛рдиреЗ рдкрд░ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░? рд╢рд╛рдпрдж рдЕрдЧрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдЖрдиреЗ рд╡рд╛рд▓реА рдЫреБрдЯреНрдЯрд┐рдпреЛрдВ рдХреЗ рджреМрд░рд╛рди рдХреБрдЫ рд╕рдордп рд╣реЛ рддреЛ рдореИрдВ рдереЛрдбрд╝рд╛ рдкреНрд░рдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ (рдкрд╛рдпрдерди рдореЗрдВ рдХреБрдЫ рднреА рдХреЛрдбрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ _really_ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ :) рд╣реЛрдЧрд╛
рдирд┐рд░реНрдорд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдЫрд╡рд┐рдпреЛрдВ рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рд░рдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдЬреИрд╕реЗ myapp: build12345 , рдпрд╛ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдирд╛рдо рднреА?
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЫрд╡рд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ рдХрд┐ рдХрдВрдЯреЗрдирд░ рдирд╛рдо рд╕рд╛рдЭрд╛ рд╕рдВрдШрд░реНрд╖ рдкрд░ рднреА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдкреНрд░рд╕реНрддрд╛рд╡ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрд╕ рдореБрджреНрджреЗ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред
рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорд╛рдирд┐рдд рдирд╛рдо рдЕрднреА рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВред рдореИрдВ рдПрдХ рдпреБрдЧрд▓ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд╕рдХрддрд╛ рд╣реВрдВ, рдЬрд╣рд╛рдВ рдмрд╛рд╣рд░реА рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ (рди рдХреЗрд╡рд▓ рдЕрдВрдЬреАрд░) рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдВрдЯреЗрдирд░ рдХреЛ рдирд╛рдо рд╕реЗ рдкрд╣рдЪрд╛рдирдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ:
рдпреЗ рджреЛрдиреЛрдВ рдЕрднреА рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрддрд╛ рд╣реИ рдХрд┐ рдХрдВрдЯреЗрдирд░ рдХрд╛ рдирд╛рдо рдХреНрдпрд╛ рд╣реЛрдЧрд╛ред рдЕрдЧрд░ рдореБрдЭреЗ рдПрдХ рдирд╛рдо рдвреВрдВрдврдирд╛ рд╣реИ рддреЛ рдпрд╣ рдХреБрдЫ рд╣рдж рддрдХ рд╢рд╛рдорд┐рд▓ рд╣реИред
рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕реЛрдЪ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдЕрдВрдЬреАрд░ .fig рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдЕрдВрджрд░ рдПрдХ рд╕реНрдерд╛рдиреАрдп рднрдВрдбрд╛рд░рдг рдореЗрдВ рдЖрдИрдбреА рджреНрд╡рд╛рд░рд╛ рдХрдВрдЯреЗрдирд░реЛрдВ рдХрд╛ рдЯреНрд░реИрдХ рд░рдЦ рд╕рдХрддрд╛ рд╣реИ
рдпрд╣ рд╕рдЪ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдкреНрд░рджрд░реНрд╢рди рд▓рд╛рдн рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЪрд┐рдВрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЧрд▓рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣реИред рдЕрдВрдЬреАрд░ рдореЗрдВ рдХрд┐рд╕реА рднреА рд▓рдЧрд╛рддрд╛рд░ рд░рд╛рдЬреНрдп рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХреАрдбрд╝реЗ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХрд╛ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ (рдЬреЛ рд░рд╛рдЬреНрдп рдХреЗ рд╕рд╛рде рдЖрддреЗ рд╣реИрдВ)ред рдореИрдВ рдмрд╣реБрдд рдХреБрдЫ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдБ рдХрд┐ рдпрд╣ рдПрдХ рд▓реЗрдмрд▓рд┐рдВрдЧ рдкреНрд░рдгрд╛рд▓реА рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдЕрдВрдЬреАрд░ рдХреЗрд╡рд▓ рдХрдВрдЯреЗрдирд░ рдХреЛ рд▓реЗрдмрд▓ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ рдФрд░ рдлрд┐рд░ рдЙрд╕ рд▓реЗрдмрд▓ рдХреЗ рд╕рд╛рде рд╕рднреА рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд▓рд┐рдП рдХреНрд╡реЗрд░реА рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕рднреА рд░рд╛рдЬреНрдп рдХреЛ рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рд░рдЦрддрд╛ рд╣реИ (dockerd)ред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░ рдЗрд╕ рдкрд░ рдмрд╛рдд рд╣реБрдИ рдереА, рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд░реЛрдбрдореИрдк рдкрд░ рд╣реИред
"рдЕрдиреБрдорд╛рдирд┐рдд рд░реВрдк рд╕реЗ" рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рдиреЗрдо рдлрд╝рд╛рдЗрд▓ рдпрд╛ "рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ" рдЕрдВрдЬреАрд░ рдЗрдирд┐рдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрдирд╛рдиреЗ рдкрд░ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░?
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдзрд┐рдХ рдкреАрдЫреЗ рд╕рдВрдЧрдд рд╣реЛрдЧрд╛ред рдореИрдВ рдПрдХ fig init
рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рдмрд┐рд▓реНрдХреБрд▓ рдЖрд╡рд╢реНрдпрдХ рди рд╣реЛред рдЖрдзрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдореИрдВ рдЗрд╕реЗ <basename>-<4 digit random id>
рдХрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдмрдирд╛рддреЗ рд╣реБрдП рджреЗрдЦ рд╕рдХрддрд╛ рдерд╛
рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЕрдЧрд░ рдЕрдВрдЬреАрд░ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдирд╛рдо рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ рддреЛ рдореИрдВ рдЗрд╕рд╕реЗ рджреВрд░ рд╣реЛ рдЬрд╛рдКрдВрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдПрдХ рд╣реА рд╣реЛрд╕реНрдЯ рдкрд░ 1000+ рдХрдВрдЯреЗрдирд░ рдЪрд▓рд╛рддрд╛ рд╣реВрдВ рдФрд░ рдЬрдм рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдХрд┐рд╕реА рднреА рдирд╛рдо рд╕реЗ рдкрд╣рдЪрд╛рдирддрд╛ рд╣реВрдВ рддреЛ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред
@ рдлреНрд░реИрдВрдХ- dspeed рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЗ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдЕрдЧрд░ рдореИрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ, рддреЛ рдЖрдк рдЕрдВрдЬреАрд░ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ _start_, рд▓реЗрдХрд┐рди _ "Docker рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реАрдзреЗ" рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдВ ", рдЙрд╕рдХреЗ рдмрд╛рдж рдирд╛рдордХрд░рдг рд╕рдореНрдореЗрд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬреЛ рдЕрдВрдЬреАрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ?
рд╢рд╛рдпрдж рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рднреА рд░реВрдЪрд┐рдХрд░ рд╣реИ: https://github.com/docker/docker/pull/9882 - рдореЗрдЯрд╛-рдбреЗрдЯрд╛ рд╣реЛрдиреЗ рд╕реЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рдЕрдзрд┐рдХ рддрд░реАрдХреЗ рдорд┐рд▓реЗрдВрдЧреЗ, рди рдХреЗрд╡рд▓ рдЙрдирдХрд╛ рдирд╛рдоред
рдЖрд╣ рд╣рд╛рдБ, рдореИрдВрдиреЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреНрд░рд╕реНрддрд╛рд╡реЛрдВ рдХреЛ рдмрд╣реБрдд рдХреБрдЫ рдХрд┐рдпрд╛ рд╣реИ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдмрд╕ рдирдИ рдЫрддреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдФрд░ рд▓реЗрдХрд┐рди рдореИрдВ рдЙрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдмрд╕ рдПрдХ рдИрдПрдирд╡реА рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рдФрд░ рдлрд┐рд░ рдореЗрд░реЗ рдкрд╛рд╕ рд╣реИ рдХрд┐ рдХреЙрд╕реНрдЯрдпреВрдо рдлрд╝рд┐рд▓реНрдб рдХреЗ рд░реВрдк рдореЗрдВ рдореИрдВ рдЗрд╕реЗ рдкрд╛рд░реНрд╕ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ: рдбрд╛рд░реНрдЯ:
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдХреА рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рдЕрдВрдЬреАрд░ рдХреА рдЬрд┐рдореНрдореЗрджрд╛рд░реА рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
рдЬрдм рдореИрдВрдиреЗ рдЖрдкрдХреЗ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭрд╛, рддреЛ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдирд╛рдо рдХреА рдкреАрдврд╝реА FIG_PROJECT_VARIABLE
рдФрд░ --project-name
-рдкреЛрдЬрд╝рд┐рд╢рди рдХреЛ рдмреЗрдХрд╛рд░ рдХрд░ рджреЗрдЧреАред рдЬреЛ 'рдЕрд╕реНрдерд╛рдпреА' рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдХреА рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рдЕрдВрдЬреАрд░ рдХреА рдЬрд┐рдореНрдореЗрджрд╛рд░реА рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред
рдореБрдЭреЗ рдмрд╣реБрдд рдЬрд╝реНрдпрд╛рджрд╛ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ; рдЕрдВрдЬреАрд░ "рдЪреБрдкрдЪрд╛рдк" рдПрдХ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЕрдЧрд░ рдПрдХ рд╣реА рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╣реБрдЖ рддреЛ рдХрднреА-рдХрднреА рдмреБрд░рд╛ рд╣реЛрддрд╛ рд╣реИред
рдЬрдм рдореИрдВрдиреЗ рдЖрдкрдХреЗ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдордЭрд╛, рддреЛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдирд╛рдо рдХреА рдкреАрдврд╝реА FIG_PROJECT_VARIABLE рдФрд░ --project-name-option рдХреЛ рдмреЗрдХрд╛рд░ рдХрд░ рджреЗрдЧреАред рдЬреЛ 'рдЕрд╕реНрдерд╛рдпреА' рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИред
рдЙрдкрд░реЛрдХреНрдд рдЪрд░реНрдЪрд╛ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛
--project-name
рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЙрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ (рдФрд░ .project-name
рд▓рд┐рдЦреЗрдВ / рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ? рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ?)--project-name
рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди FIG_PROJECT_NAME
рд╣реИ, FIG_PROJECT_NAME
(рдФрд░ .project-name
рд▓рд┐рдЦрдиреЗ / рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ?).project-name
рд╕реЗрдЯ рд╣реИ, .project-name
.project-name
рд▓рд┐рдЦреЗрдВрдХрд┐рд╕реА рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдЬреЛ рдЙрди рд▓рд┐рдкрд┐рдпреЛрдВ рдореЗрдВ рдЕрдВрдЬреАрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдПрдХ рдирд╛рдо рдХрд╛ рдзреНрдпрд╛рди рд░рдЦрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдЕрдВрдЬреАрд░ рдореЗрдВ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдПрдХ рдирд╛рдо рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреЗ рд╣реИрдВ (рдЬреЛ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣реИ рд▓реЗрдХрд┐рди рдЯреЗрдореНрдкрд▓реЗрдЯ рдирд╣реАрдВ рд╣реИ) рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред
рдФрд░ рдлрд┐рд░ рднреА, рдореБрдЭреЗ рдпрд╣ рдмрд╣реБрдд рд╕рд╣рдЬ рд▓рдЧрд╛ рдХрд┐ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдкрд░рд┐рдгрд╛рдореА рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдирд╛рдо рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдореИрдВ рд╕рд┐рд░реНрдл fig up
рднрд╛рдЧрддрд╛ рдерд╛ред
рдФрд░ рдХрд╣рддреЗ рд╣реИрдВ, рдЖрдк docker ps -a
, рдпрд╣ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдпрджрд┐ рдпрд╣ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдирд╛рдореЛрдВ рд╕реЗ рднрд░рд╛ рд╣реЛред
рдПрдХ рд╡рд┐рдХрд▓реНрдк --random-name
рдЖрдкрдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛?
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рдирд╛рдорд╕реНрдерд╛рди рдХреЛ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП [a-zA-Z0-9_].*
рдкреНрд░реАрдкреЗрдиреНрдб рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╡реНрдпрд╛рдкрдХ рддреИрдирд╛рддреА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧреАред
рдРрд╕реЗ informations рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП fig.yml рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ?
schema-version: 1.1
project_name: foo
containers:
web:
build: .
command: python app.py
links:
- db
ports:
- "8000:8000"
db:
image: postgres
рдФрд░ BC рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рд▓рд┐рдЦреЗрдВ / project.py :: from_config
<strong i="9">@classmethod</strong>
def from_config(cls, name, config, client):
if 'schema-version' not in config:
config = {
'schema-version': '1.0',
'containers': config
}
dicts = []
for service_name, service in list(config.containers.items()):
if not isinstance(service, dict):
raise ConfigurationError('Service "%s" doesn\'t have any configuration options. All top level keys in your docker-compose.yml must map to a dictionary of configuration options.' % service_name)
service['name'] = service_name
dicts.append(service)
return cls.from_dicts(name, dicts, client)
@jderusse рдореИрдВ рдХреБрдЫ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдкрд╕рдВрдж рд╣реВрдБ рдЬреИрд╕рд╛ рдЖрдкрдиреЗ рд╕реБрдЭрд╛рдпрд╛ рд╣реИред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЛ # рекрел рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣реЗрдВ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдмреЗрд╣рддрд░ рдЬрдЧрд╣ рд╣реИ?
рд╡реИрд╕реЗ рднреА рдЗрд╕ рдЯрд┐рдХрдЯ рдкрд░ рд╕рдВрдХрд▓реНрдк рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП? рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд # 1233 рдЖрдкрдХреЛ рджреЛрдиреЛрдВ рджреБрдирд┐рдпрд╛ рдХрд╛ рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд┐рд╕реА рднреА рдкрд╢реНрдЪрдЧрд╛рдореА рд╕рдВрдЧрддрддрд╛ рдХреЛ рди рддреЛрдбрд╝рддреЗ рд╣реБрдП рдЗрдЪреНрдЫрд┐рдд рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗ рд╕рдХрддрд╛ рд╣реИред
рдореВрд▓ рд░реВрдк рд╕реЗ рдореИрдВ docker-compose.yml
рдореЗрдВ рдирд╛рдо рдЪрд╛рд╣рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реЛрдЪрдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдлрд╛рдЗрд▓ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рд╣реИред
рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдПрдХ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рдЖрдкрдХреЛ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦрдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рджреЗрддреА рд╣реИ (рдЙрди рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд╣рд╛рдВ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рдЕрд▓рдЧ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рд░рдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ)ред
рдирдП рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдиреЗрдЯрд╡рд░реНрдХ рдирд╛рдо рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЕрдиреБрд░реЛрдз рд╣реИ (рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдкрд░ рдЪреВрдХ рдХрд░рддрд╛ рд╣реИ)ред рдЗрд╕рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдХреЙрдиреНрдлрд┐рдЧ рдлрд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рд╣рдо рдбрд┐рдлреЙрд▓реНрдЯ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдирд╛рдо, рдбрд┐рдлреЙрд▓реНрдЯ рд╕реНрдХреЗрд▓ рдЖрджрд┐ рдЬреИрд╕реА рдЪреАрдЬреЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рднреА рдореЗрдЯрд╛-рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЬреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдХрдВрдкреЛрдЬреАрд╢рди рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрднреА рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИред
рдореИрдВ рдЗрд╕ рдмрд╛рдд рд╕реЗ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ dnephin рдиреЗ рдХреНрдпрд╛ рдХрд╣рд╛ред рдХреИрд╕реЗ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ .docker-compose
? рд╣рдо рд╡рд╣рд╛рдВ рд╕рднреА рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рддрд░реНрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡рд┐рдХрд▓реНрдк рд╕реВрдЪреАрдмрджреНрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
@dnephin sgtm
@mikehaertl рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ .docker-compose
рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдПрдХ рдлрд╝рд╛рдЗрд▓ рднреА рдХрд╛рдо рдХрд░ рд╕рдХрддреА рд╣реИ, рдпрд╣ рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдХрд┐рддрдиреА рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ
@thaJeztah рдУрд╣, рдареАрдХ рд╣реИ, рдХреНрд╖рдорд╛ рдХрд░реЗрдВред рдореИрдВрдиреЗ рдпрд╣ рдЦреЛ рджрд┐рдпрд╛ред
@mikehaertl рдиреЗ рд╕рд┐рд░реНрдл .fig
рд╕реЗ .docker-compose
;-) рддрдХ рдЙрдирдХрд╛ рдирд╛рдо рдмрджрд▓рд╛;
рд╕рд╣реА :)
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореИрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдлрд╝рд╛рдЗрд▓ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред рдХреИрд╕реЗ ini рд╢реИрд▓реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ? рд╢реАрд░реНрд╖ рдкрд░ рд╡реИрд╢реНрд╡рд┐рдХ рд╡рд┐рдХрд▓реНрдк, рдПрдХ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рдХрд▓реНрдк рдЪреБрдиреЗрдВ:
project-name = blabla
[build]
no-cache
рдЕрд░реНрдз-рд╕рдВрдмрдВрдзрд┐рдд рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╡рд┐рдЪрд╛рд░ рд╣рдо рдпрд╛ рддреЛ рдПрдХ рд╣реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдпрд╛ рдПрдХ рд╣реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛:
рдЕрдм рдЬрдм рд╣рдо рдХрдИ рдХрдореНрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдкрдереЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рднреА рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдЧреНрд░рд╛рд╣рдХ рдПрдкреАрдЖрдИ рд╕рдВрд╕реНрдХрд░рдг
рд╕рдВрднрд╡рддрдГ docker_host
?
рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ (рдЬреЛрдбрд╝рд╛)
рдореИрдВ рдмрд╕ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛ред
рдореИрдВ рдПрдХ рдРрд╕реЗ рдмрд┐рдВрджреБ рдкрд░ рд╣реВрдВ рдЬрд╣рд╛рдВ рд╣рдорд╛рд░реЗ docker рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдореВрд▓ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдирд┐рдкрдЯрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЕрдм рдореИрдВ рдЗрд╕реЗ рдЕрдиреНрдп рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рджреЛрд╣рд░рд╛ рд░рд╣рд╛ рд╣реВрдВред рдЪреВрдВрдХрд┐ рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рд╕рдВрд░рдЪрдирд╛ рд╕рдорд╛рди рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╡реЗ рд╕рднреА рдПрдХ рд╣реА рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ (рдФрд░ рдЗрд╕рд▓рд┐рдП, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдореИрдВ рдПрдХ рд╣реА рд╣реЛрд╕реНрдЯ рдкрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ 2 рд╕реЗрд╡рд╛рдПрдВ рдирд╣реАрдВ рджреЗ рд╕рдХрддрд╛ред
рдореБрдЭреЗ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдмрджрд▓рдирд╛ рдкрдбрд╝ рд╕рдХрддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдирд╛рдо рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реЛрдиреЗ рдкрд░ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ 100% рд╕рдХрд╛рд░рд╛рддреНрдордХ рдирд╣реАрдВ рд╣реВрдВ рдЬреЛ рдЫрд╡рд┐ рдирд┐рд░реНрдорд╛рдг рд╕рдордп рдкрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд░рддрд╛ рд╣реИред
рдпрд╣рд╛рдБ рднреА, рдореИрдВрдиреЗ Makefile рд▓рдХреНрд╖реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рдХреАред рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА, рдЬрдм рдЖрдк рдХрд╕реНрдЯрдо рдкрд░ рдЕрдорд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ docker-compose
рдЖрджреЗрд╢, рдЖрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ -p customname
ред
рдЕрднреА рдореИрдВ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдкрд░ рдХрджрдо рд░рдЦрдиреЗ рд╕реЗ /home/alice/myproject
рдФрд░ /home/bob/myproject
рдореЗрдВ docker-compose setups рдХреЛ рд░реЛрдХрдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдЬрд╛рдирдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред рдХреНрдпрд╛ рдХреЗрд╡рд▓ рдЕрдВрддрд┐рдо рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╛рдо рдХреЗ рдмрдЬрд╛рдп рдкреВрд░реНрдг рдлрд╝рд╛рдЗрд▓ рдкрде рд╕реЗ рдХрдВрдЯреЗрдирд░ рдирд╛рдореЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИ?
@ рдХреНрд░рд┐рд╕-рдорд╛рд░реНрдЯрд┐рди рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИ ...
alias docker-compose="docker-compose -p ${PWD}"
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдореЛрдВ рдореЗрдВ рд╕реЗ /
рд╕реНрдЯреНрд░рд┐рдкреНрд╕-рд░рдЪрдирд╛ рдХрд░рддреЗ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐?
рдХреНрдпрд╛ рдпрд╣ рдкреНрд░рд▓реЗрдЦрд┐рдд рд╣реИ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдореЛрдВ рдореЗрдВ рдХрд┐рди рд╡рд░реНрдгреЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ?
рдореИрдВрдиреЗ рдЕрдкрдиреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреЛ рдмрджрд▓рдиреЗ рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░реВрдЯ рдореЗрдВ docker-compose.yml рдбрд╛рд▓рдиреЗ рдХрд╛ рдХрд╛рдо рдХрд┐рдпрд╛, рдЬреЛ рдХрд┐ рдПрдХ рдкрд░реНрдпрд╛рдкреНрдд рдкрд░реНрдпрд╛рдкреНрдд рдмрджрд▓рд╛рд╡ рд╣реИ
рдпрд╣ рдХреБрдЫ рд╕реБрд░рдХреНрд╖рд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рд╕рднреА git рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдПрдХ рд╣реА рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА (рдЬреИрд╕реЗ, $ HOME, рдпрд╛ $ HOME / рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕) рдореЗрдВ рдбрд╛рд▓рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп рд╕рдВрд░рдЪрдирд╛ (рдЬреИрд╕реЗ, рдПрдХ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдкреНрд░рддрд┐ рд╕рдВрдЧрдарди) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдкрд░реЗрд╢рд╛рдиреА рдореЗрдВ рдкрдбрд╝ рдЬрд╛рддрд╛ рд╣реИред рдЕрдХреНрд╕рд░ рдХрд░рддреЗ рд╣реИрдВ), рдпрд╛ рдпрджрд┐ рдЖрдкрдХреА рдорд╢реАрди boot2docker рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ, рдЬреЛ рдПрдХ рд╣реА рдмреЙрдХреНрд╕ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд▓реАрдХ рдХрд░рдиреЗ рдХреА рдкреНрд░рд╡реГрддреНрддрд┐ рд░рдЦрддреА рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдЖрдк рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рд╡рдзрд╛рди рди рд╣реЛрдВ рдХрд┐ docker- рдорд╢реАрди рдЖрдкрдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ VM рджреЗрддрд╛ рд╣реИред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ # 2294 рдпрд╛ рд╕рд┐рд░реНрдл рдбреЙрдХрдЯрд░-рдорд╢реАрди рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рд╕реНрд╡рдЪреНрдЫ рд░рд╣рдиреЗ рд╕реЗ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛рдПрдВ рднреА рдареАрдХ рд╣реЛ рдЬрд╛рдПрдВрдЧреАред
рдореИрдВ рдЗрд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░реВрдЯ рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХреА рднреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдФрд░ рдЗрд╕рдХрд╛ рдПрдХ рдЕрд▓рдЧ рдлрд╝реЛрд▓реНрдбрд░ рдирд╛рдо рд╣реЛрдЧрд╛ред
рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореИрдВ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ AWS рдкрд░ рдПрдХ рд╕рд╛рдЭрд╛ рдорд╢реАрди рд╣реИ рдФрд░ рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ docker-compose.yml рд╣реИ рдЬреЛ рд░реВрдЯ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдПрдХ рдЕрд▓рдЧ рдирд╛рдо рдХреЗ рд╕рд╛рде рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдХреНрд▓реЛрди рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рддреЛ рд╡реЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ / рд░реЛрдХрдиреЗ рдХреЗ рдореБрджреНрджреЛрдВ рдореЗрдВ рднрд╛рдЧ рд▓реЗрддреЗ рд╣реИрдВред
рдирдП v2
рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЛ рдЗрд╕ рддрд░рд╣ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ https://github.com/docker/compose/issues/745#issuecomment -74028861 рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд╣реИ
рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд┐рд░реНрдл рдПрдХ container_name_prefix
, рд╣реИ рдирд╛?
@ schmunk42
рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд┐рд░реНрдл рдПрдХ рдХрдВрдЯреЗрдирд░_рдирд╛рдо_рдкреНрд░реВрдл рд╣реИ, рд╣реИ рдирд╛?
рдЗрд╕реЗ volume_name_prefix
, image_name_prefix
рдФрд░ network_name_prefix
рд░реВрдк рдореЗрдВ рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ project_name
рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рд╢рдмреНрдж рд╣реИред
.docker-compose
docker-compose.override.yml
ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рдПрдХ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд░рд╛рд░реВрдк (рдЬреИрд╕реЗ ini) рдХреНрдпреЛрдВ рдкреЗрд╢ рдХрд░рддреЗ рд╣реИрдВ, рдЬрдм рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА YAML рдорд┐рд▓рд╛ рд╣реИ?
рдЗрд╕рд▓рд┐рдП рдореИрдВ @JoseusEarl рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП # 745 (рдЯрд┐рдкреНрдкрдгреА) рдореЗрдВ @jderusse рдХреЗ рд╕реБрдЭрд╛рд╡ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ project_name
рдХреБрдВрдЬреА docker-compose.yml
рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╣реВрдВред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрдиреБрдХреВрд▓рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА docker-compose.override.yml
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдФрд░ .gitignore
рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕реЗ рдЫреЛрдбрд╝рдХрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдпрджрд┐ рдХреЛрдИ рддреАрд╕рд░рд╛ рд╕реНрдкрд╖реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдУрд╡рд░рд░рд╛рдЗрдб рдлрд╝рд╛рдЗрд▓ рд╡рд╛рдВрдЫрд┐рдд рд╣реИ, рддреЛ рдореИрдВ .docker-compose.local-override.yml
рд╕реБрдЭрд╛рд╡
YAML рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдореИрдВ рдПрдХ рдирдИ рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп рдХреБрдВрдЬреА рдмрдирд╛рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреВрдВрдЧрд╛ рдЬрд┐рд╕рдХрд╛ рдирд╛рдо project
, рдЬрд┐рд╕рдореЗрдВ project_name
, рдФрд░ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЕрдиреНрдп рдЪрд░ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╢реАрд░реНрд╖-рд╕реНрддрд░реАрдп рдирд╛рдо рд╕реНрдерд╛рди рдХреЛ рдкреНрд░рджреВрд╖рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдмрдЪрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рджреЗрдХрд░ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:
project:
project_name: "your-project"
network_prefix: "abc"
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ network_prefix
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдпрд╣ рд╕реАрдзреЗ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдирд╛рдореЛрдВ рдХреЛ рд╕реАрдзреЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖ рд╕рдХрддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ, рджреЛ рдорд╛рдорд▓реЗ рд╣реИрдВ:
project_name
рдкрд░реНрдпрд╛рдкреНрдд рд╣реИредрдКрдкрд░ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕реБрдЭрд╛рд╡ рдореБрдЭреЗ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ, рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдо рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреЙрдиреНрдлрд┐рдЧ рдлрд╛рдЗрд▓ рдирд╣реАрдВ рд▓рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ
рдЗрд╕ рдореБрджреНрджреЗ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдкрд░ +1
рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рд░реЗрдкреЛ рдореЗрдВ рдПрдХ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрдЬрд╛рдп docker-compose.yml
рдореЗрдВ рдПрдХ рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рднреА +1ред
рдкрд╣рд▓реЗ рдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рд╕рдореНтАНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП: рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдХреЗ рд▓реБрдХрдЕрдк рдЕрдиреБрдХреНрд░рдо рдХрд╛ рдПрдХ рдкреНрд░рд╕реНрддрд╛рд╡ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрдЧрд╛; рдкрд╣рд▓реЗ рдХреА рд╡рд╕реНрддреБрдПрдВ рдмрд╛рдж рдХреЗ рд▓реЛрдЧреЛрдВ рд╕реЗ рдкреВрд░реНрд╡рддрд╛ рд▓реЗрддреА рд╣реИрдВ:
--project-name
рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВCOMPOSE_PROJECT_NAME
рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВредproject_name
рд╕реЗ рдХреБрдВрдЬреА docker-compose.yml
(рдпрд╛ рдЬрд╣рд╛рдБ рднреА рдЙрд╕ рд╕реЗрдЯрд┐рдВрдЧ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)редbasename
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдореИрдВ 2 рдмрдирд╛рдо 3 рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдирд┐рд╢реНрдЪрд┐рдд рд╣реВрдВ:
--project-name
рд╕рд╛рде рд╕рдВрдЧрддрд┐ рдХреЗ рд▓рд┐рдП, COMPOSE_PROJECT_NAME
рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ project_name:
рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПредCOMPOSE_PROJECT_NAME
project_name:
рд╕реЗ рдЕрдзрд┐рдХ рдкреВрд░реНрд╡рддрд╛ рд▓реЗрдирд╛ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдХрд╛рд░рдг рдЧрд▓рдд рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХрд╛ рдЧрд▓рддреА рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИ; рдпрд╣ рдбреАрдмрдЧ рдХрд░рдирд╛ рдХрдард┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЪреЗрддрд╛рд╡рдиреА рд╕рдВрджреЗрд╢ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рд╣реЛ?рдмреАрд╕реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдореВрд▓реНрдп %(project_name)s_%(service_name)s_%(instance_number)s
рд╕рд╛рде рдПрдХ рдирдИ рд╕рдВрдкрддреНрддрд┐ container_name_pattern
рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ
рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░ рд╣рдореЗрдВ рдЗрд╕реЗ hardcodedproject_%(service_name)s_%(instance_number)s
рдмрджрд▓рдиреЗ рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдХрд░рддрд╛ рд╣реИ
рдореИрдВ 10 рдорд┐рдирдЯ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рдмрд╛рдж рд╕рд┐рд░реНрдл рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЖрдпрд╛ рд╣реВрдВред
рдкрд╣рд▓реА рдЪреАрдЬрд╝ рдЬреЛ рдореИрдВрдиреЗ рд▓рд┐рдЦреА рдереА рд╡рд╣ рдХрдореНрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рд╕рдВрджрд░реНрдн рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рд╕рд╣реА рдХреБрдВрдЬреА рдХреЗ рд▓рд┐рдП рдЦреЛрдЬ рд░рд╣рд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП project_name
1 рдХреЗ рд▓рд┐рдП +1 docker-compose.yml
рдореЗрдВ рдХреБрдВрдЬреА
: +1: @ cr7pt0gr4ph7 рд░рдгрдиреАрддрд┐ рдХреЗ рд▓рд┐рдП
@ Cr7pt0gr4ph7 рд░рдгрдиреАрддрд┐ рдХреЗ рд▓рд┐рдП +1
рд░рдЪрдирд╛ рдореЗрдВ рдкрд░реНрдпрд╛рд╡рд░рдг рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд▓рд┐рдП рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рд╢рд╛рдпрдж рд▓реЛрдЧ рдЗрд╕рдХреА рджреЗрдЦрднрд╛рд▓ рд╕реНрд╡рдпрдВ рдХрд░рддреЗ рд╣реИрдВ?
рджреВрд╕рд░реА рдУрд░, docker рдорд╢реАрди рдпрд╣ рддрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ рдХрд┐ рдХрд┐рд╕ рдорд╢реАрди рдкрд░ рдПрдХ рдХрдореНрдкреЛрдЬрд╝ рдмрд┐рд▓реНрдб рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЗрд╕рд▓рд┐рдП рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдФрд░ рд▓рдХреНрд╖реНрдп рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░реЗрдВред рд╣рдореНрдо, рдпрд╣ рдПрдХ рдХрдард┐рди рд╣реИред
https://github.com/docker/compose/issues/745#issuecomment -182296139 рд╕рд╣реА рд▓рдЧрддрд╛ рд╣реИред рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░ рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдорд╛рди рдкрд░ рдкреВрд░реНрд╡рд╡рд░реНрддреАрддрд╛ рд▓реЗрдЧрд╛, рдЬреЛ рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ (рдпрд╣ рдорд╛рдирдХрд░ рдХрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реИ)ред
рдХреБрдЫ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЖрдк рдПрдХрд╛рдзрд┐рдХ рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ?
рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ "рдкреНрд░рд╛рдердорд┐рдХ" рдпрд╛ "рдПрдХреНрд╕реНрдЯреНрд░рд╛" рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░реЗрдЧреА, рдЬреЛ рдЕрднреА рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реИред рдХрд┐рд╕реА рднреА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрд▓рдЧрд╛рд╡ рдореЗрдВ рдпрд╛ рджреВрд╕рд░реЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдЙрдЪрд┐рдд рд╣реЛ, рдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░ рджреЗрдВ (рдХреНрдпреЛрдВрдХрд┐ рдХрд┐рд╕реА рд╡рд┐рдХрд▓реНрдк рдпрд╛ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ рд╕реЗрдЯ рдХрд░рдХреЗ рдорд╛рди рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред
рдХреБрдЫ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЖрдк рдПрдХрд╛рдзрд┐рдХ рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ?
рдпрджрд┐ рдЖрдк docker-compose -f compose1.yml -f compose2.yml up
рдЬреИрд╕рд╛ рдХреБрдЫ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рджреЛрдиреЛрдВ рдлрд╛рдЗрд▓реЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреА рд╣реИрдВ, рддреЛ рдкреНрд░рдпреБрдХреНрдд рдирд╛рдо compose2.yml
рд╕реЗ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рд░ рдХреЛрдИ рдПрдХ рд╕рдорд╛рдзрд╛рди рдкрд░ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдкрд╣рд▓реЗ рд╕реЗ рдкрд╕рдВрдж рд╣реИ: -) I do project_name
-
HTTP 500 рдЖрдВрддрд░рд┐рдХ рд╕рд░реНрд╡рд░ рддреНрд░реБрдЯрд┐ рдкреГрд╖реНрдареЛрдВ рдореЗрдВ рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ, рдореИрдВ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдмрддрд╛рддрд╛ рд╣реВрдВ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреИрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдП рдпрд╛ рдЙрд╕рдХрд╛ рдирд┐рд╡рд╛рд░рдг рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдореИрдВ рдЙрд╕реЗ рдмрддрд╛рддрд╛ рд╣реВрдВ рдХрд┐ рд╡рд╣ / рд╡рд╣ zcat database-dump.tgz | docker exec -i projectname_db_1 psql
рдпрджрд┐ рд╕рд░реНрд╡рд░ рдиреЗ рдиреЛрдЯ рдХрд┐рдпрд╛ рдХрд┐ рдХреЛрдИ PostgreSQL рдбреЗрдЯрд╛рдмреЗрд╕ рдирд╣реАрдВ рд╣реИ; рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ - рдФрд░ рдлрд┐рд░ рдореИрдВ рд╕реНрд╡рдпрдВ projectname
рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЕрдиреНрдпрдерд╛ рдорджрдж рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕ рдмрд╛рдд рд╕реЗ рд╕рд╣рдордд рд╣реЛрдВ рдХрд┐ COMPOSE_PROJECT_NAME рдХрдВрдкреЛрдЬрд╝ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдкрд░ рдЪреЗрддрд╛рд╡рдиреА рджреЗрдиреА рдЪрд╛рд╣рд┐рдПред рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдореМрдЬреВрджрд╛ рдбреЙрдХрд░ рдХрдорд╛рдВрдб рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдирд╡рд╛рдЧрдВрддреБрдХ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рддрд╛рд░реНрдХрд┐рдХ рдпрд╛ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред
@ Cr7pt0gr4ph7 рд░рдгрдиреАрддрд┐ рдХреЗ рд▓рд┐рдП +1
рдХрд┐рд╕реА рдореБрджреНрджреЗ рдХреЛ рдЦреЛрд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреБрдЫ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдХреБрдЫ рднреА рдирд╣реАрдВ рдорд┐рд▓рд╛ред
+1 project_name
рдХреЗ рд▓рд┐рдП docker.compose.yml рдлрд╝рд╛рдЗрд▓ рдореЗрдВред V2 рдХреЗ рд╕рд╛рде рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред
рдЗрд╕ рдмрд╛рдд рд╕реЗ рд╕рд╣рдордд рд╣реЛрдВ рдХрд┐ COMPOSE_PROJECT_NAME рдХрдВрдкреЛрдЬрд╝ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдкрд░ рдЪреЗрддрд╛рд╡рдиреА рджреЗрдиреА рдЪрд╛рд╣рд┐рдПред рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдореМрдЬреВрджрд╛ рдбреЙрдХрд░ рдХрдорд╛рдВрдб рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдирд╡рд╛рдЧрдВрддреБрдХ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рддрд╛рд░реНрдХрд┐рдХ рдпрд╛ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред
рдпрд╣ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЗ рд▓рд┐рдП рд╡рд┐рдиреНрдпрд╛рд╕ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдФрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рддрд░реНрдХ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рдорд╛рдиреНрдп рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред
рдХреНрдпрд╛ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рд╣реИ? рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреЛрдИ рднреА рдЧрд▓рддреА рд╕реЗ COMPOSE_PROJECT_NAME
рдирд╛рдордХ рдПрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдмрдирд╛ рд▓реЗрдЧрд╛ред
рдХреНрдпрд╛ рдРрд╕рд╛ рдкреАрдЖрд░ рдмрдирд╛рдирд╛ рдареАрдХ рд░рд╣реЗрдЧрд╛ рдЬреЛ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП project_name
docker-compose.yml
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ? рдпрд╛ рдХреНрдпрд╛ рд╣рдо project_name
рдореВрд▓реНрдп рдХреЛ рдкрд┐рдЫрд▓реЗ yml
рдлрд╝рд╛рдЗрд▓ рд╕реЗ рддреБрд░рдВрдд рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдЬреИрд╕рд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд╛рдорд╛рди рдЪрд╛рд╣рддреЗ рд╣реИрдВ?
рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕рд╛ рд╣реИ?
version: "2"
project:
default_name: "app"
рдореИрдВ рдЗрд╕ рдкреНрд░рд╛рд░реВрдк рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди (https://github.com/docker/compose/pull/3118) рдмрджрд▓ рджреВрдВрдЧрд╛ред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ project
рдЕрдиреБрднрд╛рдЧ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ...ред
+1 рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд░рд╣реЗрдВ
@timgriffiths , рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдирд╡реАрдирддрдо RC рдореЗрдВ рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдПрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝рдХрд░ рд╕рдВрднрд╡ рд╣реИ:
@deizel рддреЛ рдореИрдВрдиреЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдлрд╝рд╛рдЗрд▓ рдХреЛ рджреЗрдЦрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЕрднреА рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐
рд╣рдорд╛рд░реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ Prod, Staging, UAT, Dev рдХрдВрдкреЛрдЬрд╝ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрдЯреИрдХ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд╕реНрдХрд░рдг рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдХрднреА-рдХрднреА рд╣рдо рдПрдХ рд╣реА рдЭреБрдВрдб рдкрд░ рдПрдХ рд╕реНрдЯреЗрдЬрд┐рдВрдЧ рдФрд░ UAT рд╡рд╛рддрд╛рд╡рд░рдг рдЦрдбрд╝реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдкрд░реНрдпрд╛рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рд╡реИрд░рд┐рдПрдмрд▓ рдпрд╛ рдХреНрдпрд╛ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛рдж рд░рдЦрдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдЕрдЧрд░ рдпрд╣ рдХрдВрдкреЛрдЬрд╝ рдлрд╛рдЗрд▓ рдореЗрдВ рдерд╛ рддреЛ рд╕рдм рдХреБрдЫ рд░реЗрдкреЛ рдореЗрдВ рдЪреЗрдХ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рд╣рдо рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕рдордЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рдЗрдирд▓рд╛рдЗрди рдФрд░ рд╕рд░рд▓ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред
+1 рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рд╣реИ рдЬрд╣рд╛рдВ рд╣рдорд╛рд░реА рд░рдЪрдирд╛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рдкреВрд░реНрд╡-рдирд┐рд░реНрдорд┐рдд рджреВрд░рд╕реНрде рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рд╣реИрдВред рдХрдВрдкреЛрдЬрд╝ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрди рд╡реЙрд▓реНрдпреВрдо рдирд╛рдореЛрдВ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рдЬреЛрдбрд╝рддрд╛ рд╣реИ рдЬреЛ рддрдм рдмреЗрдореЗрд▓ рдирд╛рдореЛрдВ рдХреЗ рдХрд╛рд░рдг рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд╣реЛрддреЗ рд╣реИрдВред рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд▓рд┐рдЦреЗрдВ yml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рд╕реЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг, рдирд╛рдордХрд░рдг рд╕рдореНрдореЗрд▓рди рдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдЕрд╕реНрдкрд╖реНрдЯ рдмрд╛рд╣рд░реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ рдЫрд┐рдкрд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдкрд░реНрдпрд╛рд╡рд░рдг рдореЗрдВ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ @edevenport рдЖрдк рдирд╛рдорд┐рдд рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдмрд╛рд╣рд░реА рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
# docker-compose.prod.yml
volumes
dbdata:
external:
name: my-project-db-data
рдзрдиреНрдпрд╡рд╛рдж @fesor - рдореБрдЭреЗ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдореЗрдВ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛ред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЪрдордХрддрд╛ рд╣реБрдЖ рд╡реЙрд▓реНрдпреВрдо рдмрдврд╝рд╛ рд░рд╣рд╛ рд╣реВрдВ:
...
volumes:
- media:/data/media:ro
volumes:
media:
driver: glusterfs
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣реЛрд╕реНрдЯ рдкрд░ media
projectname_media
media
рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рддрдм рддрдХ рдорд╛рдЙрдВрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреЗ рд╕рд╛рде рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ glusterfs рд╡реЙрд▓реНрдпреВрдо рдирд╣реАрдВ рдмрдирддрд╛ рд╣реИред рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдореЗрдЬрдмрд╛рди рдкрд░ glusterfs рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдмрдврд╝рддреЗ рд╣реБрдП рдФрд░ docker-compose рдлрд╝рд╛рдЗрд▓ рдореЗрдВ external
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ рд╕рднреА рдиреЛрдбреНрд╕ рдкрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
@ рд╕рд╛рднрд╛рд░ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдБ рдХрд┐ред рд▓реЗрдХрд┐рди рдЖрдк рдХреЗрд╡рд▓ docker volume create
рд╕рд╛рде рдЗрд╕ рд╡реЙрд▓реНрдпреВрдо рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
volumes:
- media:/data/media:ro
volumes:
media:
external:
name: my-glusterfs-media
рдЗрд╕рд▓рд┐рдП рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдХрд┐рд╕реА рднреА рдЙрдкрд╕рд░реНрдЧ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдПрдВред
@timgriffiths рдХрд╛ рдорд╛рдорд▓рд╛ рдХреБрдЫ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ, рдФрд░ рдЗрд╕рдореЗрдВ рдХреЛрдИ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдирд╣реАрдВ рд╣реИред рдореИрдВ рдХреЗрд╡рд▓ docker-compose
рдЖрд╕рдкрд╛рд╕ рд╕рд╛рдзрд╛рд░рдг рд░реИрдкрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рддрд╛рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдпрд╛рдж рди рд░рд╣реЗрдВред
@fesor рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рд╡рд░реНрдгрдирд╛рддреНрдордХ рдлрд╝реЛрд▓реНрдбрд░ рдирд╛рдореЛрдВ рдореЗрдВ
@timgriffiths рдореИрдВрдиреЗ рдПрдХ PR (https://github.com/docker/compose/pull/3118) рдмрдирд╛рдпрд╛ - рд╢рд╛рдпрдж рдЗрд╕рд╕реЗ рдорджрдж рдорд┐рд▓реЗрдЧреАред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХрд╛рдзрд┐рдХ рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реИрдВ рддреЛ рдпрд╣ рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рд╕рдВрднрд╛рд▓рддреА рдирд╣реАрдВ рд╣реИред
@fesor рдХрд┐ рдкреАрдЖрд░ рд╕рд╣реА рд╣реЛрдЧрд╛ рдХреНрдпрд╛ рдпрд╣ рд╡рд┐рд▓рдп рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ?
рдЕрдм рдХрдореНрдкреЛрдЬрд╝ рдкрд░реНрдпрд╛рд╡рд░рдг рдлрд╝рд╛рдЗрд▓ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рд╡рд╣рд╛рдВ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
@mkuzmin рдпрд╣ рджреБрдЦрдж рд╣реИ рдХрд┐ COMPOSE_FILE
рд▓реЗрдХрд┐рди COMPOSE_OVERRIDE_FILE
ред
@fesor AFAIK рдЖрдк рдХрдИ рдлрд╛рдЗрд▓реЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
@ schmunk42 рдореИрдВ рдпрд╛ рддреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдореИрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ:
docker-compose up -d
рдХреЗ рдмрдЬрд╛рдп
docker-compose -f $COMPOSE_FILE -f $COMPOSE_OVERRIDE_FILE \
up -d
COMPOSE_PROJECT_NAME
рдКрдкрд░ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ CI рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдФрд░ .env
рдлрд╝рд╛рдЗрд▓ рдЬреИрд╕реА рд╕реБрд╡рд┐рдзрд╛ рд╢рд╛рдВрдд рд╣реИ рд▓реЗрдХрд┐рди ... рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреА рджреГрдврд╝рддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдмреЗрдХрд╛рд░ рд╣реИред
рдореИрдВ .env
DRY env рд╡реИрд░рд┐рдПрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ (рдФрд░ docker- рд░рдЪрдирд╛ рдХреЗ рд▓рд┐рдП <1.7 рдореЗрд░реЗ рдкрд╛рд╕ рд╕рд░рд▓ рдЖрд╡рд░рдг рд╣реИ), рд▓реЗрдХрд┐рди рдпрд╣ рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдореБрджреНрджреЛрдВ рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред @timgriffiths рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЭреБрдВрдб рдХреНрд▓рд╕реНрдЯрд░ рдкрд░ рддреИрдирд╛рддреА рдХреЗ рд╕рд╛рде рдорд╛рдорд▓реЗ рдкрд░ рдмрддрд╛рдпрд╛ред
COMPOSE_FILE=one.yml:two.yml
рдПрдХрд╛рдзрд┐рдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рд╣реИред рддреЛ рдмрд╕ $COMPOSE_FILE
рдореЗрдВ рдУрд╡рд░рд░рд╛рдЗрдб рдлрд╝рд╛рдЗрд▓ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ
@dnephin рдиреЗ рдЙрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдпрд╛рдж рдХрд┐рдпрд╛, рдЕрдЪреНрдЫрд╛ред
рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ ... рдЭреБрдВрдб рдХреА рддреИрдирд╛рддреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рдореИрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрднрд╛рд▓ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдореЗрд░реЗ рдЬреЗрдирдХрд┐рди рдХреА рдиреМрдХрд░реА рдИрдПрдирд╡реА рдореЗрдВ COMPOSE_PROJECT_NAME
рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЗрд╡рд▓ рдореИрдиреБрдЕрд▓ рддреИрдирд╛рддреА рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВред рдФрд░ рдореЗрд░рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ ...
рдпрд╣ рдореБрджреНрджрд╛ рд▓рдЧрднрдЧ 2 рд╕рд╛рд▓ рдкреБрд░рд╛рдирд╛ рд╣реИ рдФрд░ рдЕрднреА рднреА рдЕрдирд╕реБрд▓рдЭрд╛ рд╣реИред рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдЖрдЦрд┐рд░рдХрд╛рд░ docker рдХреА рдЯреАрдо рдореЗрдВ рдХреНрдпрд╛ рдмрд╛рдзрд╛ рдЖ рд░рд╣реА рд╣реИ рдЖрдЦрд┐рд░рдХрд╛рд░ рдПрдХ рдЙрдЪрд┐рдд рд╕рдорд╛рдзрд╛рди рдЬреЛрдбрд╝реЗрдВред рдХреНрдпрд╛ docker-compose.yml
рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдирдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдирд┐рд░реНрджреЗрд╢ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрддрдирд╛ рдХрдард┐рди рд╣реИ?
рдЬрдмрдХрд┐ .env
рд╕рд╛рде рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдЕрдЪреНрдЫрд╛ рд╣реИ, рдпрд╣ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИ ( .env
рдлрд╝рд╛рдЗрд▓ рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рджреНрд╡рд╛рд░рд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ)ред рдФрд░ рдпрд╣ рдЕрднреА рднреА рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИред
рдФрд░ рдореИрдВрдиреЗ рдЕрдиреНрдп рдирдП рдореБрджреНрджреЛрдВ рдХреЛ рднреА рджреЗрдЦрд╛ рд╣реИ рдЬреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг (# 3966)ред
рддреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИ?
рдХреНрдпрд╛
docker-compose.yml
рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдирдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдирд┐рд░реНрджреЗрд╢ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрддрдирд╛ рдХрдард┐рди рд╣реИ?
рдирд╣реАрдВ! рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдореЗрдВ рдХрднреА рдХрдард┐рдирд╛рдИ рдирд╣реАрдВ рд╣реБрдИред
рдЬрдмрдХрд┐
.env
рд╕рд╛рде рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдЕрдЪреНрдЫрд╛ рд╣реИ, рдпрд╣ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реИ (.env
рдлрд╝рд╛рдЗрд▓ рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рджреНрд╡рд╛рд░рд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ)ред рдФрд░ рдпрд╣ рдЕрднреА рднреА рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИред
рдпрд╣ рдПрдХ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИ! .env
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдХрдореНрдкреЛрдЬрд╝ рджреНрд╡рд╛рд░рд╛ рдкрдврд╝рд╛ рдЬрд╛рдирд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рджреНрд╡рд╛рд░рд╛ рдкрдврд╝реЗ рдЬрд╛рдиреЗ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдбрд╛рд▓реЗрдВ ( app.env
) рдФрд░ env_file
рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рд╕рдВрджрд░реНрдн рджреЗрдВред
рддреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдХреНрдпрд╛ рд╣реИ?
docker-compose.yml
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдпрд╣ рдХрдо рдкреЛрд░реНрдЯреЗрдмрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХреБрдЫ рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЕрдм (рдХреЗ рд╕рд╛рде рдПрдХ рддрд░рд╣ рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ .env
) рд▓рдЧрд╛рддрд╛рд░ рдХреА рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рдХрд╛ рддреНрдпрд╛рдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП docker-compose.yml
рдореЗрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╡рд┐рдиреНрдпрд╛рд╕ рд╡рд┐рдХрд▓реНрдк рдХрдордЬреЛрд░ рд╣реИ рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдорд╛рдорд▓рд╛ред рдпрд╣ рдкреНрд░рд╛рдердорд┐рдХ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЖрдЧреЗ рдирд╣реАрдВ рдмрдврд╝реА рд╣реИред
рдПрдХ рдбреЙрдХрдЯрд░-рдХрдореНрдкреЛрдЬрд╝.рдорд╛рдЗрд▓ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдпрд╣ рдХрдо рдкреЛрд░реНрдЯреЗрдмрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ,
рдХреНрдпрд╛ рдпрд╣ рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдореИрдВ рдЕрдкрдиреЗ docker-compose.yml
рдореЗрдВ рдХрднреА рднреА рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЕрдкрдиреЗ рд░реЗрдкреЛ рдореЗрдВ docker-compose-example.yml
рдЖрдкреВрд░реНрддрд┐ рдХрд░рддрд╛ рд╣реВрдВ рдЬреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдЯреНрд╡рд┐рдХ рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рдореИрдВ рдЕрдкрдиреЗ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд env var рдпрд╛ рдореИрдк рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реВрдВред рд╣рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рднреА рдХреНрдпреЛрдВ рдирд╣реАрдВ рджрд┐рдпрд╛ рдЬрд╛рдП?
рдЕрдкрдиреЗ рддрд░реНрдХ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рд╕рднреА network
рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ .env
рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЖрдорддреМрд░ рдкрд░ рдкреЛрд░реНрдЯреЗрдмрд▓ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЖрдкрдХреЗ рд╣реЛрд╕реНрдЯ рдорд╢реАрди рдХреЗ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрдЯрдЕрдк рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВред
рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рд░рдЦреЛ: рдХреНрдпрд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдЗрддрдирд╛ рдЦрд╛рд╕ рдмрдирд╛рддрд╛ рд╣реИ? рдкрд╣рд▓реЗ рд╕реЗ рд╣реА docker-compose.yml
рдореЗрдВ рдХрдИ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреЛрд░реНрдЯреЗрдмрд▓ рдирд╣реАрдВ рд╣реИрдВред рдХреНрдпреЛрдВ рдирд╣реАрдВ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЪреБрдирдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рджрд┐рдпрд╛ рдЬрд╛рдП?
рдореБрдЭреЗ рднреА рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рдХрд▓реНрдк рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЬреИрд╕рд╛ рдХрд┐ рдбреЙрдХрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдзрд┐рдХ рд╡реНрдпрд╛рдкрдХ рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдЙрдирдХреЗ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЗ рднреАрддрд░ рдХрдВрдЯреЗрдирд░реАрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреЗрд╡рд▓ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд╕рд╛рде рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред рдЙрди рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рд╕реНрдерд┐рд░ рд╣реЛрдирд╛ рдареАрдХ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреЗ рд▓рдЪреАрд▓реЗрдкрди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рд╡рд╛рд▓реА рдПрдХ рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЙрджрд╛рд╣рд░рдг рдЙрдирдХреЗ Vagrantfile
рд╕рд╛рде рдпреЛрдирд┐ рд╣реИред рдЙрдиреНрд╣реЛрдВрдиреЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдмрдбрд╝реА рдЯреАрдореЛрдВ рдХреЗ рд▓рд┐рдП рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдлрд┐рд░ рд▓реЛрди рд╡реБрд▓реНрдл рдбреЗрд╡рд▓рдкрд░ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХреЛ рднреА рдкрд╣рдЪрд╛рдирддреЗ рд╣реИрдВред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЧреЛрдж рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдВ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рд╡рд┐рдХрд▓реНрдк рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдпрд╣ рдПрдХрд▓ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдлреЗрдВрдХ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ "рд╕реНрдХреЗрд▓реЗрдмрд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд░рдгрдиреАрддрд┐" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
рдПрдХ рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝.рдЖрдИрдПрдордПрд▓ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдпрд╣ рдХрдо рдкреЛрд░реНрдЯреЗрдмрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдРрд╕реА рдХреЛрдИ рдЪреАрдЬ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЕрдм рдЬрдм рдбреЙрдХрдЯрд░-рдХрдореНрдкреЛрдЬрд╝рд┐рдЯ.рдореИрдПрд▓ рдХреЗ рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рдХрд╛ рддреНрдпрд╛рдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ (.env) рд╣реИ, рддреЛ рдЗрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдорд╛рдорд▓рд╛ рдХрдордЬреЛрд░ рд╣реИред рдпрд╣ рдкреНрд░рд╛рдердорд┐рдХ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЖрдЧреЗ рдирд╣реАрдВ рдмрдврд╝реА рд╣реИред
docker-compose.yml
рд▓рд┐рдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдпрд╣ рдХрдо рдкреЛрд░реНрдЯреЗрдмрд▓ рдХреИрд╕реЗ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ?
IMHO рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд┐рдкрд░реАрдд рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ # 3966 @mikehaertl рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рддреА рд╣реИ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо docker-compose.yml
рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдирд╣реАрдВ рд╣реЛрдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЪреАрдЬреЛрдВ рдХреЛ рдХрдо рдкреЛрд░реНрдЯреЗрдмрд▓ рдмрдирд╛рддрд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐: рдПрдХ рд╣реА рдорд╢реАрди рд╕реЗ рд╢реБрд░реВ рдХреА рдЧрдИ рдЕрдиреНрдп рд░рдЪрдирд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЯрдХрд░рд╛рд╡ рдХреА рдПрдХ рдмрдбрд╝реА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ) рдХреНрдпреЛрдВрдХрд┐ рдХрдВрдкреЛрдЬрд╝ рдПрдХ рд╕рдореНрдореЗрд▓рди рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрдВрдЯреЗрдирд░ рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдирд╛рдо рдЬреЛ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ, рдХрдо рд╕реЗ рдХрдо рд╢реБрд░реВ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реЛрдВрдЧреЗред
.env
рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рди рдХреЗрд╡рд▓ рдирдП рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдмрд╛рдд рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдЬреЛ рдХрдВрдкреЛрдЬрд╝ рдХреЛ рдЕрдкрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдореБрдЭреЗ рдЗрдиреНрд╣реЗрдВ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП docker-compose.yml
рдЖрдЧреЗ рдЕрдкрдиреЗ рд░реЗрдкреЛ рдореЗрдВ рднреА рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ рдЯрдХрд░рд╛рд╡ рдореИрдВ рдпрд╣ рдирд╣реАрдВ рджреЗрдЦрддрд╛ рдХрд┐ docker-compose.yml
рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХреЛрдИ рднрд┐рдиреНрди рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рдмреБрджреНрдзрд┐рдорд╛рди рдХреИрд╕реЗ рд╣реЛрдЧреАред
рдореИрдВ рдбреЙрдХрдЯрд░-рдХрдореНрдкреЛрдЬрд╝.рдЖрдИрдПрдордПрд▓ рдореЗрдВ рдирд╛рдо рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рд╣реВрдБред .Env рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдЕрдиреНрдп рдЪреМрдЦрдЯреЗ рдореЗрдВ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рд░реЗрдкреЛ рд╕реЗ рджреВрд░ рд░рд╣реЗред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореЗрд░реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдореЗрдВ рд╕реНрдерд╛рдиреАрдпрдХреГрдд рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рд╡реЗ рдЬрд┐рддрдирд╛ рдХрдо рдбреЙрдХрдЯрд░ (рдкрд╣рд▓реЗ) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдЙрддрдирд╛ рдмреЗрд╣рддрд░ рд╣реИред рдореИрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЬреЛ рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рд╕реЗ рдирд╣реАрдВ рдЯрдХрд░рд╛рдПрдЧрд╛ред рдореИрдВ рдпрд╣ рдирд╣реАрдВ рд╕рдордЭрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдХрд┐ рдЪреАрдЬреЗрдВ рдХрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╣реИрдВред рдмрд╕ рдПрдХ рд╕рд░рд▓
рдХреНрд▓реЛрди рд░реЗрдкреЛ
docker- рд░рдЪрдирд╛ рдХрд░рдирд╛
рдореЗрд░рд╛ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдЕрднреА рднреА рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдмрдирд╛рдирд╛ рд╣реИ рдЬреЛ @ schmunk42 рдиреЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд┐рдпрд╛ рд╣реИред
рдХрдВрдЯреЗрдирд░ рдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдХреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдПред рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рдореЗрдЬрдмрд╛рди рдХреА рджреЗрдЦрднрд╛рд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рддрдВрддреНрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?
рдореИрдВ docker-compose.yml
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рджреЗрдЦрдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛ред рдпрджрд┐ рдХрд┐рд╕реА рдХреЛ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕реЗ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ .env
рдлрд╝рд╛рдЗрд▓ (рдпрджрд┐ рд╣реЛрд╕реНрдЯ рдкрд░ рд╕реАрдзреЗ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ) рдХреЗ рднреАрддрд░ рдФрд░ docker-compose.yml
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЪрд░ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдпрджрд┐ рдирд╛рдорд┐рдд рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдЕрдиреБрдорддрд┐ рджреА рдЬрд╛рддреА рд╣реИ рддреЛ рдирд╛рдорд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдЕрдиреБрдорддрд┐ рдХреНрдпреЛрдВ рдирд╣реАрдВ рджреА рдЬрд╛рдПрдЧреА?
рдЙрдкрдпреЛрдЧ рдХреА рд╕реНрдерд┐рддрд┐, рдЬрд╣рд╛рдБ .yml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рд╣реЛрдЧреА, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╣реИ:
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡реЗрдмрд╕рд░реНрд╡рд░реНрд╕ (рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕, рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбреЗрдЯрд╛-рд╡реЙрд▓реНрдпреВрдо, рд▓реЛрдЧреЛ рдЬреИрд╕реЗ рдХреБрдЫ рдЫреЛрдЯреЗ рдЕрдВрддрд░ рдЖрджрд┐) рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА рдбреЙрдХ-рдХрдореНрдкреЛрдЬрд╝ рдлрд╛рдЗрд▓ рд╣реИред рдкреНрд░рддрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди 3 рд╕реЗрд╡рд╛рдПрдВ рдЪрд▓ рд░рд╣реА рд╣реИрдВ, рдФрд░ рд╡реЗ рдПрдХ рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рд╣реИрдВред рдЬрдм рдХрдИ рд╕рд░реНрд╡рд░ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рдмрдЧрд▓ рдореЗрдВ рдЪрд▓рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рджреЗрдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдХреМрди рд╕реА рд╕реЗрд╡рд╛ рдХрд┐рд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред
рдХрдВрдЯреЗрдирд░ рдирд╛рдо рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХрд╛рдо рдореЗрдВ рдЖрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЙрдкрд╕рд░реНрдЧ рдХреЗ рд░реВрдк рдореЗрдВ $ COMPOSE_PROJECT_NAME рд╣реИред рд╡реИрд╕реЗ рдореИрдВ .env- рдлрд╝рд╛рдЗрд▓ рд╕рдорд╛рдзрд╛рди рдХреЛ рд╕рдордЭрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ (CI) рдкрд░рд┐рдирд┐рдпреЛрдЬрди рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЗрд╕реЗ "рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдЕрдиреБрдХреВрд▓" рдирд╣реАрдВ рдмрдирд╛рддрд╛ рд╣реИред
рдПрдХ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбреЙрдХ-рдХрдВрдкреЛрдЬ рдХреЗ рдбреЙрдХрдЯрд░-рдХрдореНрдкреЛрдЬрд┐рдЯ рдХрд┐рд▓ рдХрдВрдЯреЗрдирд░ рд╣реЛрдиреЗ рд╕реЗ рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдИ-рдкреА рдпрд╛ рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рд╡реЗрд░рд┐рдПрдмрд▓ рд╕реЗрдЯ рдирд╣реАрдВ рдерд╛ рдФрд░ рдЖрдкрдиреЗ "рдбреЙрдХрдЯрд░" рд╕рдмрдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ рдмрдирд╛рдпрд╛, рдпрд╣ рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрдЧ рд╣реИред
рдЧрдВрднреАрд░ рддреИрдирд╛рддреА рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХреЗ рд▓рд┐рдП рдмрд╕ рдмрд╣реБрдд рдЬрдЧрд╣ рд╣реИред рдмрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рди рднреВрд▓реЗрдВ, рдЪрд╛рд╣реЗ рд╡рд╣ -p, .env рдпрд╛ рдХрд╣реАрдВ рдФрд░ рд╣реЛ: рдЖрдк рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдСрдлрд╝рд▓рд╛рдЗрди рдЬрд╛рддреЗ рд╣реИрдВ рдЬрдм рддрдХ рдЖрдк рдиреЛрдЯрд┐рд╕ рдирд╣реАрдВ рдХрд░рддреЗ рдХрд┐ рдХреНрдпрд╛ рд╣реБрдЖред рдЗрд╕рд╕реЗ рднреА рдмрджрддрд░: рдЯрдХрд░рд╛рд╡ рд╕реЗрд╡рд╛ рдСрдлрд╝рд▓рд╛рдЗрди рд╣реЛ рдЬрд╛рддреА рд╣реИ, рди рдХрд┐ рдЖрдк рдЬрд┐рд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЖрдкрдХрд╛ рджрд┐рди рд╢реБрдн рд╣реЛрдЧрд╛ :(
@dnephin рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдЦрд┐рд░рдХрд╛рд░ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдпрд╣рд╛рдВ рдХреЗрд╡рд▓ рд╡рд╣реА рд╣реВрдВ, рдЬрд┐рд╕реЗ рдЗрд╕рд╕реЗ рдХреБрдЫ рдЪрд┐рдВрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреАред
рд╣рдорд╛рд░реЗ рд╕реЗрдЯрдЕрдк рдореЗрдВ, рд╣рдо рдХреЗрд╡рд▓ .env
рдФрд░ app.env
рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрд░рд┐рд╡реЗрд╢реЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╣реЛрдиреЗ рдФрд░ yml
рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдорд░реНрдЬ рдХрд░рдиреЗ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред
рдпрджрд┐ рдпрд╣ рд▓рд╛рдЧреВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдмреАрд╕реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдПред рдпрджрд┐ рдХрд┐рд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо docker-compose.yml
рдФрд░ .env
рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдмрд╛рдж рдореЗрдВ рдкреВрд░реНрд╡рддрд╛ рд▓реЗрдиреА рдЪрд╛рд╣рд┐рдПред рдЕрдиреНрдпрдерд╛ рдЬреЛ рд▓реЛрдЧ .env
рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдУрд╡рд░рд▓реИрдкрд┐рдВрдЧ рд╕реНрдЯреИрдХреНрд╕ рдХреЗ рд╕рд╛рде рд╕рд┐рдорд▓реАрдпрд░ рд╕рдорд╕реНрдпрд╛рдПрдВ рдорд┐рд▓рддреА рд╣реИрдВ, рдЬреИрд╕реЗ рд╡рд░реНрддрдорд╛рди рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдФрд░ рдлрд╝реЛрд▓реНрдбрд░ рдирд╛рдореЛрдВ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ред
@ schmunk42 рд╣рдо рдпрд╣ рдирд╣реАрдВ рдХрд╣ рд░рд╣реЗ рд╣реИрдВ, рдХрд┐ .env
рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдк .env
рдореЗрдВ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рд░рдЦрдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдмрд╕ рдЗрд╕реЗ docker-compose.yml
рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рди рдХрд░реЗрдВред
рд▓реЗрдХрд┐рди рдЕрдиреНрдп рд▓реЛрдЧ рдЗрд╕реЗ рдЕрдкрдиреЗ docker-compose.yml
рдореЗрдВ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣рд╛рдВ рдЪрд░реНрдЪрд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИред рд╡реЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрдЧрд░ рд╡реЗ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИред рдпрджрд┐ рджреЛрдиреЛрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рд╣реИрдВ, рддреЛ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕рдореНрдореЗрд▓рди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдорд╛рдорд▓рд╛ рдХреНрдпрд╛ рд╣реИред
рдХреГрдкрдпрд╛, рдирд╛рдо рд╡рд╛рд▓реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝реЗрдВред рдЙрджрд╛рд╣рд░рдг:
рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛:
docker-compose up --build --remove-orphans
docker-compose up --build --remove-orphans
рдЬрдм рдкрд░рд┐рдпреЛрдЬрдирд╛ рджреЛ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИ, рддреЛ рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ 137 (рдХреЛрдб 128 + рд╕реНрддрд░ 9) рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рд╕рд╛рде рдорд╛рд░ рджреЗрддреА рд╣реИред
рдЕрдм рдореБрдЭреЗ рджрд░реНрдЬрдиреЛрдВ рдбреЗрдб рдХрдВрдЯреЗрдирд░ рд░рдЦрдиреЗ рд╕реЗ рдЦреБрдж рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП docker system prune
рдЪрд▓рд╛рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рд╣рд░ рджрд┐рди рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
export COMPOSE_PROJECT_NAME=somethingnew
рдХреНрдпрд╛ рдХреЛрд░ рдЯреАрдо рдХрд╛ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рд╢рд╛рдпрдж рд╕рдордЭрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдХреНрдпрд╛ рд╣реИ? рдпрд╣ рдмрд╣реБрдд рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рд╣реИ, рдХреИрд╕реЗ рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИрдВ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрдЪреНрдЫреЗ рдХрд╛рд░рдг рдХреЗ рдЕрд╡рд░реБрджреНрдз рд╣реИрдВред
рдЕрдм рддрдХ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реНрдХ docker-compose.yml
рдкреЛрд░реНрдЯреЗрдмрд▓ рд░рдЦрдиреЗ рдХрд╛ рдерд╛ред рдЗрд╕рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐
networks
, port
, ...рдпрд╣ рд╕рднреА рдмрд╣реБрдд рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХрд┐ рдХреБрдЫ рд▓реЛрдЧ рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╣рд░ рдХрд┐рд╕реА рдХреЛ рдЙрдирдХреА рд░рд╛рдп рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП!
@mikehaertl рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд▓рдЧрд╛рддрд╛рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рд╣реИрдВред рдмрд╕ .env
рдлрд╝рд╛рдЗрд▓ рд░рдЦреЛ рдФрд░ рд╡рд╣рд╛рдБ COMPOSE_PROJECT_NAME
рдЪрд░ рд╕реЗрдЯ рдХрд░реЗрдВред рдореБрдЭреЗ рдЕрдм рдХрдВрдкреЛрдЬ рдлрд╛рдЗрд▓ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдирд╛рдо рдХрд╛ рдХреЛрдИ рдлрд╛рдпрджрд╛ рдирдЬрд░ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИред
@fesor I рдЖрдо рддреМрд░ рдкрд░ рди рд╣реА .env
рдлрд╝рд╛рдЗрд▓ рд╕рдВрд╕реНрдХрд░рдг-рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рд╣реЛрддреА рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдореЗрдВ рдорд╢реАрди / рдкрд░реНрдпрд╛рд╡рд░рдг-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╣реЛрддреА рд╣реИрдВ - рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореИрдВ docker-compose.yml
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреЛ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрдмрд▓ рд╣реЛрддреЗ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдБ ред
@fesor : рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ @thasmo рдЗрд╕ рдкрд░ рд╕рд╣реА рд╣реИред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо compose.yml
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реЛрдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдпрджрд┐ рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ, рддреЛ рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
@fesor рдореБрдЭреЗ рдЦреЗрдж рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рддрд░реНрдХ рд╣реИред рдЕрд╕рд▓реА рд╕рд╡рд╛рд▓ рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдо .env рдпрд╛ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрд╣ рджреВрд╕рд░рд╛ рддрд░реАрдХрд╛ рд╣реИ: рдЗрд╕реЗ рдЙрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд░рдЦрд╛ рдЧрдпрд╛, рдЬрд╣рд╛рдВ рдпрд╣ рд╣реИ?
рд▓рдЧрднрдЧ рд╕рднреА рд╡рд┐рдХрд▓реНрдк рдЬреЛ рдЖрдк рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ docker
рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХреЗрд╡рд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдХреБрдЫ рд░рд╣рд╕реНрдпрдордп рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдХреНрдпрд╛ рдпрд╣ рддрд░реНрдХреЛрдВ рдХреЗ рдмреАрдЪ рд░рдВрдЧрднреЗрдж рдХрд╛ рд░реВрдк рд╣реИ? : PI рдЙрди рд╕рднреА рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдЕрдзрд┐рдХрд╛рд░ рдХрд╛ рджрд╛рд╡рд╛ рдХрд░рддрд╛ рд╣реИ! рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рджреЗрдВ рдФрд░ рдЙрди рдкрд░ рдХреГрддреНрд░рд┐рдо рдмрд╛рдзрд╛рдПрдВ рди рдбрд╛рд▓реЗрдВред
рдФрд░ рдлрд┐рд░ рд╕реЗ: рдХреЛрдИ рднреА рдЖрдкрд╕реЗ рдкреБрд░рд╛рдиреЗ рд╡рд┐рдХрд▓реНрдк рдХреЛ рдирд╣реАрдВ рдЫреАрди рд░рд╣рд╛ рд╣реИ - рд╣рдо рдХреЗрд╡рд▓ рдЕрдВрддрддрдГ рдЗрд╕ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рдХрд▓реНрдк рдХреЛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╡рд╣ рдХреЗрд╡рд▓ рдЙрдЪрд┐рдд рд╣реИред
@dnephin : рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдЖрдк рдФрд░ рдмрд╛рдХреА рд╕рднреА рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ cr7pt0gr4ph7 рдХреЗ рд╢реЛрдзрди рдореЗрдВ рдмрддрд╛рдП рдЧрдП рд╕рдорд╛рдзрд╛рди рд╕реЗ рдЦреБрд╢ рд╣реИрдВред
рдХреНрдпрд╛ рдЖрдк рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛрдВрдЧреЗ рдЬреЛ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдпрд╛ рдХреНрдпрд╛ рдЖрдк рдЗрд╕реЗ рдмрдирд╛рдП рд░рдЦрдиреЗ рд╡рд╛рд▓реЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдХреЛ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ?
@ cr7pt0gr4ph7
@dnephin @fesor * compose.yml рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рдПрдХ рдПрдХреАрдХреГрдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реНрдХреАрдорд╛ рдХреА рд╕реБрд╡рд┐рдзрд╛ рджреЗрддрд╛ рд╣реИ
рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдХреНрдпреЛрдВ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдХреЛрдИ рднреА рднрд╛рдЧ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЧреБрдг рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рд╕рдВрдШрд░реНрд╖ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ docker-compose.yml
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд░рдЦрдиреЗ рдХреЗ рдЦрд┐рд▓рд╛рдл рдПрдХ рддрд░реНрдХ рд╣реИред рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдЕрдХреНрд╕рд░ рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЕрдХреНрд╕рд░ рд╕рд╣реА рд╣реЛрддрд╛ рд╣реИред
рдЬрдм рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рд╣реА рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдкрд╛рд╕ рдЗрд╕реЗ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИ ( -p
, рдпрд╛ COMPOSE_PROJECT_NAME
), рдЬреЛ рдпрд╛ рддреЛ рдЙрдкрдирд╛рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ .env
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдбрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред
рдореИрдВ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЦрд┐рд▓рд╛рдл рдирд╣реАрдВ рд╣реВрдБ рдЬреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдЧрд╛, рдореИрдВ рд╕рд┐рд░реНрдл рдпрд╣ рд╕рдордЭрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдХреБрдЫ рдХреЗ рд▓рд┐рдП рдЗрддрдиреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХреНрдпреЛрдВ рд╣реИред рдпрджрд┐ рдРрд╕рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рдПрдХ рдЕрд▓рдЧ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд┐рд╕реЗ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП,
рдореИрдВ рдЪрд╛рд╣рддрд╛ рдерд╛ рдХрд┐ 1 рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ 4 рдХрдореНрдкреЛрдЬрд╝ рдлрд╛рдЗрд▓реНрд╕ рд╣реЛрдВред рдпрд╣рд╛рдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╛рдо рдЧрд▓рдд рд╣реИред рдПрдХрдорд╛рддреНрд░ рд╡рд┐рдХрд▓реНрдк рдореЗрд░реЗ рдкрд╛рд╕ рд╣реИ .env рдЬреЛ рдХреЗрд╡рд▓ 1 рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ 1 рдХрдВрдкреЛрдЬ рдлрд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
_ рддрдм рдореИрдВрдиреЗ COMPOSE_PROJECT_NAME рдФрд░ -p: _ рдХреЛ рдирд┐рдпрдордмрджреНрдз рдХрд┐рдпрд╛
COMPOSE_PROJECT_NAME рдФрд░ -p рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдирд╣реАрдВ рдмрдЪрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рд╕реЗрдЯ рдХрд░рдирд╛ рдпрд╛рдж рд░рдЦрдирд╛ рд╣реИред рдпрд╛ рдПрдХ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдПрдВ рдФрд░ рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рд╕реАрдзреЗ рдбреЙрдХ рдХрдВрдкреЛрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВред рдЬрдм рд╡реНрдпрдХреНрддрд┐ A рдЗрд╕ рддрдВрддреНрд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╡реНрдпрдХреНрддрд┐ B рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╡рд┐рдлрд▓рддрд╛ рд╣реИред
(рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕реЗ рдКрдкрд░ рд╡рд┐рд╕реНрддреГрдд рдХрд░ рджрд┐рдпрд╛ рд╣реИ)
рдореБрдЭреЗ рдФрд░ рдореЗрд░реА рдЯреАрдо рдХреЗ рд▓рд┐рдП @dnephin, рдЖрд╡реЗрджрди рддрд░реНрдХ рдЖрдо рддреМрд░ рдкрд░ рдПрдХ htdocs рдореЗрдВ рдлрд╝реЛрд▓реНрдбрд░ рд╣рдорд╛рд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣рд┐рдд рд╣реИред рдпрд╣ рд╣рдореЗрдВ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЕрдиреНрдп рд╕рдВрдмрдВрдзрд┐рдд рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ / рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рджреВрд░рджрд░рд╛рдЬ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдХ рджреЗрд╡ рдХреЗ рд░реВрдк рдореЗрдВред рдЕрдЧрд░ рдореБрдЭреЗ рдЙрдирдХреЗ рдлрд╝реЛрд▓реНрдбрд░ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдЧреНрд░рд╣рдг рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИ, рддреЛ рдЙрдирдХреЗ рд▓рд┐рдП рдбреЙрдХрдЯрд░ рдХреЛ рдЕрдкрдирд╛рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдЖрд╕рд╛рди рд╣реИред рдореИрдВрдиреЗ рдЕрддреАрдд рдореЗрдВ рдпрд╣ рдХрд╣рд╛ рд╣реИ, .env рдореЗрд░реЗ рд▓рд┐рдП рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рд░реЗрдкреЛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рд╕рднреА рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВред
рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдХреНрдпреЛрдВ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдХреЛрдИ рднреА рднрд╛рдЧ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рд╣реБрдЖ, рдХрд┐ рдореИрдВрдиреЗ рдПрдХ рдореЗрдЬрдмрд╛рди рдкрд░ рдПрдХ 'рдбреЙрдХ-рдХрдВрдкреЛрдЬрд╝ рдбрд╛рдЙрди' рдХрд┐рдпрд╛ рдерд╛ - рдФрд░ рдПрдХ рдЕрд▓рдЧ рдХрдВрдЯреЗрдирд░ рдиреАрдЪреЗ рдЪрд▓рд╛ рдЧрдпрд╛ рдерд╛ рдЬрд┐рд╕реЗ рдореИрдВ рдЪрд╛рд╣рддрд╛ рдерд╛! рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХрд┐ рдореБрдЭреЗ рдпрд╛рдж рдирд╣реАрдВ рдерд╛, рдХрд┐ .env
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдерд╛ред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЧреБрдг рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рд╕рдВрдШрд░реНрд╖ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ docker-compose.yml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХреЗ рдЦрд┐рд▓рд╛рдл рдПрдХ рддрд░реНрдХ рд╣реИред рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдЕрдХреНрд╕рд░ рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЕрдХреНрд╕рд░ рд╕рд╣реА рд╣реЛрддрд╛ рд╣реИред
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рдЪ myapp/app/docker-compose.yml
рдЬреИрд╕реА рд╣реИред рддреЛ рдореЗрд░реЗ рд╕рднреА рдРрдк рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдирд╛рдо app
рд╢реЗрдпрд░ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реЛрд╕реНрдЯ рдкрд░ 1 рд╕реЗ рдЕрдзрд┐рдХ рдХрдВрдЯреЗрдирд░ рд╣реИрдВред
рдЬрдм рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рд╣реА рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдкрд╛рд╕ рдЗрд╕реЗ (-p, рдпрд╛ COMPOSE_PROJECT_NAME) рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдпрд╛ рддреЛ рдЙрдкрдирд╛рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ .env рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдбрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╕рдЪ рдореЗрдВ, рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрдиреЗ рд▓рдЧрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдпрд╣рд╛рдБ рдПрдХ рдХрд╛рдлреНрдХрд╛ рдЙрдкрдиреНрдпрд╛рд╕ рдореЗрдВ рд╣реВрдБред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдореВрд▓ рд░реВрдк рд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдЖрджреЗрд╢ рдкрдВрдХреНрддрд┐ рд╡рд┐рдХрд▓реНрдк рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ docker
рдПрдХ рдореЗрдВ docker-compose.yml
- рдпрд╣ рдПрдХ рдмрдбрд╝рд╛ рдЕрдкрд╡рд╛рдж рдХреЛ рдЫреЛрдбрд╝рдХрд░?
рд╣рдореЗрдВ рдмрд╛рд░-рдмрд╛рд░ рдкреВрдЫрдиреЗ рдФрд░ рд╣рдорд╛рд░реЗ рдЬрд╡рд╛рдмреЛрдВ рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдХреЛрдИ рдЖрдЦрд┐рд░ рдкреНрд░рддрд┐рд░реЛрдз рдХрд╛ рдФрдЪрд┐рддреНрдп рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдФрд░ рдирд╣реАрдВ: "... рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ" рдПрдХ рд╡реИрдз рддрд░реНрдХ рдирд╣реАрдВ рд╣реИ!
@dnephin рдореЗрд░реЗ рдкрд╛рд╕ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЧрд┐рдЯ docker
рдирд╛рдордХ рдПрдХ рд╕рдмрдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдбрд╛рд▓ рджреЗрддрд╛ рд╣реВрдВ (рдмрд┐рд▓реНрдб рд╕рдВрджрд░реНрдн рд╕рд┐рд░реНрдл ..
рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ , рд╕рднреА рд╕реБрдВрджрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ)ред
рдПрдХ рд╣реА рд╕рд░реНрд╡рд░ рдкрд░ рдХрдИ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд░реЗрдкреЛ рдореЗрдВ docker/.env.dist
рдФрд░ cp docker/.env.dist docker/.env
рдмрд╛рдж git clone
ред рдЕрдиреНрдпрдерд╛, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рд╕рд┐рд░реНрдл docker
, рдЬреЛ рдореБрдЭреЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдЪрд╛рд╣рд┐рдПред рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ .env
рдореЗрдВ рдкрд╛рд╕рд╡рд░реНрдб рдЖрджрд┐ рд╣реЛрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП .env.dist
рдирдХрд▓ рдХрд░рдирд╛ рд╡реИрд╕реЗ рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ .env
рдореМрдЬреВрдж рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ COMPOSE_PROJECT_NAME
рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред docker-compose.yml
ред
рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рдмрдВрдж рдХрд░рдиреЗ рдореЗрдВ рдЧрдбрд╝рдмрдбрд╝рд┐рдпрд╛рдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдпрджрд┐ рдЙрд╕реА COMPOSE_PROJECT_NAME
рдХрд╛ рдЙрдкрдпреЛрдЧ docker-compose.yml
рдЕрдВрджрд░ рджреЛ рдмрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдП, рд▓реЗрдХрд┐рди рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реЛ рд░рд╣рд╛ рд╣реИ рдЕрдЧрд░ рдореИрдВ .env.dist
рдХреЛ рдХреЙрдкреА рдХрд░рдирд╛ рднреВрд▓ .env
рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдПрдХ рд╣реА рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реВрдВред рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рдЖрджрд░реНрд╢ рд╣реЛрдЧрд╛ рдпрджрд┐ рдореИрдВ default_compose_project_name
docker-compose.yml
рдореЗрдВ default_compose_project_name
рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХреВрдВ рдФрд░ рдлрд┐рд░ .env
рдореЗрдВ рдорд╛рди рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░ рджреВрдВ, рдорд╛рди рд▓реЗрдВ рдХрд┐ рдореИрдВ рдХрд┐рд╕реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рд╕реНрдЯреЗрдЬрд┐рдВрдЧ рдХреЙрдкреА рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ ред рдпрд╣ 100% рдИрд╕рд╛ рдкреВрд░реНрд╡ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ред
рдореИрдВрдиреЗ рдЕрддреАрдд рдореЗрдВ рдпрд╣ рдХрд╣рд╛ рд╣реИ, .env рдореЗрд░реЗ рд▓рд┐рдП рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рд░реЗрдкреЛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рд╕рднреА рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВред
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рдХрд╛ рдореВрд▓ рдХрд╛рд░рдг рдпрд╣ рд╣реЛ, рдореИрдВрдиреЗ рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдкрд╣рд▓реЗ docker-compose
"рдЕрдкрд╣реГрдд" рдХрд┐рдпрд╛ рдерд╛ рдФрд░ рд╣рдореЗрдВ рдЕрдкрдирд╛ рд╕рд╛рдорд╛рди app.env
рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рд╢рд╛рдпрдж docker-compose.env
рд╕рд╣реА рд╡рд┐рдХрд▓реНрдк рд╣реЛрддрд╛ред
рдПрдлрдбрдмреНрд▓реНрдпреВрдЖрдИрдбрдмреНрд▓реНрдпреВ: рд╣рдо рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдХреЗрд╡рд▓ .env
рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрджрд▓ рд░рд╣реЗ рд╣реИрдВ, yml
рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЬрд░реВрд░рдд рдкрдбрд╝рдиреЗ рдкрд░ docker-compose.override.yml
рд╕рд╛рде рдорд┐рд▓рд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдПрдХ рд╕рдорд╛рдзрд╛рди рдпрд╣ рднреА рд╣реИ рдХрд┐ рдЖрдкрдХреА yml рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдПрдХ рддрд░рд╣ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рддрд╛рдХрд┐ рд╡реЗ .env
рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрд┐рдирд╛ рд╢реБрд░реВ рди рд╣реЛрдВ, рдЙрджрд╛ред рдПрдХ рдЪрд░ image: $IMAGE
ред
рдпрд╣ рдореЗрд░реЗ 4 docker рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╣реИ- @ schmunk42 рдХреЗ рдКрдкрд░ 1 рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЗрд╕ рдореЗрдВ рдлрд╛рдЗрд▓ рддреИрдпрд╛рд░ рдХрд░реЗрдВ? рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ?
@RobIsHere рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ -f
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд╣реИ рдирд╛?
рдЗрд╕ рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ @dnephin рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ:
рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдХреНрдпреЛрдВ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред
рдпрд╣ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдбреЙрдХрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдирд╛рдо рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ docker-compose
рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рд╕реЗрдЯ рдХрд░рдирд╛ рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ docker-compose ps
рдХреЛ рдЙрди рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдирд╣реАрдВ рдорд┐рд▓реЗрдЧрд╛ рдЬреЛ рдЖрдкрдиреЗ docker-compose --project-name <project_name> up -d <container_name>
рд╕рд╛рде рдмрдирд╛рдП рд╣реИрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬрдм рдЖрдк рд╡реИрд╢реНрд╡рд┐рдХ рдХрдорд╛рдВрдб docker ps
рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рдЙрди рдХрдВрдЯреЗрдирд░реЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдЧрд╛ рдЬреЛ рдЪрд▓ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рдХрд╣рд╛рдБ рд╕реЗ рдЖрдП рдереЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдПрдХ рдмрд╛рд░ рдореЗрдВ рдХрдИ рдХреЛрдб рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рд╕рднреА MySQL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рдкрд╛рд╕ mysql
рдХрдВрдЯреЗрдирд░ рд╣реИ, рддреЛ docker ps
рдХрдВрдЯреЗрдирд░ рдХреА рдЕрд╕реНрдкрд╖реНрдЯ рд╕реВрдЪреА рджрд┐рдЦрд╛рдПрдВрдЧреЗред рддреЛ, рдПрдХ рд╣реА рдорд╢реАрди рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдХрдИ рдбреЙрдХрд░реЛрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдХреЛрдИ рднреА рднрд╛рдЧ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдбреЙрдХрд░ рдХрдВрдкреЛрдЬрд╝ рдкреНрд░реЛрдЬреЗрдХреНрдЯ_ рд╕реЗ рдЬреБрдбрд╝реЗ рдЕрдиреНрдп рд╡реЗрд░рд┐рдПрдмрд▓ _every рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рдЕрд▓рдЧ рдЬрдЧрд╣ рдкрд░ рд░рдЦрдиреЗ рд╕реЗ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЧреБрдг рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдЕрдиреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рд╕рдВрдШрд░реНрд╖ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ docker-compose.yml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХреЗ рдЦрд┐рд▓рд╛рдл рдПрдХ рддрд░реНрдХ рд╣реИред
рдореЗрд░реЗ рдкрд╣рд▓реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдореЗрдВ рдмрддрд╛рдП рдЧрдП рдХрд╛рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣ _ "рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХрд╛ рдХреЗрд╡рд▓ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЧреБрдг" _ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдЖрд╕рд╛рдиреА рд╕реЗ рдЙрдкрдпреЛрдЧ рдФрд░ рд╕рдордЭ рдХреЗ рд▓рд┐рдП рд╣реИред
рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдЕрдХреНрд╕рд░ рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЕрдХреНрд╕рд░ рд╕рд╣реА рд╣реЛрддрд╛ рд╣реИред
рдиреЙрди-рдбрд┐рдлреЙрд▓реНрдЯ рдорд╛рдорд▓реЗ рдореЗрдВ рдЬрд╣рд╛рдВ рдПрдХ рдбреЗрд╡рд▓рдкрд░ docker
рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ _all_ рд╕рдВрдмрдВрдзрд┐рдд рдбреЙрдХрд░ рдлрд╛рдЗрд▓реЗрдВ рдбрд╛рд▓рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдбреЙрдХрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрдЪрд┐рдд рддрд░реАрдХрд╛ рд╣реИ, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рд╕реЗрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдЬрд╛рджреВ рдкрд░рд╕реНрдкрд░ рд╡рд┐рд░реЛрдзреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдкреИрджрд╛ рдХрд░реЗрдЧрд╛ред рддреЛ рд╡рд╣реА рд╕рдВрдШрд░реНрд╖ рдЬреЛ рдЖрдк рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣реЛрддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рдиреЗрдо рдЯрдХрд░рд╛рд╡ рдХреЗ рдЦрд┐рд▓рд╛рдл рдбреЗрд╡рд▓рдкрд░ рдХреА рд░рдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЬрдм рд╡реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╡реИрд╕реЗ рднреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рд╕реЗрдЯ рдХрд░ рд░рд╣реЗ рд╣реЛрдВред
рдЬрдм рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рд╣реА рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рдкрд╛рд╕ рдЗрд╕реЗ (-p, рдпрд╛ COMPOSE_PROJECT_NAME) рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдпрд╛ рддреЛ рдЙрдкрдирд╛рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ .env рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдбрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рдЬрдЯрд┐рд▓рддрд╛ рдХрд╛ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрддрд░ рд╣реИ рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред рдЬрдм рдЖрдк рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд╕рд╛рде рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдмреАрдЪ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рд╛рдЭрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдХреЗрд╡рд▓ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдЖрд╣реНрд╡рд╛рди рдХреЗ рд╕рд╛рде рдХрдорд╛рдВрдб-рд▓рд╛рдЗрди рдкрд░рдо рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдердХрд╛рдК рдФрд░ рддреНрд░реБрдЯрд┐-рдкреНрд░рд╡рдг рд╣реИред рдФрд░ .env
рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рд╕рд╛рдЭрд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ _user-specific_ рдЪрд░ рд╕рдореНтАНрдорд┐рд▓рд┐рдд рд╣реИрдВ, рди рдХрд┐ _project-specific_ рд╡рд╛рд▓реЗред рдЗрд╕рд▓рд┐рдП, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдореМрдЬреВрджрд╛ рддрд░реАрдХреЗ рдЕрдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВред
рдореИрдВ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЦрд┐рд▓рд╛рдл рдирд╣реАрдВ рд╣реВрдБ рдЬреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдЧрд╛, рдореИрдВ рд╕рд┐рд░реНрдл рдпрд╣ рд╕рдордЭрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдХреБрдЫ рдХреЗ рд▓рд┐рдП рдЗрддрдиреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХреНрдпреЛрдВ рд╣реИред рдпрджрд┐ рдРрд╕рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдореИрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рдПрдХ рдЕрд▓рдЧ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд┐рд╕реЗ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП,
рд╕рднреА рдЪрд░ рдЬреЛ docker-compose
рдХреЗ рдХрд╛рдордХрд╛рдЬ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЙрд╕реА рд╕реНрдерд╛рди рдкрд░ docker-compose.yml
рдлрд╝рд╛рдЗрд▓ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд╡рд░реНрддрдорд╛рди рддрд░реАрдХреЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЬрдЯрд┐рд▓рддрд╛ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддреЗ рд╣реИрдВред
рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рд╕рджрд╕реНрдпрддрд╛ рд▓рд┐рдП рдЧрдП рд╕рднреА рд▓реЛрдЧ рдЗрди рдмрд┐рдВрджреБрдУрдВ рд╕реЗ рд╕рд╣рдордд рд╣реИрдВред
docker-config.yml
рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдХрд┐рд╕реА рднреА рдореМрдЬреВрджрд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рднреА рд╕рдВрдШрд░реНрд╖ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдЗрд╕реЗ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИред
@ schmunk42 рдкрд┐рдЫрд▓реА рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ рдЬрд╛рдБрдЪ рдХреА рдереА,
рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдЬрдм рдбреЙрдХрд░ рдХреЛ рдЕрдкрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рддреЛ рдпрд╣ рдПрдХ рдЕрд╕рд▓реА рд╕реНрдЯрдмрд▓рд┐рдВрдЧ рдмреНрд▓реЙрдХ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ @RobIsHere рджрд┐рдЦрд╛рддрд╛ рд╣реИред рдореЗрд░реА рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ myapp/htdocs/docker-compose.yml
рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╣реИрдВред рдбреЙрдХрдЯрд░ рдХреЛ рдЕрдкрдирд╛рдиреЗ рдХреЗ рд╢реБрд░реБрдЖрддреА рджрд┐рдиреЛрдВ рдореЗрдВ рдореИрдВрдиреЗ рдЧрд▓рддреА рд╕реЗ рдЕрдиреНрдп рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдирд╖реНрдЯ рдХрд░ рджрд┐рдпрд╛ рдерд╛, рдЬрд┐рдирдХрд╛ рдореИрдВ рдЗрд░рд╛рджрд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рдерд╛ред рдпрд╣ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рдЕрдЧрд░ рдбреЙрдХрдЯрд░ рдирд╛рдо рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдлрд╝реЛрд▓реНрдбрд░ рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реИред
рдореЗрд░реЗ рдкрд╛рд╕ рдХрдИ рдЕрдиреНрдп рджреВрд░рд╕реНрде рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╣реИрдВ рдЬреЛ рдбреЙрдХрд░ рдХреЛ рдЕрдкрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдПрдХ рдЯреАрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдЗрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд╣рдореЗрд╢рд╛ / рдХреЗрд╡рд▓ docker-compose up
рдХрд╛ рдирд┐рд░реНрджреЗрд╢ рджреЗрдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИред рдбреЙрдХрдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрдо рд╢реБрд░реБрдЖрддреА рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдмреЗрд╣рддрд░ рд╣реИред рдПрдХ рдмрд╛рд░ рдЬрдм рд╡реЗ рдЗрд╕рдХреЗ рдкреАрдЫреЗ рдХреА рд╢рдХреНрддрд┐ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рд╡реЗ рдЕрдкрдиреЗ рджрдо рдкрд░ рдЙрдард╛ рд▓реЗрдВрдЧреЗред
рдЗрд╕рд▓рд┐рдП рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рддрдм рдкреНрд░рддреАрдд рд╣реЛрддреЗ рд╣реИрдВ рдЬрдм рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рддрд░реАрдХреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рддреНрд░реБрдЯрд┐ рд╣реЛ рд╕рдХрддреА рд╣реИ рдФрд░ рд╢реБрд░реБрдЖрддреА рдЕрдкрдирд╛рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред
рдРрд╕реЗ рдорд╛рдорд▓реЗ рдЬрд╣рд╛рдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИрдВ:
-f
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)-f
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ)ред@dnephin рдореИрдВ рджрддреНрддрдХ рдЧреНрд░рд╣рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдо рд╕рдВрднрд╡ рдареЛрдХрд░ред
@dnephin рдЖрдкрдХреЛ рдЗрд╕ рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдпреЗ рдЪрд┐рдВрддрд╛рдПрдБ рднреА рдереАрдВ:
рдореВрд▓ рд░реВрдк рд╕реЗ рдореИрдВ рдбреЙрдХрдЯрд░-рдХрдореНрдкреЛрдЬ рдореЗрдВ рдирд╛рдо рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реЛрдЪрдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ рдлрд╛рдЗрд▓ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рдЖрдпрд╛ред рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдПрдХ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рдЖрдкрдХреЛ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦрдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рджреЗрддреА рд╣реИ (рдЙрди рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд╣рд╛рдВ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рдЕрд▓рдЧ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рд░рдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛ)ред
рдЗрд╕ рддрд░рд╣ рдХреА рдкреВрд░реНрд╡рд╡рд░реНрддреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рдирд╛рдо рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдСрд░реНрдбрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рд╕реЗ рдЙрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛ рдЬрд╛рдПрдЧрд╛ (рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдЫреЛрдЯреА рд╣реЛ рдЧрдИ рд╣реИ)
docker-compose.yml
COMPOSE_PROJECT_NAME
рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░--project-name
рдХрдорд╛рдВрдб-рд▓рд╛рдЗрди рд╡рд┐рдХрд▓реНрдкрдкрд┐рдЫрд▓реА рдмрд╛рд░ рдЬрдм рдореИрдВрдиреЗ рдЬрд╛рдБрдЪ рдХреА рдереА, рддреЛ рд╣рдореЗрдВ рд╣рдорд╛рд░реЗ .env рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рдЪреБрдирдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рдереАред
@fiveanddone AFAIK рдЖрдк рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рднреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЖрдЧреЗ
Phd5 рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдордиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рдРрдк) рдХреЛ src/
рдФрд░ .env
рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рдЬреЛ рдХреЗрд╡рд▓ "рдирд┐рдпрдВрддреНрд░рдг-рдкрд░реНрдпрд╛рд╡рд░рдг-рдлрд╝рд╛рдЗрд▓" рд╣реИ, рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдпрд╣ рд╕рдордЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред
рдореБрдЭреЗ рдпрд╣ рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ рдФрд░ рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрдкрдиреЗ рджрдо рдкрд░ рдирд╣реАрдВ рдмрджрд▓рд╛ рд╣реИред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдмрд╣реБрдд рд╕рд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ docker-compose.yml
рдХреЗ рд╕рдорд╛рди рд╕реНрддрд░ рдкрд░ рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ .env
рд╣реЛрдиреЗ рд╕реЗ рдпрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХрд╖реНрдЯрдкреНрд░рдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ a) рдЖрдкрдХреЛ рдЕрдкрдиреЗ "рдХрдВрдЯреНрд░реЛрд▓-рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ" рдореЗрдВ рд╡реИрд░рд┐рдПрдмрд▓ рдорд┐рд▓рддреЗ рд╣реИрдВ, рдЬреЛ рд╡рд╣рд╛рдВ рдирд╣реАрдВ рд╣реИрдВ рдФрд░ b) рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЗрди рдЪрд░реЛрдВ рдХреЛ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЕрдЧрд░ рдЖрдкрдХреЛ рд╡рд╣рд╛рдВ рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдЧ) рдЖрдк рдЕрдкрдиреЗ app.env
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдУрд╡рд░рд░рд╛рдЗрдб / рдмрджрд▓ рдирд╣реАрдВ рд╕рдХрддреЗ рд╣реИрдВред
@dnephin рдкрд╕рдВрджреАрджрд╛ env рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ docker-compose.env
рдкрд░рд┐рдЪрдп рджреЗрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ рдФрд░ .env
рдЙрдкрдпреЛрдЧ рдПрдХ рдХрдордмреИрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВред рдЖрдкрдиреЗ fig.yml
рдПрдХ рдмрд╛рд░ рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рд╣реА рдХрд┐рдпрд╛ред
рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИред .env
рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдордХрд░рдг рдореБрдЭреЗ рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджреЗ рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреА рдЬрдбрд╝ рдпрд╣ рд╣реИ:
docker-compose up
рдХрд╛ рдореВрд▓ рдбрд┐рдЬрд╝рд╛рдЗрди рдПрдХ рдПрдХрд▓ (рд╕рдВрдХреНрд╖рд┐рдкреНрдд) рдХрдорд╛рдВрдб рд╣реЛрдирд╛ рдерд╛ рдЬрд┐рд╕реЗ рдЖрдк рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рдпрд╣реА рдЙрдореНрдореАрдж рдХреА рдЬрд╛рддреА рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреБрдЫ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ ( рдЗрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ ) рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╕рдорд╕реНрдпрд╛ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рддрд░реАрдХреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЛрдИ рднреА рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдЬреЛ рд╕рднреА рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реЛред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд░реАрдпрддрд╛ рдХрд╛ рдХреНрд░рдо (рдЙрдЪреНрдЪрддрдо рд╕реЗ рдирд┐рдореНрдирддрдо рддрдХ) рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рдХрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
--project-name
(рд╣рдореЗрд╢рд╛ рдУрд╡рд░рд░рд╛рдЗрдб)COMPOSE_PROJECT_NAME
рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░(3) .docker/project-name
рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдУрдкреА рдореЗрдВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╣реИ)
(4) docker-compose.yml
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рдпрд╣ рджреБрд░реНрднрд╛рдЧреНрдпрдкреВрд░реНрдг рд╣реИ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╣реЛрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
3 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ @dnephin , рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯ рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ env vars рдХреЗ рд▓рд┐рдП рд╣реИ, рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреА рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ
рд╣рдореНрдо ... рдФрд░ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рд╣рдо рд╕рдорд╕реНрдпрд╛ рдХреЛ рдереЛрдбрд╝рд╛ рд╕рд╛рдорд╛рдиреНрдп рдХрд░рддреЗ рд╣реИрдВ рдФрд░ default_environment
рдЕрдиреБрднрд╛рдЧ docker-compose.yml
? рдЗрд╕ рддрд░рд╣ рд╣рдо рдпрд╛рдореНрд▓ рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдмрд┐рдирд╛ COMPOSE_PROJECT_NAME
рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЕрдиреНрдп рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЪрд░ рдХреЛ рднреА рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ, рдЬреЛ рдкреВрд░реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрд╣реАрдВ рдФрд░ рдореМрдЬреВрдж рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдпрд╣ рдЙрди рдорд╛рдорд▓реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░реЗрдЧрд╛ рдЬрдм .env.dist
рдХреЛ .env
рдХреЙрдкреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдФрд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреВрд▓рдиреЗ рдХреА рд▓рд╛рдЧрдд рдХрдо рд╣реЛрдЧреАред
рдЙрдкрдпреЛрдЧ рдЙрджрд╛рд╣рд░рдг:
# ~/projects/sketches/sketch-42/docker/docker-compose.yml
version: "2"
default_environment:
- SUBDOMAIN=sketch-42
- ROOT_HOST=example.com
- COMPOSE_PROJECT_NAME=sketch-42
services:
web:
build:
context: ../
dockerfile: docker/Dockerfile
environment:
- VIRTUAL_HOST=${SUBDOMAIN}.${ROOT_HOST},www.${SUBDOMAIN}.${ROOT_HOST}
- VIRTUAL_PORT=80
- VIRTUAL_NETWORK=proxy
- LETSENCRYPT_HOST=${SUBDOMAIN}.${ROOT_HOST},www.${SUBDOMAIN}.${ROOT_HOST}
- LETSENCRYPT_EMAIL=admin@${ROOT_HOST}
restart: always
networks:
- proxy
networks:
proxy:
external:
name: proxy
рдпрд╣ рдпрдо рдмрд╣реБрдд рд╣рдж рддрдХ рдореЗрд░реЗ рд╕рдорд╛рди рд╣реИ - рдпрд╣ рдПрдХ рд╡рд┐рдЬрд╝ рд╕реНрдХреЗрдЪ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╣рдореЗрд╢рд╛ web
рдирд╛рдордХ рдПрдХ рд╕реЗрд╡рд╛ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдорд┐рдиреА рдПрдкреАрдЖрдИ рд╕рд░реНрд╡рд░ рдФрд░ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдХрдВрдЯреЗрдирд░ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ https://github.com/jwilder/nginx-proxy рд╕рдм рдХреБрдЫ рдХреЗ рд╕рд╛рдордиреЗ рдмреИрдарддрд╛ рд╣реИ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреЛрд░реНрдЯреНрд╕ 80 рдФрд░ 443 рдХреЛ рд╕реБрдирддрд╛ рд╣реИред
рдлрд┐рд▓рд╣рд╛рд▓, рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдореИрдВ рдХрд┐рд╕реА рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рдкрд░ рд╣реВрдВ рдпрд╛ рдХрд┐рд╕реА рджреВрд░рд╕реНрде рд╕рд░реНрд╡рд░ рдкрд░, рдореБрдЭреЗ .env
рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛рдж рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдпрд╣ рднреА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ _all_ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╡рд╣рд╛рдВ рд╕реЗрдЯ рд╣реИрдВред рдпрджрд┐, рдорд╛рди рд▓реЗрдВ, рдореИрдВ SUBDOMAIN
рднреВрд▓ рдЧрдпрд╛ рд╣реВрдВ, рддреЛ рдХрдВрдЯреЗрдирд░ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗрдм рд╕рд░реНрд╡рд░ рдЯреВрдЯрд╛ рд░рд╣рддрд╛ рд╣реИред
рдореЗрд░реЗ рдирд┐рдкрдЯрд╛рди рдореЗрдВ default_environment
рдЕрдиреБрднрд╛рдЧ рдХреЗ рд╕рд╛рде, рдореИрдВ рдЕрдкрдиреЗ рд╕рднреА рдЙрддреНрдкрд╛рджрди рдЪрд░ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд░рдЦ рд╕рдХрддрд╛ рдерд╛ рдФрд░ рдореБрдЭреЗ рд╕рд░реНрд╡рд░ рдкрд░ .env.dist
рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдирд╣реАрдВ рдмрдирд╛рдиреА рдкрдбрд╝реЗрдЧреАред рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рдкрд░, рдКрдкрд░ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдореИрдВ рд╕рд┐рд░реНрдл .env
рдореЗрдВ рдПрдХ рдПрдХрд▓ рдЪрд░ рдбрд╛рд▓реВрдБрдЧрд╛, рдЬреЛ ROOT_HOST=example.com.dev
(рдпрд╛ рд╢рд╛рдпрдж рдореИрдВ export ROOT_HOST=example.com.dev
bash рдкреНрд░реЛрдлрд╛рдЗрд▓ рдореЗрдВ рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдБ? )
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, default_environment
рдЕрдиреБрднрд╛рдЧ docker-compose.yml
рди рдХреЗрд╡рд▓ рдЙрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕ рдкрд░ рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрдЪреНрдЫреА рдЪрд╛рд▓ рдХреЛ рднреА рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ 100% BC рдФрд░ рд╕рдордЭрдиреЗ рдореЗрдВ рдЖрд╕рд╛рди рд╣реИ!
WDYT?
рдпрд╣ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ, рдпрд╣ рдХреБрдЫ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рдореЗрд░реЗ рдХрд╛рдо рдЖ рд╕рдХрддрд╛ рд╣реИред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдЙрдкрд░реЛрдХреНрдд (рдЧрд░реНрдо) рдЪрд░реНрдЪрд╛ рдХреЗ рдкреНрд░рдХрд╛рд╢ рдореЗрдВ, рдЖрдкрдХреА
рд╕рдорд╛рдзрд╛рди рдореЛрдЯреЗ рддреМрд░ рдкрд░ рдЗрд╕рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рддрд╛ рд╣реИ: тАЬрдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдирдИ рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП
yml, рдХреИрд╕реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдо рдПрдХ рдирдпрд╛ рдЦрдВрдб рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ? тАЭ :)
Tue рдкрд░, 28 рдлрд░рд╡рд░реА, 2017, 00:02 рдЕрд▓реЗрдХреНрдЬреЗрдВрдбрд░ рдХрдЪрдХреЗрд╡ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:
рд╣рдореНрдо ... рдФрд░ рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рд╣рдо рд╕рдорд╕реНрдпрд╛ рдХреЛ рдереЛрдбрд╝рд╛ рд╕рд╛рдорд╛рдиреНрдп рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдмрд╕ рдкрд░рд┐рдЪрдп рджреЗрддреЗ рд╣реИрдВ
default -env рдЕрдиреБрднрд╛рдЧ docker-compose.yml рдореЗрдВред рдЗрд╕ рддрд░рд╣ рд╣рдо рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ
COMPOSE_PROJECT_NAME yaml рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдлрд╝реАрд▓реНрдб рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдмрд┐рдирд╛, рд▓реЗрдХрд┐рди
рдЕрдиреНрдп рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЪрд░ рдХреЛ рднреА рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛, рдЬреЛ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ
рдкреВрд░реЗ рдлрд╛рдЗрд▓ рдореЗрдВ рдХрд╣реАрдВ рдФрд░ рдореМрдЬреВрдж рд╣реИред рдЗрд╕рд╕реЗ рдХреЗрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХрдо рд╣реЛ рдЬрд╛рдПрдЧреА
рдЬрдм .env.dist рдХреЛ .env рдФрд░ рднреВрд▓рдиреЗ рдХреА рд▓рд╛рдЧрдд рдХреА рдирдХрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ
рдРрд╕рд╛ рдХрдо рд╣реЛрдЧрд╛редрдЙрдкрдпреЛрдЧ рдЙрджрд╛рд╣рд░рдг:
~ / рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ / рдирдореВрдиреЗ / рд╕реНрдХреЗрдЪ-42 / рдбреЛрдХрд░ / рдбреЛрдХрд░-compose.yml
рд╕рдВрд╕реНрдХрд░рдг 2"
default_env:
SUBDOMAIN = рд╕реНрдХреЗрдЪ-42
ROOT_HOST = example.com
COMPOSE_PROJECT_NAME = рд╕реНрдХреЗрдЪ-42
рд╕реЗрд╡рд╛рдПрдВ:
рд╡реЗрдм:
рдирд┐рд░реНрдорд╛рдг:
рд╕рдВрджрд░реНрдн: ../
dockerfile: docker / Dockerfile
рд╡рд╛рддрд╛рд╡рд░рдг:
- VIRTUAL_HOST = $ {SUBDOMAIN}ред $ {ROOT_HOST}, wwwред $ {SUBDOMAIN}ред $ {ROOT_HOST
- VIRTUAL_PORT = 80
- VIRTUAL_NETWORK = рдкреНрд░реЙрдХреНрд╕реА
- LETSENCRYPT_HOST = $ {SUBDOMAIN}ред $ {ROOT_HOST}}, wwwред $ {SUBDOMAIN}ред $ {ROOT_HOST}
- LETSENCRYPT_EMAIL = рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди @ $ {ROOT_HOST}
рдкреБрдирд░рд╛рд░рдВрдн: рд╣рдореЗрд╢рд╛
рдиреЗрдЯрд╡рд░реНрдХ:
- рдкреНрд░реЙрдХреНрд╕реАрдиреЗрдЯрд╡рд░реНрдХ:
рдкреНрд░реЙрдХреНрд╕реА:
рдмрд╛рд╣рд░реА:
рдирд╛рдо: рдкреНрд░реЙрдХреНрд╕реАрдпрд╣ рдпрд╛рдореНрд▓ рдмрд╣реБрдд рд╣реА рд╕рдорд╛рди рд╣реИ рдЬреЛ рдореЗрд░реЗ рдкрд╛рд╕ рдмрд╣реБрдд рдмрд╛рд░ рд╣реИ - рдпрд╣ рдПрдХ рд╡рд┐рдЬрд╝ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ
рд╕реНрдХреЗрдЪ, рдЬрд┐рд╕рдореЗрдВ рд╣рдореЗрд╢рд╛ рдПрдХ рд╕реЗрд╡рд╛ рд╣реЛрддреА рд╣реИ рдЬрд┐рд╕реЗ рд╡реЗрдм рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдмреИрдХрдЕрдк рднреА рд▓рд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рдПрдХ рдорд┐рдиреА рдПрдкреАрдЖрдИ рд╕рд░реНрд╡рд░ рдФрд░ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рд╢рд╛рдпрдж рдПрдХ рдХрдВрдЯреЗрдирд░ рджреНрд╡рд╛рд░рд╛ред рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ
рд╡рд╣ https://github.com/jwilder/nginx-proxy рд╕рд╛рдордиреЗ рдмреИрдардХрд░ рд╕реБрдирддрд╛ рд╣реИ
рдЕрд╕рд▓реА рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЗ рд▓рд┐рдП 80 рдФрд░ 443редрдлрд┐рд▓рд╣рд╛рд▓, рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдореИрдВ рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рдкрд░ рд╣реВрдВ рдпрд╛ рд░рд┐рдореЛрдЯ рд╕рд░реНрд╡рд░ рдкрд░,
рдореБрдЭреЗ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛рдж рд░рдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред Iv рдФрд░ рдпрд╣ рднреА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╕рднреА
рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╡рд╣рд╛рдБ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЕрдЧрд░, рд╣рдо рдХрд╣рддреЗ рд╣реИрдВ, рдореИрдВ рднреВрд▓ рдЧрдпрд╛ рд╣реВрдБ
SUBDOMAIN, рдХрдВрдЯреЗрдирд░ рдкреНрд░рд╛рд░рдВрдн рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗрдм рд╕рд░реНрд╡рд░ рдЯреВрдЯрд╛ рд░рд╣рддрд╛ рд╣реИредрдореЗрд░реЗ рдирд┐рдкрдЯрд╛рди рдореЗрдВ default_env рдЕрдиреБрднрд╛рдЧ рдХреЗ рд╕рд╛рде, рдореИрдВ рдЕрдкрдирд╛ рд╕рд╛рд░рд╛ рдЙрддреНрдкрд╛рджрди рдХрд░ рд╕рдХрддрд╛ рдерд╛
рдЬрдЧрд╣ рдореЗрдВ рдЪрд░ рдФрд░ рдореБрдЭреЗ рд╕рд░реНрд╡рд░ рдкрд░ .env.dist рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдирд╣реАрдВ рдмрдирд╛рдиреА рд╣реЛрдЧреАред
рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рдкрд░ рдореИрдВ рд╕рд┐рд░реНрдл рдПрдХ рдЪрд░ .env рдореЗрдВ рдбрд╛рд▓реВрдВрдЧрд╛, рдЬреЛ рд╣реЛрдЧрд╛
ROOT_HOST = example.com.dev (рдпрд╛ рд╢рд╛рдпрдж рдореИрдВ рдирд┐рд░реНрдпрд╛рдд рднреА рдХрд░ рд╕рдХрддрд╛ рдерд╛
ROOT_HOST = example.com.dev рдЗрди рдмреИрд╢ рдкреНрд░реЛрдлрд╛рдЗрд▓?)рд╕рдВрдХреНрд╖реЗрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, docker-compose.yml рдореЗрдВ default_env рд╕реЗрдХреНрд╢рди рд╣реА рдирд╣реАрдВ
рдЕрдм рд╣рдо рдЬрд┐рд╕ рд╕рдорд╕реНрдпрд╛ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЙрд╕реЗ рд╣рд▓ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдФрд░ рдЕрдЪреНрдЫреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рднреА рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ!WDYT?
-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рдЗрд╕ рдзрд╛рдЧреЗ рдХреА рд╕рджрд╕реНрдпрддрд╛ рджреА рдЧрдИ рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/docker/compose/issues/745#issuecomment-282885661 , рдпрд╛ рдореНрдпреВрдЯ рдХрд░реЗрдВ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAQJJZumr10j3i17gPxrSyA-n8CwvsXTks5rg1X_gaJpZM4DLBNs
ред
Docker-compose.yml рдХреЗ рдЕрдВрджрд░ "project_name" рд╣реЛрдиреЗ рд╕реЗ рд╣рдорд╛рд░реА рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЬрд╛рдПрдЧреАред
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рд╡рд╛рд▓реЗ рдПрдХ рдорд╛рдирдХреАрдХреГрдд рдкреЗрдбрд╝ рдХреЗ рд╕рд╛рде рдПрдХ рдореЛрдиреЛрд▓рд┐рде рд░реЗрдкреЛ рд╣реИ, рдЬреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрдо рдпрд╛ рдЬреНрдпрд╛рджрд╛ рджрд┐рдЦрддрд╛ рд╣реИ:
projectA/infrastructure/docker-compose.yml
projectB/infrastructure/docker-compose.yml
...
рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рд╕рд┐рд░реНрдл "рдкреНрд░реЛрдЬреЗрдХреНрдЯрд╛ / рдкреНрд░реЛрдЬреЗрдХреНрдЯрдмреА" рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдбреЙрдХ-рдХрдВрдкреЛрдЬ.рдЖрдИрдПрдордПрд▓ рдлрд╛рдЗрд▓ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ CLI рд╣реИ рдЬреЛ рд░реВрдЯ рд╕реЗ рдкреВрдЫрддреА рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдмреВрдЯ рдХрд░рдирд╛ рд╣реИ, рдФрд░ рдЪреВрдВрдХрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рд╕реАрдзреЗ docker_compose.yml рдХреЗ рдкреИрд░реЗрдВрдЯ рдлреЛрд▓реНрдбрд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рд╣рдо рд╕рдВрдШрд░реНрд╖реЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдЕрдкрдиреЗ рдЖрдк рдХреЛ docker-compose рдХрдорд╛рдВрдб рдирд╣реАрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ (рд╣рдорд╛рд░реЗ CLI рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЕрдВрджрд░ рд▓рд┐рдкрдЯреЗ рд╣реБрдП), рд╣рдо рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрдорд╛рдВрдб рдореЗрдВ "-p" arg рдирд╣реАрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣рдореЗрд╢рд╛ CLI рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЕрдВрджрд░ рдПрдХ project_name рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рд╣рдо рд╣рдореЗрд╢рд╛ рдПрдХ "-p" рдХрд░рддреЗ рд╣реИрдВ, рдЬрдм рдирд┐рд░рдкреЗрдХреНрд╖_рдкрде рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ рдХрд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИред
рдпрд╣рд╛рдБ рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдиреЗ рдХрд╣рд╛ "рдпрд╣ рдЬреНрдпрд╛рджрд╛рддрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдкрд░ рдЬреНрдпрд╛рджрд╛рддрд░ рд╕рдордп рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, docker-compose.yml рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдЯ рдлреЛрд▓реНрдбрд░ рдХреЗ рдЕрдВрджрд░ рд╕реНрдерд┐рдд рд╣реИ, рдФрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд╛рдо рд╣реИ, рд╕рдВрдШрд░реНрд╖реЛрдВ рд╕реЗ рдмрдЪрдирд╛", рдореИрдВ рд╕рд┐рд░реНрдл рдЗрд╕ рдкрд░ рд╕рд╣рдордд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рдпрд╣ред рдпрд╣ рд╣рдореЗрд╢рд╛ рд░реВрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдЕрдВрджрд░ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред
рдПрдХ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП docker-compose.yml рдлрд╝рд╛рдЗрд▓ (рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛) рдореЗрдВ "container_name" рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдХреНрдпреЛрдВ рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди docker-compose.yml рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП "project_name" рдХреЛ рдЙрд╕реА рд╕реНрддрд░ рдкрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ "рд╕рдВрд╕реНрдХрд░рдг" / "рд╕реЗрд╡рд╛рдПрдВ" / "рдиреЗрдЯрд╡рд░реНрдХ" / "рд╡реЙрд▓реНрдпреВрдо"?
рдпрд╣ scale
рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рд╛рде рдЖрд╡рд╢реНрдпрдХ рд▓рдЧрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдХрдВрдЯреЗрдирд░ рдХреЗ рдирд╛рдо рд╕реНрдкрд╖реНрдЯ рд╣реЛрдВред (рдЙрджрд╛ <project_name>_<container_name>_1
)ред
рдпрд╣ рдбреАрдПрдирдПрд╕ рдХреЗ рд▓рд┐рдП рдХрдВрдЯреЗрдирд░ рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдорджрдж рдХрд░реЗрдЧрд╛ред
рдпрд╣рд╛рдБ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдирд┐рд░рд╛рд╢ рд╣реЛрдХрд░ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ред 3 рд╕рд╛рд▓ +
рд╣рд╛рдБ, рдпрд╣ рдбреЙрдХрд░ рдХреА рд╕рдмрд╕реЗ рдмреЗрд╡рдХреВрдл рдкреНрд░рдпреЛрдЬреНрдп рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдФрд░ рдпрд╣ рдЕрдирдлрд╝рд┐рд▓реНрдЯрд░реНрдб рд╣реЛ рдЬрд╛рддреА рд╣реИред
рд╣рдордиреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд╕рд╛рде рдмрд╣рд╕ рдХрд░рдиреЗ рдореЗрдВ рдЗрддрдирд╛ рд╕рдордп рдмрд┐рддрд╛рдпрд╛, рдФрд░ рднрд▓реЗ рд╣реА рд╕рд░реНрд╡рд╕рдореНрдорддрд┐ рдереА, рдлрд┐рд░ рднреА рдХреЛрдИ рдкреНрд░рд╡реЗрд╢ рдирд╣реАрдВ рдерд╛ рдХрд┐ рдпрд╣ рдПрдХ рдмреБрд░рд╛ рдбрд┐рдЬрд╛рдЗрди рд╣реИред
рдЗрд╕рдХреА рдирд┐рд░рд╛рд╢рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдорд░реНрдерди рд╣реИ, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рдпрд╣ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд╕рд╛рде рдлрд┐рдЯ рдирд╣реАрдВ рд╣реИ - рд╣рдо рдЗрд╕ рд╡рд░реНрд╖ рдХреЗ рдмрд╛рдж рд╡рд░реНрд╖ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рдирд╛ рдЫреЛрдбрд╝ рд░рд╣реЗ рд╣реИрдВред
рдЕрдЧрд░ рд╣рдо cli рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ docker- рд░рдЪрдирд╛ рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ?
рдирд╛рдордХрд░рдг рдпреЛрдЬрдирд╛ рдХреА рдмрджреМрд▓рдд рдореЗрд░реЗ рдкрд╛рд╕ рдХреБрдЫ рдХрдВрдЯреЗрдирд░ рдереЗред
рдЖрдЬ рдореИрдВ рдПрдХ рдФрд░ docker-compose
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рд╛рде рдЕрднреА рддрдХ рдПрдХ рдФрд░ .env
рдлрд╝рд╛рдЗрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд░рд╣рд╛ рдерд╛ рддрд╛рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдирд╛рдо рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреА рдЬрд╛рдБрдЪ рдХрд░реВрдБ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреБрдЫ рд╕рд╛рд▓ рдерд╛ рдЬрдм рд╕реЗ рдореИрдВрдиреЗ рдЖрдЦрд┐рд░реА рдЬрд╛рдБрдЪ рдХреА рдереАред рд▓реЗрдХрд┐рди рдпрд╣рд╛рдБ рддрдХ рдХреБрдЫ рднреА рдирдпрд╛ рдирд╣реАрдВ рд╣реИ рдЬрд╣рд╛рдБ рддрдХ рдореИрдВ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реВрдБ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ .env
рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдореЗрд░реЗ рд▓рд┐рдП, yaml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдордХрд░рдг рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд╕рдмрд╕реЗ рдмреБрдирд┐рдпрд╛рджреА рдЪреАрдЬ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╣реИ рдЬреЛ рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрднреА рддрдХ рд╣рд▓ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдмрд╛рд╣реНрдп рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдпрд╛ рдЪрд░ рджреНрд╡рд╛рд░рд╛) рд▓реЗрдХрд┐рди docker-compose.yml
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЗрд╕реЗ рд╕реЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг - рд╡рд╣ рдлрд╝рд╛рдЗрд▓ рдЬреЛ рдмрд┐рд▓реНрдХреБрд▓ рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреА рд╣реИ - рдмрд╕ рдирд╛рд╕рдордЭ рд╣реИред рдРрд╕реЗ рдмрд╣реБрдд рд╕реЗ рдорд╛рдорд▓реЗ рд╣реИрдВ рдЬрд╣рд╛рдБ рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╛рдо, рд╢реЗрд▓ рдкрд░реНрдпрд╛рд╡рд░рдг рдпрд╛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ .env
рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрдВрдХреНрддрд┐ рдХреА рдореМрдЬреВрджрдЧреА рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ docker-compose.yml
рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдвреЗрд░ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред .env
рдлрд╝рд╛рдЗрд▓ред рдореИрдВ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рдХрд┐ рдореЗрд░реЗ CI рдЬреЙрдмреНрд╕ рдореЗрдВ рд▓рдЧрд╛рддрд╛рд░ "рдлрд┐рдЧрд░ рдЖрдЙрдЯ" рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рдХреНрдпрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП - рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ docker-compose.yml
рдореЗрдВ рдмрддрд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдореЗрд░реА рдЬреЙрдмреНрд╕ рдЗрд╕реЗ рдирд┐рдХрд╛рд▓ рд╕рдХреЗрдВ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рд╛рде рд╕рдордп рдФрд░ рд╕рдордп рдлрд┐рд░ рд╕реЗ рд╣реЛрдЧрд╛ред рдбреЙрдХрд░ рдПрдХ рдЕрджреНрднреБрдд рддрдХрдиреАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдкрд╛рд╕ рдХреЛрдИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХрд╛ рдЕрдиреБрднрд╡ рд╣реИ, рдпрд╛ рдХреНрдпрд╛ рд╡реЗ рд╕рднреА рд╕рд┐рд░реНрдл 18 рд╡рд░реНрд╖реАрдп рд╣реИрдХрд░ рд╣реИрдВ рдЬреЛ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЬрд╛рдирддреЗ рд╣реИрдВ? рд▓реЛрдЧ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдЗрд╕ рд╕рд╛рдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рди рдХрд┐ рдЕрдкрдирд╛ рд╕рдордп рд▓рдЧрд╛рддрд╛рд░ рдХрд╛рдо рдХреЗ рд▓рд┐рдП рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВред
рдореЗрд░рд╛ рдЕрдиреБрдорд╛рди рд╣реИ рдХрд┐ рдЯреАрдо рдЗрд╕ рдореБрджреНрджреЗ рдХреА рдЕрдирджреЗрдЦреА рдХрд░ рд░рд╣реА рд╣реИред рдбреЙрдХ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд╕рдордЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдЗрд╕реЗ рд╣рд▓реНрдХрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджрд░реНрдж рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд╕реНрдкрд╖реНрдЯ рддрд░реНрдХ рдХреБрдЫ рдЕрдЬреАрдм рддрд░реНрдХ рдХреЗ рд╕рд╛рде рдЧрд┐рдиреЗ рдЬрд╛рддреЗ рд╣реИрдВ рдЬреЛ рдмрд╣реБрдд рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВред рдЕрд╕рд▓реА рджреБрдирд┐рдпрд╛ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рд░рд╛рдп рд╣реИ рдХрд┐ рд╕рднреА рдПрдХ рд╣реА рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдпрд╣рд╛рдБ рдЖрддреЗ рд╣реИрдВред рдпрд╣ рд╢рд░реНрдордирд╛рдХ рд╣реИред
рдореИрдВ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рдХрд┐ рдореЗрд░реЗ CI рдЬреЙрдмреНрд╕ рдореЗрдВ рд▓рдЧрд╛рддрд╛рд░ "рдлрд┐рдЧрд░ рдЖрдЙрдЯ" рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рдХреНрдпрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП - рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ docker-compose.yml рдореЗрдВ рдмрддрд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдореЗрд░реА рдЬреЙрдмреНрд╕ рдЗрд╕реЗ рдирд┐рдХрд╛рд▓ рд╕рдХреЗрдВ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗрдВред
рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рд╕реНрдЯреИрдХ рдХреЛ "build1234" рдирд╛рдо рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ / рдпрд╛ рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реНрдерд╛рди рдкрд░ рд╕реНрдЯреИрдХ рдХреЗ рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ, рдЬреИрд╕реЗ docker exec build1234_myservice script.sh
?
рдХрд┐рд╕реА рднреА рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдлрд┐рдЯ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╣рд╛ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП ...
рд╣рдорд╛рд░реЗ рд╕реЗрдЯрдЕрдк рдореЗрдВ рд╣рдо рдХреЗрд╡рд▓ (рдХреНрд▓реЛрди) рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХрд░рддреЗ рд╕рдордп .env
рдлрд╛рдЗрд▓реЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВред рдпрджрд┐ рд╣рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдпрд╛ рдПрдХ рдЧрддрд┐рд╢реАрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╣рдо .env
docker-compose.yml
рд╕реЗ рдЪрд░ рдХрд╛ рдкреБрдирдГ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рдлрд╛рдпрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдХреЛрдИ рд╡реИрд░рд┐рдПрдмрд▓ рдЧреБрдо рд╣реИ рддреЛ рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬ рдЖрдкрдХреЛ рдЪреЗрддрд╛рд╡рдиреА рджреЗрддрд╛ рд╣реИ (рдпрд╛ рдлреЗрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ)ред
рдореИрдВ рдЖрдкрдХреЛ рдпрд╣ рдирд╣реАрдВ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдХрд┐ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╡рд░реНрдХрдлрд╝реНрд▓реЛрдЬрд╝ рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рднреА рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рдирд╛рд░рд╛рдЬрд╝ рдерд╛ред
рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рдХреБрдЫ рдРрд╕рд╛ рд╣реИ, рд╣рдо docker-compose.yml
рдХреЛ рд╕реНрд░реЛрдд-рдХреЛрдб рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреА рддрд░рд╣ рдорд╛рдирддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ .env
рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВ рдпрд╣ рднреА рдорд╛рдирддрд╛ рд╣реВрдВ рдХрд┐ docker-compose.yml
рдореЗрдВ рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ, рдЬреИрд╕реЗ network
рдЬреЛ рдХрд┐ рдЕрддреНрдпрдзрд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИрдВред рд╡рд╛рдкрд╕ рдКрдкрд░ рдЖ рд░рд╣рд╛ рд╣реИ; рдореИрдВ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП .env
рдЪрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реВрдВрдЧрд╛ред ЁЯдР
рдореИрдВ рдЖрдкрдХреЛ рдпрд╣ рдирд╣реАрдВ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдХрд┐ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╡рд░реНрдХрдлрд╝реНрд▓реЛрдЬрд╝ рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рднреА рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рдирд╛рд░рд╛рдЬрд╝ рдерд╛ред
рдореИрдВрдиреЗ рдЕрдкрдиреА рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдФрд░ рд╕реЛрдЪрд╛ред рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореИрдВ -p <project_name>
рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде рдРрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ, рдЬрд┐рд╕рд╕реЗ рд╕реАрдЖрдИ рдореЗрдВ рд╕реНрдЯреИрдХ рдХреЗ рдЕрдиреВрдареЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рдирд╛ рдФрд░ рд╕рдорд╡рд░реНрддреА рд░реВрдк рд╕реЗ рдХрдИ рдвреЗрд░ рдЪрд▓рд╛рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд╝рд░реВрд░реАред рдХреЗрд╡рд▓ рдЙрд╕ CI рдЪреЗрди рдХреЛ рдЙрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рд╡рд╣ рдСрдЯреЛ-рдЬреЗрдирд░реЗрдЯ рдпрд╛ рд░реИрдВрдбрдо (рд▓реЗрдХрд┐рди рдЬреНрдЮрд╛рдд) рд╣реЛ рд╕рдХреЗ, рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВред рдореБрдЭреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд╛рдо рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рднреА рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ .env
рдЯреНрд░рд┐рдХ рдЧреИрд░-рд╕реНрдкрд╖реНрдЯ рд▓рдЧрддреА рд╣реИред
рд╣рд╛рд▓рд╛рдБрдХрд┐ рдРрд╕реА рдЕрдиреНрдп рд╕реНрдерд┐рддрд┐рдпрд╛рдБ рд╣реИрдВ рдЬрд╣рд╛рдБ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ _default name_ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЙрдкрдпреЛрдЧреА рд╣реИред рддреЛ рдпрд╣ рдореВрд▓ рдирд╛рдо рдХреЛ рдЗрд╕ рдирд╛рдо рдХреЗ рд╕реНрд░реЛрдд рдХреЗ рд░реВрдк рдореЗрдВ рдХреНрдпреЛрдВ рд▓реЗрддрд╛ рд╣реИ? рдпрд╣, рдореЗрд░реЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ рдХрдордЬреЛрд░ рдмрд┐рдВрджреБ рд╣реИред рдЗрд╕реЗ рдХрд╣реАрдВ рд╕реЗ рднреА рд▓рд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдПрдХ рдореВрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдЪреБрдирд╛рд╡ рдмрд╕ рдордирдорд╛рдирд╛ рдФрд░ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдХрд╛рд░рдг рдХреЗ рд▓рдЧрддрд╛ рд╣реИ (рдЬреИрд╕реЗ рд▓рдЧрднрдЧ рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ, docker-compose.yml
рдлрд╝рд╛рдЗрд▓ рдПрдХ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ docker
рдХрд╣рд▓рд╛рддреА рд╣реИ)ред рддреЛ рдЕрдЧрд░ рдпрд╣ рдордирдорд╛рдирд╛ рд╣реЛрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдХрд╣реАрдВ рдФрд░ рд╕реНрдкрд╖реНрдЯ рдХрд░реЗрдВ, рдЬреИрд╕реЗ рдХрд┐ yml рдлрд╝рд╛рдЗрд▓, рдмрд╛рд╣рд░реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛-рдкреНрд░рднрд╛рд╡ рдмрдирд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдореВрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╛рдореЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдХреЗ, рдЬреЛ рдХрдИ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреА рд╕рд╛рдордЧреНрд░реА рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рд╡рд░реНрд╖реЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░) рдкреБрди: рдкреНрд░рдпреЛрдЬреНрдп рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдЕрдиреБрднрд╡)ред
рдЗрд╕реЗ рдХрд╣реАрдВ рд╕реЗ рднреА рд▓рд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдПрдХ рдореВрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдЪреБрдирд╛рд╡ рд╕рд┐рд░реНрдл рдордирдорд╛рдирд╛ рдФрд░ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдХрд╛рд░рдг рдХреЗ рд▓рдЧрддрд╛ рд╣реИ (рдЬреИрд╕реЗ рд▓рдЧрднрдЧ рд╕рднреА рдореЗрд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ, docker-compose.yml рдлрд╝рд╛рдЗрд▓ рдПрдХ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдбреВрдХрд░ рдХрд╣рд▓рд╛рддреА рд╣реИ)ред
рдпрджрд┐ рдЖрдкрдХреЛ рд░реИрдВрдбрдо рдЖрдИрдбреА рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рдФрд░ рдЪрд╛рд╣рд┐рдП, рддреЛ рдореБрдЭреЗ рдореВрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдХреЛрдИ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рджрд┐рдЦрддрд╛ рд╣реИред рдХрдо рд╕реЗ рдХрдо рдЖрдкрдХреЗ рдкрд╛рд╕ рдпрд╣ рдЬрд╛рдирдиреЗ рдХрд╛ рдореМрдХрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рд╕реНрдЯреИрдХ "рдХрд╣рд╛рдБ рд╕реЗ рдЖрдпрд╛ рд╣реИ"ред
рд▓реЗрдХрд┐рди рдореИрдВ рдЖрдкрдХреЗ рд╕рд╛рде рднреА рд╕рд╣рдордд рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рд╣рдордиреЗ tests
рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЯреЗрд╕реНрдЯ-рд╕реНрдЯреИрдХ рдХрд┐рдП рд╣реИрдВ - рдЬреЛ .env
рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрд┐рдирд╛ - рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рднреА рдмреБрд░реА рддрд░рд╣ рд╕реЗ рдЯрдХрд░рд╛рдПрдВрдЧреЗред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореИрдВрдиреЗ docker-compose.env
рдирд╛рдордХ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд┐рдпрд╛, рдЬреЛ рдЖрдИрдПрдордПрдЪрдУ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд╣реЛрдЧрд╛ред
рдХреНрдпрд╛ рдЖрдк рд▓реЛрдЧ рдпрд╛ рддреЛ рд╕рд┐рд░реНрдл рдЗрд╕ рдмрдЧ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрдВрдЧреЗ, рдЬрд┐рд╕рдХреА рдЖрдк рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддреЗ рдпрд╛ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рд╕рд░рд▓ рдЪреАрдЬрд╝ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬреЛ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдпрд╣ 2.86 рд╕рд╛рд▓ рдмрд╛рдж рд╣реИред рдмрд░реНрддрди рд╕реЗ рдЙрддрд░ рдЬрд╛рдУред рдЕрдкрдиреЗ рдлреИрд╕рд▓реЗ рдЦреБрдж рдХрд░реЗрдВ рдпрд╛ рдЕрдкрдиреА рдЧрд▓рддрд┐рдпреЛрдВ рдХреЛ рдареАрдХ рдХрд░реЗрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЖрдк рдЗрд╕реЗ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЬреНрдпрд╛рджрд╛ рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдХреБрдЫ рди рдХрд░реЗрдВред
@ рдорддрдорди рдФрд░ рдЙрдирдХреА рдЯрд┐рдкреНрдкрдгреА рджреЗрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рд▓реЛрдЧ рдЕрдВрдЧреВрдард╛-рдЕрдк:
рдХреНрдпрд╛ рдЖрдк рд▓реЛрдЧ рдпрд╛ рддреЛ рд╕рд┐рд░реНрдл рдЗрд╕ рдмрдЧ рдХреЛ рдмрдВрдж рдХрд░ рджреЗрдВрдЧреЗ, рдЬрд┐рд╕рдХреА рдЖрдк рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддреЗ рдпрд╛ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рд╕рд░рд▓ рдЪреАрдЬрд╝ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬреЛ рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдпрд╣ 2.86 рд╕рд╛рд▓ рдмрд╛рдж рд╣реИред рдмрд░реНрддрди рд╕реЗ рдЙрддрд░ рдЬрд╛рдУред рдЕрдкрдиреЗ рдлреИрд╕рд▓реЗ рдЦреБрдж рдХрд░реЗрдВ рдпрд╛ рдЕрдкрдиреА рдЧрд▓рддрд┐рдпреЛрдВ рдХреЛ рдареАрдХ рдХрд░реЗрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЖрдк рдЗрд╕реЗ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЬреНрдпрд╛рджрд╛ рд╕реЗ рдЬреНрдпрд╛рджрд╛ рдХреБрдЫ рди рдХрд░реЗрдВред
"рдЖрдк рд▓реЛрдЧ" рдХреМрди рд╣реИрдВ? рдЦреБрд▓реЗ рд╕реНрд░реЛрдд рдореЗрдВ, рд╕рдореБрджрд╛рдп рдирд┐рд░реНрдгрдпреЛрдВ рдХрд╛ рдорд╛рд▓рд┐рдХ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рджреВрд╕рд░реЛрдВ рдХреА рдЧрд▓рддрд┐рдпреЛрдВ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИред рдбреЙрдХрдЯрд░ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╣реИред рд░реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред
рдореИрдВ рднреА рджреБрдЦреА рд╣реВрдВ рдХрд┐ рдпрд╣ рдЕрднреА рддрдХ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред рд▓реЗрдХрд┐рди, рдЦреБрд▓реЗ рд╕реНрд░реЛрдд рдореЗрдВ рд╣рдо рдпрд╛ рддреЛ рдпреЛрдЧрджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛ рдзреИрд░реНрдпрдкреВрд░реНрд╡рдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВред
$ cd foo
$ docker-compose up
$ docker-compose -p bar up
... some time later wanting to take down bar forgetting '-p'
$ docker-compose down
Stopping foo_nginx_1 ... done
Stopping foo_mysql_1 ... done
Removing foo_nginx_1 ... done
Removing foo_mysql_1 ... done
$ FU@$_!@*#%$(!_*@
-bash: FU@!@*#%$: command not found
рдЕрд╕рдлрд▓ред
$ cd foo
$ source foo.env
$ docker-compose up
$ source bar.env
$ docker-compose up
... some time later wanting to take down foo forgetting to `source .foo.env`
$ docker-compose down
Stopping bar_nginx_1 ... done
Stopping bar_mysql_1 ... done
Removing bar_nginx_1 ... done
Removing bar_mysql_1 ... done
$ FU@$_!@*#%$(!_*@
-bash: FU@!@*#%$: command not found
рдЕрд╕рдлрд▓ред
$ cd foo
$ docker-compose -f foo.yml up
$ docker-compose -f bar.yml up
... some time later
$ docker-compose down
ERROR:
Can't find a suitable configuration file in this directory or any
parent. Are you in the right directory?
Supported filenames: docker-compose.yml, docker-compose.yaml
рд╡рд╛рд╣!
$ COMPOSE_PROJECT_NAME=foo docker-compose up -d
$ COMPOSE_PROJECT_NAME=bar docker-compose up -d
... some time later
$ docker-compose down -v
Removing network project_default
WARNING: Network project_default not found.
рдУ /
"рдЖрдк рд▓реЛрдЧ" рдХреМрди рд╣реИрдВ?
@benjaminwood рдпрд╣ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдиреБрд░рдХреНрд╖рдХ рд╣реИред рдЖрдкрдХрд╛ рддрд░реНрдХ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдЕрдЧрд░ рд╣рдо рдПрдХ рдЬрдЯрд┐рд▓ рдмрджрд▓рд╛рд╡ рдХреА рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдХрд┐рд╕реА рдХреЛ рднреА рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рдорд┐рд▓реЗрдЧрд╛ред
рдпрд╣ рдХрд╛рдлреА рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реИ: рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╢рд╛рдпрдж рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ рдЬреЛ рдХреЛрдбрдмреЗрд╕ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ рдФрд░ рдмрд╛рд╣рд░ рд╕реЗ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХрдард┐рди рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдЗрд╕реЗ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдпрд╣ рд╣реИ рдХрд┐ рдЕрдиреБрдЪрд░ рдЗрд╕реЗ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдФрд░ рдпрд╣реА рд╡рд╣ рд╣реИ рдЬреЛ рдпрд╣рд╛рдВ рдХреЗ рд╕рдорд░реНрдердХреЛрдВ рдХреЛ рдмреЗрд╣рдж рдкрд░реЗрд╢рд╛рди рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдЕрднреА рдЦреБрд▓рд╛ рд╣реИ рдФрд░ рдпрд╣рд╛рдВ рдХрд╛ рджреНрд░рд╡реНрдпрдорд╛рди: +1: рд╣реИред
рдпрд╣рд╛рдВ рдмрд╛рд░-рдмрд╛рд░ рдкреЛрд╕реНрдЯ рдХрд┐рдП рдЧрдП рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рд╕рднреА рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬреНрдЮрд╛рдд рд╣реИрдВ рд▓реЗрдХрд┐рди рд╕рднреА рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рдФрд░ рдореБрдЭреЗ рдЕрднреА рднреА рдПрдХ рдЬрд╡рд╛рдм рдирд╣реАрдВ рдорд┐рд▓рд╛ рдХрд┐ рд╕рднреА рдЪреАрдЬреЛрдВ рдореЗрдВ рд╕реЗ рд▓рдЧрднрдЧ docker-compose.yml
рдХреА рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдореЗрдВ рд▓рдЧрднрдЧ рдХреЗрд╡рд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдХреНрдпреЛрдВ рдмрдЪрд╛ рдерд╛ред рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рд▓рдЧрддрд╛ рд╣реИ, рдпрд╣ рд╡рд╣рд╛рдБ рдирд╣реАрдВ рд╣реИ рддреЛ рдмрд╕ рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рди рдХрд░реЗрдВ! рд▓реЗрдХрд┐рди рджреВрд╕рд░реЛрдВ рдкрд░ рдЕрдкрдиреА рд░рд╛рдп рдХрд╛ рд╡рд┐рд░реЛрдз рди рдХрд░реЗрдВ рдЕрдЧрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдорд╛рдВрдЧ рдЗрддрдиреА рд╕реНрдкрд╖реНрдЯ рд╣реИред
рдЖрдЗрдП рдЗрд╕реЗ рдЕрдиреНрдп рдмрд┐рдВрджреБ рд╕реЗ рджреЗрдЦреЗрдВред
рдпрджрд┐ рдореИрдВ docker-compose.yml
рдлрд╝рд╛рдЗрд▓ рд╡рд╛рд▓реЗ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдпрд╣ рдХреИрд╕реЗ рдкрддрд╛ рдЪрд▓реЗрдЧрд╛ рдХрд┐ рдореЗрд░реЗ рд╕реНрдЯреИрдХ рдХрд╛ рдХреМрди рд╕рд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рд╣реИ?
рдпрд╣ рдПрдХ рдХрд╛рдлреА рдмреБрдирд┐рдпрд╛рджреА рд╕рд╡рд╛рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдХреЛрдИ рдЖрд╕рд╛рди рдЬрд╡рд╛рдм рдирд╣реАрдВ рд╣реИред
рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдпрд╣ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреНрд╡рд╛рд░рд╛ рдХреНрд░рдордмрджреНрдз рд╣реИ:
-p
COMPOSE_PROJECT_NAME
рдХрд╛ рдореВрд▓реНрдп.env
рдлрд╝рд╛рдЗрд▓ рд╕реЗ COMPOSE_PROJECT_NAME
рдХрд╛ рдореВрд▓реНрдпрд╢реИрддрд╛рди рдХрд╛ рд╡рдХреАрд▓ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕реЗрдЯрдЕрдк рдореЗрдВ 5 рд╡реЗрдВ рдХреЛ рдХреНрдпреЛрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдП?
рдЙрд╕ рдХреЗ рдирд┐рд░реНрдгрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж, рд╡рд░реНрддрдорд╛рди рдирд╛рдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ "рд╕реВрдЦрд╛-рдЪрд▓" рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рд╕реНрдЯреИрдХ рдирд╣реАрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рддреЛ рди рддреЛ docker-compose config
, рдФрд░ рди рд╣реА docker-compose ps
рд╣реИред
рд╢рд╛рдпрдж docker-compose create
рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЙрдкрд▓рдмреНрдз рд╡рд┐рдХрд▓реНрдк рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХрджрдо рд╕рд╣реА рд╣реИред
docker-compose config --project-name
рддрд░рд╣ рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореБрдЭреЗ рдЙрдкрд░реЛрдХреНрдд рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рдЬрд╛рдирдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рд╣реА рдХреНрд░рдо рдореЗрдВ рдЬрд╛рдВрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЕрдЧрд░ рдореИрдВ docker-compose.yml рдлрд╝рд╛рдЗрд▓ рд╡рд╛рд▓реЗ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ рдХреИрд╕реЗ рдкрддрд╛ рдЪрд▓реЗрдЧрд╛ рдХрд┐ рдореЗрд░реЗ рд╕реНрдЯреИрдХ рдореЗрдВ рдХрд┐рд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рд╣реИ?
рдЕрднреА рддрдХ рдлрд┐рд░ рд╕реЗ: рдпрджрд┐ рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ! рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рд╕рдорд╛рдзрд╛рди рд╕реЗ рдЦреБрд╢ рд╣реИрдВ - рдЖрдкрдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реИ !! рдЖрдкрдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдЖрдк рдмрд┐рд▓реНрдХреБрд▓ рднреА рднреНрд░рдорд┐рдд рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ!
рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЖрдк рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдХрд┐ рджреВрд╕рд░реЗ рдХреА рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рд╣реИрдВ? рд╣рдо рдХреЗрд╡рд▓ рдЗрддрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рд▓рд╛рдкрддрд╛ рдЯреБрдХрдбрд╝рд╛ рдЕрдВрдд рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред
рд╢реИрддрд╛рди рдХрд╛ рд╡рдХреАрд▓ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕реЗрдЯрдЕрдк рдореЗрдВ 5 рд╡реЗрдВ рдХреЛ рдХреНрдпреЛрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдП?
рдХреЗрд╡рд▓ рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдпрд╣ рднреНрд░рд╛рдордХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдкрд╣рд▓реА рдЬрдЧрд╣ рдореЗрдВ docker-compose.yml
рдерд╛ред рдЕрдиреНрдп рд╕рдм рдХреБрдЫ рдЕрдм рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реЛрдЧрд╛ред рд╣рдо рд╡рд░реАрдпрддрд╛ рдХреА рдПрдХ рд╕реВрдЪреА рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВред
рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореБрдЭреЗ рдЙрдкрд░реЛрдХреНрдд рд╕реНрдерд╛рдиреЛрдВ рдХреЛ рдЬрд╛рдирдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рд╣реА рдХреНрд░рдо рдореЗрдВ рдЬрд╛рдВрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЖрдк рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдбреЙрдХрдЯрд░ рдирд╛рдо рдХреНрдпреЛрдВ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдХреНрдпреЛрдВ рд╣реИ? рдФрд░ рдЕрдЧрд░ рдЖрдк рдЗрд╕реЗ рдЗрддрдирд╛ рднреНрд░рдорд┐рдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдЕрдкрдиреА рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдПрдХ рд╣реА рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ?
рдЕрднреА рддрдХ рдлрд┐рд░ рд╕реЗ: рдпрджрд┐ рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ! рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рд╕рдорд╛рдзрд╛рди рд╕реЗ рдЦреБрд╢ рд╣реИрдВ - рдЖрдкрдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реИ !! рдЖрдкрдХреЗ рд▓рд┐рдП рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдЖрдк рдмрд┐рд▓реНрдХреБрд▓ рднреА рднреНрд░рдорд┐рдд рдирд╣реАрдВ рд╣реЛрдВрдЧреЗ!
рдореЗрд░рд╛ рдкреНрд░рд╢реНрди рдПрдХ рдирдИ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдерд╛, рд▓реЗрдХрд┐рди рдПрдХ рдореМрдЬреВрджрд╛ рдПрдХ рдХреА рдХрдореА рдереАред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдПрдХ рдФрд░ рдХреЗрд╡рд▓ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рд╣реИ рдЬреЛ рдХрдВрдЯреЗрдирд░ рдХреЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕реЗрдЯ рдХреЛ рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП docker-compose
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдЗрд╕ рдереНрд░реЗрдб рдореЗрдВ рд▓реЛрдЧ рдЧрд▓рдд рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдорд╛рд░рдиреЗ рдХреА рд╢рд┐рдХрд╛рдпрдд рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рд╕реНрдЯреИрдХ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реИ ред
рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЖрдк рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдХрд┐ рджреВрд╕рд░реЗ рдХреА рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рд╣реИрдВ? рд╣рдо рдХреЗрд╡рд▓ рдЗрддрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рд▓рд╛рдкрддрд╛ рдЯреБрдХрдбрд╝рд╛ рдЕрдВрдд рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред
рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рддреЛ рд▓реЛрдЧ рдЧрд▓рдд рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдорд╛рд░рдиреЗ рдХреА рд╢рд┐рдХрд╛рдпрдд рдХрд░реЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕реНрдЯреИрдХ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ред
рдХреЗрд╡рд▓ рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдпрд╣ рднреНрд░рд╛рдордХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдкрд╣рд▓реЗ рд╕реНрдерд╛рди рдкрд░ docker-compose.yml рд╕реЗ рдмрдЪрд╛ рд╣реБрдЖ рдерд╛ред рдЕрдиреНрдп рд╕рдм рдХреБрдЫ рдЕрдм рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реЛрдЧрд╛ред рд╣рдо рд╡рд░реАрдпрддрд╛ рдХреА рдПрдХ рд╕реВрдЪреА рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдк рдЗрд╕реЗ рдмреАрд╕реА-рддрд░реАрдХреЗ рд╕реЗ рдирд╣реАрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдХрдо рдкреВрд░реНрд╡рддрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдЗрд╕реЗ рдмреЗрдХрд╛рд░ рдХрд░ рджреЗрдЧрд╛ред рдЗрд╕рд▓рд┐рдП рдореИрдВ рдкреВрдЫ рд░рд╣рд╛ рдерд╛ "рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рдирд╛рдо рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ"ред
рдЖрдк рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдбреЙрдХрдЯрд░ рдирд╛рдо рдХреНрдпреЛрдВ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рднреА рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдХреНрдпреЛрдВ рд╣реИ?
рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЖрдорддреМрд░ рдкрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА .env
рдореЗрдВ рдПрдХ рдХрд╕реНрдЯрдо рдореВрд▓реНрдп - рдпрд╣ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдЙрди рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рди рдкрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреА рдЬрд╛рддреА рд╣реИред
cd /some/path/test
docker-compose up -d
cd /a-completely-different-path
docker-compose -p test down -v --remove-orphans
рдпрд╣ рдЖрдкрдХреЗ рдкрд╣рд▓реЗ рд╕реНрдЯреИрдХ рдХреЛ рдорд╛рд░ рджреЗрдЧрд╛, yml
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреЗ рд╕рд╛рде рд╕рдорд╛рди рд╣реЛрдЧрд╛ред
рдФрд░ рдЕрдЧрд░ рдЖрдк рдЗрд╕реЗ рдЗрддрдирд╛ рднреНрд░рдорд┐рдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдЕрдкрдиреА рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдПрдХ рд╣реА рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ?
рдореИрдВ рдХрд░рддрд╛ рд╣реВрдВ, рдореИрдВ рдХреЗрд╡рд▓ рдбрд┐рдлрд╝реЙрд▓реНрдЯ docker-compose
рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ; рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рдордп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╛рдо рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдореБрдЭреЗ рдЗрд╕рдХрд╛ рдирд╛рдо рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдПрдХ рд╣реА рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рддреЛ рдореИрдВ .env
рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВред
рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рддреЛ рд▓реЛрдЧ рдЧрд▓рдд рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рдорд╛рд░рдиреЗ рдХреА рд╢рд┐рдХрд╛рдпрдд рдХрд░реЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕реНрдЯреИрдХ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ред
рдЗрд╕рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред рдЕрдЧрд░ рдХреЛрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо docker-compose.yml
рдирд╣реАрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рддреЛ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓реЗрдЧрд╛ред рдФрд░ рдЕрдЧрд░ рд╡реЗ рдЗрд╕реЗ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЗрд╕реЗ рд╡рд╣рд╛рдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ! рдХреЛрдИ рднреА рдЗрд╕реЗ рддрдм рддрдХ рдирд╣реАрдВ рдЬреЛрдбрд╝реЗрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛред
рдФрд░ рдЕрдЧрд░ рд╡реЗ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рднреА рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИред рдореБрдЭреЗ рдпрд╣ рдирд╣реАрдВ рд╕реВрдЭ рд░рд╣рд╛ рдХрд┐ рдЖрдк рдпрд╣рд╛рдБ рдХреМрди рд╕реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдЖрдк рдЪреАрдЬреЛрдВ рдХреЛ рдУрд╡рд░рдХреЙрдореНрдкреНрд▓рд┐рдХреЗрдЯ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдпрджрд┐ рдЖрдк рдЙрди рд╕рднреА рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдорд┐рд▓рд╛рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдЖрдкрдХреЛ рдРрд╕рд╛ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдЯреНрд░реА рдореЗрдВ 4 рдореЗрдВ рд╕реЗ 3 рд╡рд┐рдХрд▓реНрдк рдмреЗрдХрд╛рд░ рд╣реИрдВ, рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдХрдИ рдирд╛рдо рдХреА рдХрдВрдкреЛрдЬрд╝ рдлрд╛рдЗрд▓реЗрдВ рд╣реЛрддреА рд╣реИрдВред рдореБрдЭреЗ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдордд рдХрд╣реЛ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЕрднреА рднреА рдЙрдирдХреЗ рдмреАрдЪ рдПрдХ .env рдлрд╝рд╛рдЗрд▓ рд╕рд╛рдЭрд╛ рдХрд░рддрд╛ рд╣реВрдВред
рдореБрдЭреЗ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдордд рдХрд╣реЛ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рдЕрднреА рднреА рдЙрдирдХреЗ рдмреАрдЪ рдПрдХ .env рдлрд╝рд╛рдЗрд▓ рд╕рд╛рдЭрд╛ рдХрд░рддрд╛ рд╣реВрдВред
рдЖрдк рдХрд┐рд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВ .env
рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдлрд╝рд╛рдЗрд▓ env_file
?
рдпрд╛ рдПрдХ docker-compose
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ?
рдпрд╛ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдорд┐рд▓рд╛рддреЗ рд╣реИрдВ?
рдЗрд╕рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред рдЕрдЧрд░ рдХреЛрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо docker-compose.ym рдореЗрдВ рдирд╣реАрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рддреЛ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрджрд▓реЗрдЧрд╛ред
рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдЗрд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рднрд╛рд░реА рдмрджрд▓рд╛рд╡ рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛ред
рдЬрдм рд╣рдо рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдЙрджрд╛рд╣рд░рдг (рдпрд╛рдиреА рдЕрдкрдЧреНрд░реЗрдб рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП) рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдЯреИрдХ рдХреА рдирдХрд▓ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ docker-compose.yml
рдХреЛ рдЫреВрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдпрд╣ рд╕реНрдЯреИрдХ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рддреЛ рд╣рдореЗрдВ рдпрд╣ рддрдп рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдХрд┐ рдХреНрдпрд╛ рд╣рдо рдЗрд╕реЗ .env
рд╕рд╛рде рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рддреЗ рд╣реИрдВ рдпрд╛ рдХреНрдпрд╛ рд╣рдо рдЗрд╕реЗ docker-compose.yml
рдореЗрдВ рдмрджрд▓рддреЗ рд╣реИрдВред
рд╣рд╛рдБ, рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдкрд╣рд▓реА рдЬрдЧрд╣ рдореЗрдВ рдирд╣реАрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдБ рдПрдХ рдФрд░ рд╡рд┐рдХрд▓реНрдк рд╣реЛрдиреЗ рд╕реЗ рдЪреАрдЬреЗрдВ рдЖрд╕рд╛рди рдФрд░ рдЕрдзрд┐рдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рднреА рдирд╣реАрдВ рд╣реЛрддреА рд╣реИрдВред
рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдПрдХрд▓ .env рдлрд╝рд╛рдЗрд▓ рд╣реИ, рдЬрд┐рд╕реЗ 4 рдХрдореНрдкреЛрдЬрд╝ рдлрд╛рдЗрд▓реНрд╕ (рдЙрд╕реА рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ) рдирд╛рдо рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдХреЛрдИ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ред рдХреЛрдИ рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдирд╣реАрдВред рдореИрдВ рд╕рд┐рд░реНрдл рдХрдВрдкреЛрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред
рдореИрдВ рдЗрд╕реЗ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛
docker-compose -f service1.yml up -d
рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ
docker-compose -f service1.yml up -d
# F#&$, forgot the -p flag. Curse the compose devs for 3 years of c#*$blocking
docker-compose -f service1.yml down
docker-compose -f service1.yml -p service1 up -d
@ schmunk42 рдЖрдк рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ 'doOSE_PROJECT_NAME = ...' рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд░ рдмрд╛рд░ рдкреНрд░рддреНрдпреЗрдХ рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИ, рд╕рдВрднрд╡рддрдГ рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд? рдЖрдкрдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдЬрд╛рдирдирд╛ рдФрд░ рдпрд╛рдж рд░рдЦрдирд╛ рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдПрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЖрдк рдмрд╕ рдПрдХ рдпреБрдЧрд▓ yml рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рддрд░реАрдХреЗ рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЙрди рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдореЛрдВ рдХреЛ рдпрд╛рдж рдХрд░реЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдиреЗ рдорд╣реАрдиреЛрдВ рдкрд╣рд▓реЗ рдЪреБрдирд╛ рдерд╛ рдФрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛рдж рдХрд┐рдП рдмрд┐рдирд╛ред
рдХреНрдпрд╛ рдЖрдк рдкреНрд░рддрд┐ рд╕реЗрд╡рд╛ рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрднреА рднреА рд╢реАрд░реНрд╖ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ .env
рдлрд╝рд╛рдЗрд▓ рд╣реИ?
docker-compose -f service1/docker-compose.yml up -d
docker-compose -f service2/docker-compose.yml up -d
рдмрд╕ рдлрд╝рд╛рдЗрд▓ (-path) рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рдирд╛рдо рд▓рд┐рдЦреЗрдВ name
рдореИрдВ рд╣рд╛рд░ рдорд╛рдирддрд╛ рд╣реВрдВред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЧреНрд░рд╛рд╣рдХ-рдЖрдзрд╛рд░ рдмрджрд▓ рдЧрдпрд╛ рд╣реИред
рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдкреНрд░рд╕реНрддрд╛рд╡ рдореЗрдВ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИред
рд╢реБрд░реБрдЖрдд рдореЗрдВ рдореЗрд░реА рднреА рдпрд╣реА рдЪрд┐рдВрддрд╛ рдереА, рд▓реЗрдХрд┐рди рд╣рдордиреЗ рдЕрдкрдиреА рд╡рд░реНрдХрдлрд╝реНрд▓реЛрдЬрд╝ рдХреЛ рдЙрдкрд▓рдмреНрдз рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред
рдореБрдЭреЗ рдЧрд▓рддреА рд╕реЗ рдкрд┐рдЫрд▓реЗ 2 рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рд╣рдорд╛рд░реА рдЯреАрдо рдХреЗ рдХрд┐рд╕реА рдПрдХ рд╡реНрдпрдХреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рд╕реНрдЯреИрдХ рдХреЛ рдорд╛рд░рдирд╛ рдпрд╛рдж рдирд╣реАрдВ рд╣реИред рд╣рдо рдЗрд╕ рддрд░рд╣ рд╕реЗ рд▓рдЧрднрдЧ 1.000 рдХрдВрдЯреЗрдирд░реЛрдВ рдФрд░ 1.000 рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдпрд╛ рдореИрдиреБрдЕрд▓ рд░рд┐рдбреЗрдкрд▓реНрдореЗрдВрдЯреНрд╕ рдХреЗ рд╕рд╛рде 200 рд╕реНрдЯреИрдХреНрд╕ рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВред
рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣рд╛рдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рддрд╛ ... рд▓реЗрдХрд┐рди рдореИрдВ рд╡рд┐рд░реЛрдз рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред
рдПрдХ "рд╕рдорд╛рдзрд╛рди" рдХреЗ рдмреАрдЪ рдПрдХ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░ рд╣реИ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдЪреАрдЬреЗрдВ рдЕрдм рд╣реИрдВ, рдФрд░ "рд╕рд╣реА" рд╕рдорд╛рдзрд╛рди рдиреЗ рдореМрдЬреВрдж рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рджрд┐рдпрд╛ред рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЬрд┐рд╕ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд┐рдпрд╛
@ schmunk42 & @mikehaertl
рдореБрдЭреЗ рдпрд╛рдж рдирд╣реАрдВ рд╣реИ рдХрд┐ рдкрд┐рдЫрд▓реЗ 2 рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рд╣рдорд╛рд░реА рдЯреАрдо рдХреЗ рдХрд┐рд╕реА рдПрдХ рд╡реНрдпрдХреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рдЧрд▓рддреА рд╕реЗ рдвреЗрд░ рдХреЛ рдорд╛рд░ рджрд┐рдпрд╛
рдореБрдЭреЗ рдкреВрдЫрдирд╛ рд╣реИред рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдБ рдХрд┐ рдЖрдк рджреЛрдиреЛрдВ рдХреЛрдбрдореЗрдХреНрд╕ org рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИрдВ ред рдХреНрдпрд╛ рдЖрдк рд╕рд╣рдХрд░реНрдореА рд╣реИрдВ? рдЖрд╢реНрдЪрд░реНрдп рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рдЕрдЧрд░ рдЖрдк рджреЛ рдкрд░реНрджреЗ рдХреЗ рдкреАрдЫреЗ рдШреВрдо рд░рд╣реЗ рд╣реИрдВ рддреЛ рдЖрд╢реНрдЪрд░реНрдп рд╣реЛрдЧрд╛ред
рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдпрд╣ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреНрд╡рд╛рд░рд╛ рдХреНрд░рдордмрджреНрдз рд╣реИ:
- -p рдХрд╛ рдорд╛рди
- рдЖрдкрдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рд╕реЗ COMPOSE_PROJECT_NAME рдХрд╛ рдорд╛рди
- рдЖрдкрдХреА .env рдлрд╝рд╛рдЗрд▓ рд╕реЗ COMPOSE_PROJECT_NAME рдХрд╛ рдорд╛рди
- рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╛рдо
рд╢реИрддрд╛рди рдХрд╛ рд╡рдХреАрд▓ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕реЗрдЯрдЕрдк рдореЗрдВ 5 рд╡реЗрдВ рдХреЛ рдХреНрдпреЛрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдП?
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рд╕рдорд╕реНрдпрд╛ _every рдПрдХрд▓ рдореВрд▓реНрдп_ рд╣реИ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИ _environment-specific_ рд╣реИред рдкрд░рд┐рдпреЛрдЬрдирд╛-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред
1 + 2ред рдЖрджреЗрд╢ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
.env
рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЕрдЪреНрдЫреЗ рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП рд╕рд╛рдЭрд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред (рдореИрдВ .env.example
рд╕рд╛рдЭрд╛ рдХрд░рдХреЗ рдЗрд╕рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрднреА рднреА рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдореИрдиреБрдЕрд▓ рдХрджрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред)рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдФрд░ рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рд╕реЗ рдХрдИ, рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ 3 рдФрд░ 4 рдХреЗ рдмреАрдЪ рд░рд╣рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо _can_ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдЬреЛ рднреА рдбреЙрдХ-рдХрдореНрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдЙрд╕реЗ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдкрд╣рд▓реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдореИрджрд╛рди рдЫреЛрдбрд╝рдирд╛ред рдпрд╣ рдорд╛рди рддрдм рдЗрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╡рд┐рдХрд▓реНрдк 1-3 рдЙрд╕ рдореВрд▓реНрдп рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░реЗрдЧрд╛, рдФрд░ рд╡рд┐рдХрд▓реНрдк 4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рддрднреА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рдпрд╣ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
@benjaminwood рдореИрдВ рдЖрдкрдХреЛ рдЖрд╢реНрд╡рд╕реНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдХреЛрдИ рднреА рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдирд╣реАрдВ рд╣рдВрд╕ рд░рд╣рд╛ рд╣реИред рд╣рд╛рдВ, рд╣рдо рдПрдХ-рджреВрд╕рд░реЗ рдХреЛ рдХрд╛рдлреА рд╕рдордп рд╕реЗ рдЬрд╛рдирддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдкрд╣рд▓реА рдмрд╛рд░ рдирд╣реАрдВ рд╣реИ рдЬрдм рд╣рдо рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рдЕрд╕рд╣рдордд рд╣реИрдВред рдореИрдВ рдпрд╣рд╛рдВ рдХрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкрд░реЗрд╢рд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдореЗрд░рд╛ рдЙрджреНрджреЗрд╢реНрдп рдирд╣реАрдВ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореИрдВ рдЕрдкрдиреЗ рдЕрдиреБрднрд╡ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рд╕рдорд╛рдзрд╛рди рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдореБрдЭреЗ рдЗрд╕ рд╡рд┐рд╖рдп рдореЗрдВ рдмрд╣реБрдд рдмрдбрд╝рд╛ рдЕрдиреБрднрд╡ рд╣реИред рдпрджрд┐ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХреЗ рд░реВрдк рдореЗрдВ рдкреЗрд╢ рдХреА рдЬрд╛рдПрдЧреА, рддреЛ рдпрд╣ рд╣рдорд╛рд░реЗ рд╕реЗрдЯрдЕрдк рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╕реНрд░реЛрдд рд╣реЛрдЧрд╛ред
@joshuajabbour
- рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ .env рдХреЛ рдЕрдирджреЗрдЦрд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЕрдЪреНрдЫреЗ рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП рд╕рд╛рдЭрд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрд╣ рдЖрдкрдХреЗ рд╕реЗрдЯрдЕрдк рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рд╣рдордиреЗ рдЕрдкрдиреА рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЗрд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░ рджрд┐рдпрд╛ рд╣реИред
рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕реЗ рд╣рдорд╛рд░реЗ рдордВрдЪрди рдФрд░ рдЙрддреНрдкрд╛рджрди рд╕реНрдЯреИрдХ-рдХреЗрд╡рд▓ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЕрдирджреЗрдЦрд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЖрдк рдирд╛рдо рдкрд░ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВрдЧреЗ рддреЛ docker-compose.yml
рдЖрдк рднреА рдкреНрд░рддрд┐рдмрджреНрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ .env
(рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рд╣реА рд╣реИ docker-compose
рдЖрджреЗрд╢ - рдФрд░ рдХреБрдЫ рдирд╣реАрдВ)
- рдкреНрд░рднрд╛рд╡реА рд░реВрдк рд╕реЗ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╣реИ, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / рдкрд░реНрдпрд╛рд╡рд░рдг-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИред
рдпрд╣ docker-compose.yml
рдореЗрдВ рдПрдХ рдореВрд▓реНрдп рд╕реЗ рдЕрдзрд┐рдХ рдпрд╛ рдХрдо рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдирд╣реАрдВ рд╣реИ, рдЖрдкрдХреЛ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдЯреИрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдпрд╛ рддреЛ .env
рдпрд╛ рд╕рдмрдлрд╝реЛрд▓реНрдбрд░ рдирд╛рдо рдореЗрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
рдореЗрд░реЗ рдкрд╛рд╕ рдЖрдк рд╕рднреА рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдВрддрд┐рдо рд╡рд┐рдХрд▓реНрдк рд╣реИ:
docker stack deploy -c docker-compose.yml the-project-name
(*) рдХреЗрд╡рд▓ рдЭреБрдВрдб рдореЛрдб рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ
рдореИрдВ рдпрд╣ рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддрд╛ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рдирд╛рдо рдХреЛ yml
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреИрд╕реЗ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдПрдХ рд╕реНрдЯреИрдХ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХрд╛ рдЦрдВрдбрди рдХрд░реЗрдЧрд╛ред
рдзрдиреНрдпрд╡рд╛рдж @ schmunk42 рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╕рднреА рдордЬрдмреВрдд рд░рд╛рдпреЛрдВ рдХреЗ рдмреАрдЪ рдЪреАрдЬреЛрдВ рдХреЛ рдХрд╛рдлреА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдВрднрд╛рд▓рд╛ рд╣реИред
рдпрд╣ рд╣рдорд╛рд░реЗ рд╕реЗрдЯрдЕрдк рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╕реНрд░реЛрдд рдкреЗрд╢ рдХрд░реЗрдЧрд╛ред
рд╡рд╣рд╛рдБ рд░рдЧрдбрд╝ рд╣реИред рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░реЗрдВред
рдпрд╣ рдЖрдкрдХреЗ рд╕реЗрдЯрдЕрдк рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рд╣рдордиреЗ рдЕрдкрдиреА рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЗрд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░ рджрд┐рдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕реЗ рд╣рдорд╛рд░реЗ рдордВрдЪрди рдФрд░ рдЙрддреНрдкрд╛рджрди рд╕реНрдЯреИрдХ-рдХреЗрд╡рд▓ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЕрдирджреЗрдЦрд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
рддреЛ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рд╣рд░ рдХреЛрдИ рдЪрд╛рд╣рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдкреЗрд╢ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдкрдХреА рдЕрд╕рд╛рдорд╛рдиреНрдп рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЛ рддреЛрдбрд╝ рджреЗрдЧрд╛?
рдЖрдк рдирд╛рдо рдкрд░ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВрдЧреЗ рддреЛ
docker-compose.yml
рдЖрдк рднреА рдкреНрд░рддрд┐рдмрджреНрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ.env
(рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗрд╡рд▓ рдбреЛрдХрд░-рд▓рд┐рдЦреЗрдВ рдЖрджреЗрд╢ рдХреЗ рд▓рд┐рдП рд╣реИ - рдФрд░ рдХреБрдЫ рдирд╣реАрдВ)ред
рдареАрдХ рд╣реИ, рдЕрдЧрд░ рдореЗрд░реЗ .env
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХрдорд╛рддреНрд░ рдЪреАрдЬрд╝ COMPOSE_PROJECT_NAME
, рддреЛ рд╣рд╛рдБред рд▓реЗрдХрд┐рди рдпрд╣ рдХрдИ рдЕрдиреНрдп _secure_ рдЪрд░ рдХреЗ рд╕рд╛рде рдЖрдмрд╛рдж рд╣реИ рдЬреЛ рдореБрдЭреЗ рдкреНрд░рддрд┐рдмрджреНрдз рдирд╣реАрдВ рдЪрд╛рд╣рд┐рдПред рдФрд░ рдореИрдВ environment
рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдиреНрд╣реЗрдВ docker-compose рдореЗрдВ рдЖрдпрд╛рдд рдХрд░рддрд╛ рд╣реВрдВред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ .env
рдлрд╛рдЗрд▓реЗрдВ рдЖрдо рддреМрд░ рдкрд░ ...
рдореБрдЭреЗ рдЕрднреА рднреА рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рд╕реЗрдЯрдЕрдк рдХреЛ рдХреИрд╕реЗ рддреЛрдбрд╝ рджреЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкреНрд░рд╕реНрддрд╛рд╡ рдореЗрдВ рдпрд╣ рдХреЗрд╡рд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рд▓рд┐рдП рдЧрдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рддрд╛ рд╣реИред рдФрд░ рдпрджрд┐ рдЖрдк рдЙрд╕ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИрдВ (рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реИ, рддреЛ _into_ рдЖрдкрдХрд╛ рд░реЗрдкреЛ рдЙрд╕ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЗ рд╡рд┐рдкрд░реАрдд рд╣реИ, рдЬрд╣рд╛рдВ рдЖрдкрдХрд╛ рд░реЗрдкреЛ рдХреНрд▓реЛрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ), рддреЛ рдпрд╣ рдХрднреА рднреА docker-compose.yml рд╕реЗрдЯрд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ рдУрд╡рд░рд░рд╛рдЗрдб рд╣реЛ рдЬрд╛рдПрдЧрд╛ (рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣ рднреА рдкреНрд░рддрд┐рдмрджреНрдз рд╣реИ рдЕрдкрдиреЗ рд░реЗрдкреЛ рдХреЗ рд▓рд┐рдП? рдЖрдк рдЕрдкрдиреЗ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ рджреЛрдиреЛрдВ рдЪреАрдЬреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ)?
@ schmunk42 рдЖрдк рдЬреЛ рдХрд╣рддреЗ рд╣реИрдВ, "рдореБрдЭреЗ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдирд╣реАрдВ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рджреВрд╕рд░реА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдЕрдкрдирд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗрдЯрдЕрдк рдЕрдм рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ рд╣реИ"ред
рдЧрдВрднреАрд░рддрд╛ рд╕реЗ? рдпрд╣ рдЖрдкрдХрд╛ рддрд░реНрдХ рд╣реИ рдХрд┐ рдЖрдк рд╣рд░ рдХрд┐рд╕реА рдХреЛ рдХреНрдпреЛрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?
рдмрд╕ рд░рд┐рдХреЙрд░реНрдб рдХреЗ рд▓рд┐рдП: рдореИрдВ рдпрд╣рд╛рдБ рднреА рд╣реВрдБред рдмреЗрдЭрд┐рдЭрдХ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░реЗрдВред рдпрд╣рд╛рдВ рдЪрд░реНрдЪрд╛ рдирд┐рд░рд░реНрдердХ рд╣реЛ рдЧрдИ рд╣реИред
рддреЛ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рд╣рд░ рдХреЛрдИ рдЪрд╛рд╣рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдкреЗрд╢ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдкрдХреА рдЕрд╕рд╛рдорд╛рдиреНрдп рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЛ рддреЛрдбрд╝ рджреЗрдЧрд╛?
рдореИрдВ рдЕрдкрдиреА рдЪрд┐рдВрддрд╛рдУрдВ рдХреЛ рд╡реНрдпрдХреНрдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрд░реЛрддреЛрдВ рдХреЛ рдкреЗрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдареАрдХ рд╣реИ, рдЕрдЧрд░ рдореЗрд░реА .env рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдПрдХрдорд╛рддреНрд░ рдЪреАрдЬ COMPOSE_PROJECT_NAME рд╣реИ, рддреЛ рд╣рд╛рдБред рд▓реЗрдХрд┐рди рдпрд╣ рдХрдИ рдЕрдиреНрдп рд╕реБрд░рдХреНрд╖рд┐рдд рдЪрд░ рдХреЗ рд╕рд╛рде рдЖрдмрд╛рдж рд╣реИ рдЬреЛ рдореБрдЭреЗ рдкреНрд░рддрд┐рдмрджреНрдз рдирд╣реАрдВ рдЪрд╛рд╣рд┐рдПред рдФрд░ рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдкрд░реНрдпрд╛рд╡рд░рдг рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ docker- рд░рдЪрдирд╛ рдореЗрдВ рдЖрдпрд╛рдд рдХрд░рддрд╛ рд╣реВрдВред
рдПрдХ рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВ secrets.env
рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдФрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕реЗ рдЖрдпрд╛рдд env_file
ред
рдпрд╣ рдЖрдкрдХреЗ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЛ рдХреИрд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░реЗрдЧрд╛?
рдпрд╣ рд╡рд╣ рд╣реИ рдЬреЛ .env рдлрд╛рдЗрд▓реЗрдВ рдЖрдо рддреМрд░ рдкрд░ ...
рд╕рдЪ ... рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ docker-compose
hijacks .env
рдлрд╝рд╛рдЗрд▓ рд╣реИред
рдпрджрд┐ рдЖрдк docker-compose.yml
рдЬреИрд╕реЗ IMAGE_VERSION
docker-compose.yml
рдХреЗ рд╢реАрд░реНрд╖ рд╕реНрддрд░реЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдЗрди рдЪрд░реЛрдВ рдХреЛ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ docker-compose.env
рдХреИрд╕реЗ рд╣реЛрдЧрд╛?
рдореИрдВрдиреЗ рдХрднреА рднреА COMPOSE_COMMAND_ENV_FILENAME=.env
рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджреЗрдиреЗ рдХреА рд╣рд┐рдореНрдордд рдирд╣реАрдВ рдХреА - рдЕрдм рддрдХ :)
рдореБрдЭреЗ рдЕрднреА рднреА рд╕рдордЭ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рд╕реЗрдЯрдЕрдк рдХреЛ рдХреИрд╕реЗ рддреЛрдбрд╝ рджреЗрдЧрд╛ ...
рдпрд╣ рд╕рдЪ рд╣реИ рдХрд┐ рдпрд╣ рддреБрд░рдВрдд рдирд╣реАрдВ рдЯреВрдЯрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ рдореЗрд░реЗ рдкрд╣рд▓реЗ рдмрд┐рдВрджреБ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ - рдФрд░ рднреА рдЕрдзрд┐рдХ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдкреЗрд╢ рдХрд░рдирд╛ред
рдХрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВ -f docker-compose.A.yml
-f docker-compose.B.yml
, рдорд╛рди рд▓реЗрдВ рдХрд┐ рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ рдФрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛-рдирд╛рдо рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИ (рд╣рдо рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЗрд╕реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ!), рдЬрдмрдХрд┐ рдмреА рдПрдХ рд╣реИ! project_name: extra
рд╕рд╛рде рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рд╕реЗрдЯ, рдЧрд▓рддреА рд╕реЗ рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╕рдордп рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдЬрд┐рд╕рдореЗрдВ .env
рдлрд╝рд╛рдЗрд▓ рдереА, рдЬрд┐рд╕рдиреЗ COMPOSE_PROJECT_NAME=testing
рд╕рд╛рде рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рдирд╛рдо рдХреЛ рдУрд╡рд░рд╡реЛрдЯ рдХрд┐рдпрд╛ред
рд▓реЗрдХрд┐рди рдЕрдм рдХреЛрдИ рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛, рдЬрд┐рд╕реЗ .env
рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрд┐рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХрд╛ рдирд╛рдо extra
ред ЁЯТе
рд╣рдо рдХрдИ рд╕реНрддрд░реЛрдВ рдкрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рд╡рд┐рд▓рдп рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдХрдИ *.env
рдлрд╛рдЗрд▓реЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓рд╛ рд╣реИред
рдЧрдВрднреАрд░рддрд╛ рд╕реЗ? рдпрд╣ рдЖрдкрдХрд╛ рддрд░реНрдХ рд╣реИ рдХрд┐ рдЖрдк рд╣рд░ рдХрд┐рд╕реА рдХреЛ рдХреНрдпреЛрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?
рдЪреЗрддрд╛рд╡рдиреА: рдереЛрдбрд╝рд╛ рдСрдл-рдЯреЙрдкрд┐рдХ, рд▓реЗрдХрд┐рди рдЕрднреА рднреА docker рд╕рдВрдмрдВрдзрд┐рдд ...
@ рдордЗрдХреЗрд╣рд░реНрдЯрд▓ рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ;)
рджреЛрд╕реНрддреЛрдВ,
рд╣рдордиреЗ рдЗрд╕ рдереНрд░реЗрдб рдореЗрдВ рдЬреЛрд╢реАрд▓реА рдЪрд░реНрдЪрд╛ рдкрд░ рдЙрдард╛рдпрд╛ рд╣реИ (рдЖрдк рдореЗрдВ рд╕реЗ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рдзрдиреНрдпрд╡рд╛рдж рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЗрд╕реЗ рдирд╛рдЧрд░рд┐рдХ рдФрд░ рд╕реМрд╣рд╛рд░реНрджрдкреВрд░реНрдг рд░рдЦрд╛ рд╣реИ!) рдФрд░ рдЬрдмрдХрд┐ рд╣рдо рдЕрднреА рднреА рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рдорд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рдХрд┐рд╕реА рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрджрд░ рдирд╣реАрдВ рд╣реИ, рд╣рдо рд╕рд╛рде рдЖрдП рдереЗред рд╣рдо рдирд┐рдореНрди рдкреАрдЖрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдЙрдЪрд┐рдд рдордзреНрдп-рдореИрджрд╛рди рдорд╛рдирддреЗ рд╣реИрдВ: # 5378ред рдЗрд╕рдиреЗ рдХрд╣рд╛, рд╣рдо рдЗрд╕ рдкрд░ рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдпрд╣ рдЖрдкрдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХрд╛ рдЙрддреНрддрд░ рджреЗрддрд╛ рд╣реИред
рдпрд╣рд╛рдБ рд╣реИ рдЬрд┐рд╕реНрдЯ:
x-project-name
рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдХреБрдВрдЬреА рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИредCOMPOSE_X_PROJECT_NAME
(рдпрд╛ .env
рдлрд╝рд╛рдЗрд▓) рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ Compose рдЖрдкрдХреА Compose рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрджрд░ x-project-name
рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдЧрд╛редCOMPOSE_PROJECT_NAME
рдФрд░ --project-name
рд╕реЗ рдХрдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реИрдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ рдХрд┐рд╕реА рднреА рдкреНрд░рд╢реНрди рдпрд╛ рдЪрд┐рдВрддрд╛рдУрдВ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реАред
@ shin- рддреЛ COMPOSE_X_PROJECT_NAME
рдХреЛ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 1
рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛?
рдпрджрд┐ рд╣рд╛рдВ, рддреЛ COMPOSE_ENABLE_X_PROJECT_NAME
рднреА рд╕реЛрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд╛рдордХрд░рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпреЗ рд╕рд┐рд░реНрдл рдореЗрд░реЗ 2 рд╕реЗрдВрдЯ рд╣реИрдВ - рдореИрдВ рдЗрд╕реЗ рд╡реИрд╕реЗ рднреА рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ $
@ schmunk42 рдХреЛрдИ рднреА "рд╕рддреНрдп-рд╡рд╛рдИ" рдореВрд▓реНрдп рдХрд╛рдо рдХрд░реЗрдЧрд╛ , рд▓реЗрдХрд┐рди рд╣рд╛рдВ, рдпрд╣ рд╡рд┐рдЪрд╛рд░ рд╣реИред
@ рдордЯрд╕рдореИрди рдХреВрд▓, рдЙрдкрдпреЛрдЧреА, рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЖрдк рд╣рдореЗрдВ рдмрддрд╛ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ рдЕрдВрддрд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдПрдХ рдЪрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдпрд╛ рдПрдХ рдкрд░рдо рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрддрд╛рдирд╛ рд╣реЛрдЧрд╛, рдЖрдк рд╣рдореЗрдВ рдмрддрд╛ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ рдЕрдВрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдПрдХ рдЪрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдпрд╛ рдПрдХ рдкрд░рдо рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрддрд╛рдирд╛ рд╣реЛрдЧрд╛ред
рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдХрд▓реНрдкрдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХрд┐ рдЖрдкрдиреЗ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЗрд╕рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХреИрд╕реЗ рдорд╛рдирд╛ рд╣реИред
@ рд╢рд┐рди- рдореИрдВ рдмрддрд╛рддрд╛ рд╣реВрдБ рдХрд┐ рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рдХреИрд╕реЗ рдХреЛрдИ рдЙрдкрдпреЛрдЧреА рдЕрдВрддрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ:
рдкреНрд░реЙрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рдХрд░рдирд╛
рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рдВрдкреВрд░реНрдг рдмрд┐рдВрджреБ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред рдЖрдк рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдкрд░рд┐рд╡реЗрд╢ рдЪрд░ рдХреЗ рдкреВрд░реНрд╡рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдИ.рдкреВ. рдирд╣реАрдВ рддреЛрдбрд╝реЗрдЧрд╛ рдФрд░ рдпрд╣ рд╡рд┐рд▓рдп рдХреЗ рджреМрд░рд╛рди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкреЗрд╢ рдХрд░рдиреЗ рд╕реЗ рдмрдЪрд╛рдПрдЧрд╛ рдЬреИрд╕реЗ рдореИрдВрдиреЗ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рд╣реИред
рдкреНрд░реЙрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреА рддрд▓рд╛рд╢ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рдХрд░рдирд╛
рдпрд╣ рдирд╣реАрдВ рд╣реИ, рдЖрдк рдЗрд╕ рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рдПрдХ рдмрд╛рд░, рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рдЕрдкрдиреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдЖрдкрдХреЛ рд╣рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдпрд╣ рдирд╣реАрдВ рд╣реИ, рдЖрдк рдЗрд╕ рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рдПрдХ рдмрд╛рд░, рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рдЕрдкрдиреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдЖрдкрдХреЛ рд╣рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рд╕рднреА рдЧреЛрд▓реЗ рдореЗрдВ рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рджреЗрдЦрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд╕рдВрдмрдВрдзрд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЕрд╡рд╛рдВрдЫрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рддрдм рднреА рднреНрд░рдо рдкреИрджрд╛ рдХрд░реЗрдЧрд╛ рдЬрдм рдПрдХ рдбреЗрд╡рд▓рдкрд░ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рд╕реЗ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЦреАрдВрдЪрддрд╛ рд╣реИ рдФрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рднреВрд▓ рдЬрд╛рддрд╛ рд╣реИред
рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рд░рдЦрдиреЗ рдХреЗ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓рдХреНрд╖реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реИ рдХрд┐ рдХрдВрдкреЛрдЬрд╝ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ, рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
@ рдпреЛрд╣реЗрдп
рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрди рд▓реЛрдЧреЛрдВ рдХреА рдорджрдж рдХрд░рдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд╣реИ, рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдХрдИ рдХрдВрдкреЛрдЬрд╝ рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ, рдЬрд┐рдирдХреЗ рд▓рд┐рдП .env
рдлрд╝рд╛рдЗрд▓ рд╕рдорд╛рдзрд╛рди рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдпрд╣ рд╣рдореЗрд╢рд╛ рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рддреЛ рдЗрд╕реЗ рдЖрдкрдХреЗ .env
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реЗрдЯ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдЖрдкрдХреА .profile
, рдпрд╛ рдХрд╣реАрдВ рдФрд░ рдЬреЛ x-project-name
рдХрд░реЗрдЧреА рд╣рдореЗрд╢рд╛ рд▓реА рдЬрд╛рдПрдЧреА рдЦрд╛рддреЗ рдореЗрдВред
рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЖрдк рд╣рдореЗрдВ рдмрддрд╛ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ рдЕрдВрддрд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдПрдХ рдЪрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдпрд╛ рдПрдХ рдкрд░рдо рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрддрд╛рдирд╛ рд╣реЛрдЧрд╛, рдЖрдк рд╣рдореЗрдВ рдмрддрд╛ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ рдЕрдВрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдПрдХ рдЪрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдпрд╛ рдПрдХ рдкрд░рдо рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрддрд╛рдирд╛ рд╣реЛрдЧрд╛ред
рдЗрд╕рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реА рдореБрдЦреНрдп рдЪрд┐рдВрддрд╛ рд╣рдореЗрд╢рд╛ рдпрд╣ рд░рд╣реА рд╣реИ рдХрд┐ "рдПрдВрдб-рдпреВрдЬрд╝рд░" рдХреА рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдБ рд╣реИрдВ рдФрд░ рд╡реЗ рд╣рд░ рдХреАрдордд рдкрд░ рдирд╛рдо рдХреЗ рдЯрдХрд░рд╛рд╡ рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЙрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ, рдЙрдиреНрд╣реЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдХрд╛ рдирд┐рдпрдВрддреНрд░рдг рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рди рдХрд┐ рд╡рд┐рддрд░рдХ рдХрд╛ред рдпрджрд┐ рдЖрдк рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ "рдЯрд░реНрдирдХреА" рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреА рд╢рд┐рдкрд┐рдВрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЗрд╕реА рддрд░рд╣ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд .env
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ COMPOSE_X_PROJECT_NAME
рд╕реЗрдЯ рдХрд░рдирд╛ рдмрд╣реБрдд рд╣реА рдорд╛рдореВрд▓реА рд╣реИ - рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЙрд▓рдЭрди рдореЗрдВ рд╣реВрдВ рдХрд┐ рдИрдорд╛рдирджрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдХреМрди рд╕рд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред
рдпрджрд┐ рдЖрдк рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд╕рдВрдмрдВрдзрд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЕрд╡рд╛рдВрдЫрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдХреНрдпрд╛ рдЖрдк рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗ рд╕рдХрддреЗ рд╣реИрдВ? рдореИрдВ рдЕрдкрдиреЗ рд╢реЗрд▓ рдореЗрдВ COMPOSE_X_PROJECT_NAME
рд╕реЗрдЯ рдХрд░рдХреЗ рдХрд┐рд╕реА рднреА рдЕрд╡рд╛рдВрдЫрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪ рд╕рдХрддрд╛ред
рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рд░рдЦрдиреЗ рдХреЗ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓рдХреНрд╖реНрдпреЛрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реИ рдХрд┐ рдХрдВрдкреЛрдЬрд╝ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ, рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдЖрдк рдЙрд╕рдХреЗ рд▓рд┐рдП .env
рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ? рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ .env
рдХрд╛ рднрдВрдбрд╛рд░рдг рдХрд░рдиреЗ рд╕реЗ рдХрд┐рд╕реА рдХреЛ рдордирд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ (рд╣рд╛рдБ, рдпрд╣ рдЖрдо рдирд╣реАрдВ рд╣реИ)ред
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╢реБрд░реВ рдореЗрдВ .env
рдереЗред рдЖрдкрдиреЗ рдкреВрд░реА рдмрд╛рддрдЪреАрдд рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдпрд╛рдж рдХрд┐рдпрд╛ рд╣реИред
@ рдорддреНрд╕рдорд╛рди рдЖрдкрдХреЛ рдЧрдВрднреАрд░рддрд╛ рд╕реЗ рдЕрдкрдирд╛ рд░рд╡реИрдпрд╛
рдХреБрдЫ рднреНрд░рдо рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рдереЗ
рдкрд╣рд▓реЗ рдЖрдк рдПрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рдереЗред рдирдпрд╛ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдПрдХ рдирд╛рдо рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдПрдХ рдЯреЙрдЧрд▓ рд╣реИ рдЬрд┐рд╕рдиреЗ рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд╕рдХреНрд╖рдо рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рд╕реЗрдЯ рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рд╕рднреА рдЧреЛрд▓реЗ рдореЗрдВ рд╡рд┐рд╢реНрд╡ рд╕реНрддрд░ рдкрд░ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рджреЗрдЦрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд╕рдВрдмрдВрдзрд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЕрд╡рд╛рдВрдЫрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрджрд┐ рдЖрдк "рдЕрдиреНрдп рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕" рдХреЛ рдЗрди-рдЗрди рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддреЗ рд╣реИрдВ, рддреЛ "рдРрд╕рд╛ рдХреБрдЫ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЗрд╕реЗ рд▓рд┐рдЦреЗрдВ рдФрд░ рдЗрд╕реЗ рддреЛрдбрд╝ рд╕рдХреЗ" рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдпрдерд╛рд░реНрдерд╡рд╛рджреА рдирд╣реАрдВ рд╣реИред рд╣рд░ рд╢реЗрд▓ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рд╣реЛрддреЗ рд╣реИрдВред рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ "COMPOSE_X_" рдХреЗ рд░реВрдк рдореЗрдВ рдареАрдХ рд╕реЗ рдирд╛рдо рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдпрджрд┐ рдЖрдк "рдЕрдиреНрдп рд░рдЪрдирд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ" рдХрд╛ рдорддрд▓рдм рд╣реИ, рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рддрд░реНрдХ рдХреЗ рд▓рд┐рдП рддрд░реНрдХ рджреЗ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдЪрд░ рдХреНрдпреЛрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдпрджрд┐ рд╕реБрд╡рд┐рдзрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдХреНрд╖рдо рд╣реЛрддреА рд╣реИ, рддреЛ рд╡рд░реНрддрдорд╛рди рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡реНрдпрд╡рд╣рд╛рд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХреЛрдИ рднреА рдЯреВрдЯ рдЬрд╛рдПрдЧрд╛ред
рдпрджрд┐ рдпрд╣ рдЙрдирдореЗрдВ рд╕реЗ рдирд╣реАрдВ рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рд╕реНрдкрд╖реНрдЯ рдХрд░реЗрдВред
рдпрд╣ рддрдм рднреА рднреНрд░рдо рдкреИрджрд╛ рдХрд░реЗрдЧрд╛ рдЬрдм рдПрдХ рдбреЗрд╡рд▓рдкрд░ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рд╕реЗ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЦреАрдВрдЪрддрд╛ рд╣реИ рдФрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рднреВрд▓ рдЬрд╛рддрд╛ рд╣реИред
рдпрджрд┐ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреА рд╣реИ рддреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВред рдХрднреА рднреА рдРрд╕рд╛ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд╣рд╛рдВ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рдирд╛рдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреА рд╣реИред
рдореИрдВ рдЗрд╕реЗ рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рдирд╣реАрдВ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреНрдп рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрддрд╛ рд╣реВрдВред рдпрджрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реИ, рддреЛ рдХреЛрдИ рднреА рджреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдПрдХ рд╣реА рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рд╡рд┐рд░реЛрдз рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рджреЛрдиреЛрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рддреЛрдбрд╝ рджреЗрдЧрд╛ред рдирд╛рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдбреЗрд╡рд▓рдкрд░ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдЗрд╕ рдмрд╛рдд рд╕реЗ рдЕрд╡рдЧрдд рд╣реИ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдиреНрдп рдирд╛рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрдпреЛрдЧ рдореЗрдВ рд╣реИрдВред
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдпрд╛ рддреЛ рдЙрди рдХрд╛рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдорджрдж рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдЬреЛ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдПрдХ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИред
рдПрдХ рд╕рдорд╛рдзрд╛рди рдЬрд┐рд╕рдореЗрдВ рдкрд░реНрдпрд╛рд╡рд░рдгреАрдп рдЪрд░ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдЙрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдпрд╣ рдЬрд╛рдирдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдкрд╣рд▓реА рдЬрдЧрд╣ рдореЗрдВ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдПред рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░рдирд╛ рдХрдард┐рди рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рд░ рдХреЛрдИ рдЯрд░реНрдорд┐рдирд▓ рдХреЗ рдЕрдВрджрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рджреЛрдмрд╛рд░рд╛, рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ .env рдбрд╛рд▓рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИред
рдбреЛрдХрд░-рд░рдЪрдирд╛ рдХреА рд╕реБрдВрджрд░рддрд╛ up
ред рдЙрд╕ рдХреЙрд▓ рдХреЛ рд╕реЗрдЯрдЕрдк рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд░реНрджреЗрд╢ рдирд╣реАрдВред
@fiveanddone
рджреЛрдмрд╛рд░рд╛, рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ .env рдбрд╛рд▓рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИред
рдХреНрдпрд╛ рдЖрдк рдЙрд╕ рдкрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдореИрдВ рдЖрдкрдХреЛ рдХрдо рддрдХрдиреАрдХреА рдЬреНрдЮрд╛рди рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдкрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реБрдирддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╡реЗ рдХреЛрдб рдпрд╛ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдпрд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рд╛рде .env
рдлрд╝рд╛рдЗрд▓ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХрд╛ рдореБрджреНрджрд╛ рдХреНрдпреЛрдВ рд╣реИ?
@ рдкрд┐рдВрдбрд▓реА- рд╣рд╛рдБ, рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВред
рдореИрдВрдиреЗ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╣рд░ рд╕рдордп рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдореЗрд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЬреНрдпрд╛рджрд╛рддрд░ рд╡реЗрдм рд╡рд┐рдХрд╛рд╕ рд╢рд╛рдорд┐рд▓ рд╣реИ рдЬрд╣рд╛рдВ рдПрдХ рдбреЗрд╡рд▓рдкрд░реНрд╕ рддрдХрдиреАрдХреА рдЬреНрдЮрд╛рди рдХрд╛рдлреА рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
.env
рдШрд░реЛрдВ рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛ рдЕрдиреНрдп рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдореЗрд░реЗ .env
рдЕрдВрджрд░ рдХреБрдЫ рдЪрд░ SMTP рдЬреИрд╕реА рдмрд╛рд╣рд░реА рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рд╣реИрдВред рдореЗрд░реА рдЯреАрдо рдХреЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЙрди рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ .env
рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕рдорд╛рдкрди рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЕрдЧрд░ .env
рдирд╣реАрдВ рд╣реИ, рддреЛ рдореЗрд░реЗ рдкрд╛рд╕ рдЪреВрдХ рд╣реИред
рдХрдо рддрдХрдиреАрдХреА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдЬреЛ рд╢рд╛рдпрдж рдмрд╕ рдХреБрдЫ рд╕реАрдПрд╕рдПрд╕ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди .env
рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрд┐рдирд╛ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рд╡реЗ рд╣рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдирд╛рдо рд╕рдорд╛рди рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВред :)
рдпрд╣ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкреНрд░рддреАрдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдЖрдк рдХрдИ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдФрд░ рдбрд┐рдЬрд╛рдЗрдирд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рджреЗрд╢ рднрд░ рдореЗрдВ рд╣реИрдВ - рдмреЗрд╣рддрд░ рд╕рд░рд▓ред
рдбреЙрдХрд░ рдиреЗ рдореЗрд░реЗ рдЬреАрд╡рди рдХреЛ рдмрд╣реБрдд рдЖрд╕рд╛рди рдмрдирд╛ рджрд┐рдпрд╛ рд╣реИ рдФрд░ рдореИрдВ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рд╕реБрдкрд░ рдЖрднрд╛рд░реА рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рдзрд╛рдЧреЗ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреА рдирд┐рд░рд╛рд╢рд╛рдУрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВред
@fiveanddone рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдЗрд╕рд▓рд┐рдП рдЕрдЧрд░ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп .env
рдлрд╝рд╛рдЗрд▓ рдХреЛ docker-compose.env
(рдпрд╛ рд╕рдорд╛рди) рдХрд╣рд╛ рдЬрд╛рддрд╛, рддреЛ рдХреНрдпрд╛ рдЗрд╕рд╕реЗ рдЖрдкрдХреА рдЪрд┐рдВрддрд╛ рдХрдо рд╣реЛрддреА?
@ рдирд▓реА
рд╣рд╛рдВ, рдпрд╣ рдореЗрд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╣реЛрдЧрд╛ред
рдХреНрдпрд╛ Env рдлрд╛рдЗрд▓ рдбреЛрдХрд░ рдХрдореНрдкреЛрдЬ рджреНрд╡рд╛рд░рд╛ рдЕрдкрдиреЗ рдЖрдк рд▓реЛрдб рдХреА рдЬрд╛рддреА рд╣реИ?
рдпрджрд┐ рдирд╣реАрдВ, рддреЛ docker-compose.env
рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?
@nhooey env рдлрд╝рд╛рдЗрд▓ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рднрд░реА рд╣реБрдИ рд╣реИ рдпрджрд┐ рдЗрд╕реЗ .env
рдирд╛рдо рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдФрд░ рдЖрдк рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП env рдлрд╝рд╛рдЗрд▓ рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдбреЙрдХреНрд╕ рджреЗрдЦреЗрдВред
рдЕрдЧрд░ рдпрд╣ рдирд╛рдо рд╣реИред env рдлрд╝рд╛рдЗрд▓ рдЕрдкрдиреЗ рдЖрдк рд▓реЛрдб рд╣реЛ рдЬрд╛рддреА рд╣реИред рдФрд░ рдЖрдк рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП env рдлрд╝рд╛рдЗрд▓ рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдбреЙрдХреНрд╕ рджреЗрдЦреЗрдВред
рдпрд╣рд╛рдБ рдирд╛рдЗрдЯрдкрд┐рдХрд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд╣реА рдирд╣реАрдВ рд╣реИред рдФрд░ IMHO рдкреВрд░реЗ рд╡рд┐рд╖рдп рдХреА рдЧрд▓рддрдлрд╣рдореА рдХрд╛ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рд╕реНрд░реЛрдд рд╣реИред
рдХреЛрдИ рднреА .env
рдЪрд░ рдХреЗ рдХрд┐рд╕реА рднреА рдХрдВрдЯреЗрдирд░ / рд╕реЗрд╡рд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЖрдЧреЗ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ , рддреЛ рдпрд╛ рддреЛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ
env_file:
- .env
рдпрд╛
environment:
- VAR_FROM_DOTENV
- FOO=${ANOTHER_VAR_FROM_DOTENV}
.env
рдлрд╝рд╛рдЗрд▓ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рднрд░реА рд╣реБрдИ рд╣реИ, рд╣рд╛рдБ, рд▓реЗрдХрд┐рди рдЖрдЧреЗ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рдмрд┐рдирд╛ рдпрд╣ рдХреЗрд╡рд▓ рдЗрди рдХрдВрдкреЛрдЬрд╝ CLI рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИред
рдореИрдВ рджреГрдврд╝рддрд╛ рд╕реЗ рдирд╛рдо рдмрджрд▓рдиреЗ рдХрд╛ docker-compose.env
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдФрд░ рдЙрд╕рд╕реЗ рднреА рдмреЗрд╣рддрд░ - рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЪрд░ рд╣реИ , рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ BC- рддрд░реАрдХреЗ рдореЗрдВ рд╕рд┐рд░реНрдл рдПрдХ ENV-var рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
(рдЖрдк рдореЗрдВ рд╕реЗ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рдзрдиреНрдпрд╡рд╛рдж рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдЗрд╕реЗ рджреАрд╡рд╛рдиреА рдФрд░ рд╕реМрд╣рд╛рд░реНрджрдкреВрд░реНрдг рд░рдЦрд╛!)
рдореИрдВ рдЖрдкрдХреЛ рд╕реБрдирддрд╛ рд╣реВрдВ рдФрд░ рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рджреЛрд╖реА рд╣реВрдВ рдХрд┐ рд╣рдореЗрд╢рд╛ рдЕрдкрдиреЗ рдХрдВрдкрдЯреАрд╢рди рдХреЛ рдмрд░рдХрд░рд╛рд░ рдирд╣реАрдВ рд░рдЦреВрдВрдЧрд╛ред рдЙрд╕рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИред рдХреБрдЫ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдХрднреА-рдХрднреА рдореБрдЭреЗ рд╢реБрд░реВ рдХрд░ рджреЗрддреА рд╣реИрдВ ... рдЙрд╕ рдкрд░ рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред
рдпрджрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣реИ, рддреЛ рдХреЛрдИ рднреА рджреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдПрдХ рд╣реА рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рд╡рд┐рд░реЛрдз рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рджреЛрдиреЛрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рддреЛрдбрд╝ рджреЗрдЧрд╛ред
рдЗрд╕рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реА рдореБрдЦреНрдп рдЪрд┐рдВрддрд╛ рд╣рдореЗрд╢рд╛ рдпрд╣ рд░рд╣реА рд╣реИ рдХрд┐ "рдПрдВрдб-рдпреВрдЬрд╝рд░" рдХреА рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдБ рд╣реИрдВ рдФрд░ рд╡реЗ рд╣рд░ рдХреАрдордд рдкрд░ рдирд╛рдо рдХреЗ рдЯрдХрд░рд╛рд╡ рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЙрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ, рдЙрдиреНрд╣реЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдХрд╛ рдирд┐рдпрдВрддреНрд░рдг рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рди рдХрд┐ рд╡рд┐рддрд░рдХ рдХрд╛ред
@ рдкрд┐рдВрдбрд▓реА- рдпрд╣ рдЖрдо рддреМрд░ рдкрд░ рд╕рд╣рдордд рд╣реЛрдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ, рдХрд┐ docker-compose.yml
рд╣рдореЗрд╢рд╛ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рднрдВрдбрд╛рд░ рдореЗрдВ рд░рд╣рддрд╛ рд╣реИред рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рд╕рдЪ рдирд╣реАрдВ рд╣реИред рд╣рдо рдореЗрдВ рд╕реЗ рдХреБрдЫ docker-compose.yml
рд╕рд╛рдЭрд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕реНрдерд╛рдиреАрдп рдЕрдиреБрдХреВрд▓рди (рдЬреИрд╕реЗ рд╡рд┐рдХрд╛рд╕ рд╕реЗрдЯрд┐рдВрдЧреНрд╕, рдкреНрд░рдпрд╛рд╕, рдЖрджрд┐) рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдФрд░ "рдирд╛рдо рд╕рдВрдШрд░реНрд╖ рд╕реЗ рдмрдЪреЗрдВ" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ: рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдирд╛рдо рд╕рдВрдШрд░реНрд╖ рдХреЗ рдмрдЬрд╛рдп рдЕрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ (IMO) рдлрд╛рдЗрд▓рд╕рд┐рд╕реНрдЯрдо рд╕реНрддрд░ рдкрд░ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╛рдо рд╕рдВрдШрд░реНрд╖ рд╣реИ: .env
рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдирд╛рдо рд╣реИ рдЬреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ред рдЬрдм рддрдХ рдХреЛрдИ рдбреЗрд╡рд▓рдкрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛, рддрдм рддрдХ рдЙрд╕реЗ рдбреЙрдХ рд╕реЗрдЯрд┐рдВрдЧ рд╕реЗ рдкреНрд░рджреВрд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд▓реЗрдХрд┐рди рдпрд╣ рдирд┐рд░реНрдгрдп рдбреЗрд╡рд▓рдкрд░ рдкрд░ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрд╣рд╛рдБ рдПрдХ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдХреЗ рд▓рд┐рдП рджреЛ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдФрд░ .env
V4 рдореЗрдВ docker-compose.yml
рдХреИрд╕реЗ? рдПрдХ project_name
docker-compose.yml
, рджреВрд╕рд░рд╛ рдПрдХ рдлрд╝рд╛рдЗрд▓ .dockerproject
рдЬрд┐рд╕рдореЗрдВ рдХреЗрд╡рд▓ рдирд╛рдо рд╢рд╛рдорд┐рд▓ рд╣реИ рдФрд░ рдХрднреА рднреА рднрдВрдбрд╛рд░ рдХреЛ рдкреНрд░рд╕реНрддреБрдд
рдпрд╣рд╛рдБ рдкреВрд░реНрд╡рддрд╛ рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ (рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ):
-p
CLI рддрд░реНрдХ.dockerproject
рдлрд╝рд╛рдЗрд▓project_name
docker-compose.yml
(рдпрджрд┐ docker-compose.yml
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рд╛рде рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдмрдЪрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП)COMPOSE_PROJECT_NAME
рдкрд░реНрдпрд╛рд╡рд░рдг рд╕реЗCOMPOSE_PROJECT_NAME
.env
(рдкрджрд╛рд╡рдирдд)рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЕрдВрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣рдореЗрд╢рд╛ .dockerproject
рдореЗрдВ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рднрд▓реЗ рд╣реА рдХрд┐рд╕реА рдиреЗ рдЗрд╕реЗ рд╡рд┐рддрд░рд┐рдд docker-compose.yml
рдореЗрдВ рд╣рд╛рд░реНрдбрдХреЛрдб рдХрд┐рдпрд╛ рд╣реЛред
рдЕрджреНрдпрддрди: рдореИрдВ .dockerenv
рдпрд╛ docker.env
рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп .dockerproject
рд╕рд╛рде рднреА рд░рд╣ рд╕рдХрддрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдХрд┐ рдХреБрдЫ рдХреЛ docker-compose.yml
рдореЗрдВ рд╣рд╛рд░реНрдбрдХреЛрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдореЛрдВ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдирдорд╕реНрддреЗ,
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП @dnephin рдФрд░ @
рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ PR 5378 рдХреЛ рдорд╛рдиреНрдп рдХрд┐рдпрд╛ рд╣реИ: A default project name defined by the project, that can be checked in
(https://github.com/docker/compose/issues/745#issuecomment-282858900)ред рдЗрд╕рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рджрд░реНрд╢рд╛рддреЗ рд╣реБрдП рдПрдХ git рд░реЗрдкреЛ рдмрдирд╛рдпрд╛: https://github.com/estarter/compose_745
рдореИрдВрдиреЗ PR # 5378 рдХреЛ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЗ рдХреЛ рдХрд╡рд░ рдХрд░рддреЗ рд╣реБрдП рдкрд╛рдпрд╛ред рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП COMPOSE_X_PROJECT_NAME
env рд╡реИрд░рд┐рдПрдмрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд╕рдВрднрд╡ рд╕рдорд╛рдзрд╛рди:
.env
рдлрд╝рд╛рдЗрд▓ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдпрд╣ рддрдм рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬрдм рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕реНрдерд╛рди рд╕реЗ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ( рдХрдорд╛рдВрдбреНрд╕ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ, рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд▓рд┐рдЦреЗрдВ )defined by the project, that can be checked in
рд▓рд┐рдП рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИрдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдореИрдВ рдпрд╣рд╛рдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдорд╛рдорд▓реЗ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред
рдкреНрд░рд┐рдп рдЕрдиреБрд░рдХреНрд╖рдХреЛрдВ, рдХреГрдкрдпрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ PR-5369 рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ-рдХреЗрд╕ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдбреЙрдХрдЯрд░-рдХрдореНрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╡реИрдХрд▓реНрдкрд┐рдХ project_name
рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдкрд░рд┐рдЪрдп рджреЗрддреЗ рд╣реИрдВред рдпрд╣ рд╕рдВрдкрддреНрддрд┐ рдХрдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд▓реЗрддреА рд╣реИ рд▓реЗрдХрд┐рди рдкрд░реНрдпрд╛рд╡рд░рдг рдпрд╛ рдХрд╛рд░реНрдпрд╢реАрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддреА рд╣реИред
- рдХреНрдпрд╛ рдХреЛрдИ рдФрд░ рд╡рд┐рдХрд▓реНрдк рд╣реИ?
рдпрд╣ рд╡рд┐рдХрд▓реНрдк docker-compose --project-directory <PATH>
(рд╡реИрдХрд▓реНрдкрд┐рдХ рдХрд╛рд░реНрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ)ред .env
рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рднреА рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдорд┐рд╢реНрд░рдг рдореЗрдВ рдПрдХ рдФрд░ рдмрд╛рд░реАрдХ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП:
рдореЗрд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореЗрд░реЗ рдкрд╛рд╕ рджреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╣реИрдВ, рдПрдХ рдореБрдЦреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП (рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ / рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП / рддреИрдирд╛рддреА) рдФрд░ рдПрдХ рдХреЗ рд▓рд┐рдП devops (Dockerfile рдХреА, docker-compose.yml, рдЖрджрд┐)
рд╣рдорд╛рд░реЗ рд╡рд░реНрддрдорд╛рди рд╕реЗрдЯрдЕрдк рдореЗрдВ, рдореБрдЦреНрдп рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд░реЗрдкреЛ рд░реВрдЯ рдкрд░ рд╣реИред / рдФрд░ рдбреЗрд╡реЛрдкреНрд╕ рд░реЗрдкреЛ рдХреА рдЬрд╛рдБрдЪ рдПрдХ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП рдХреА рдЬрд╛рддреА рд╣реИред
рдЗрд╕ рд╕реЗрдЯрдЕрдк рдореЗрдВ .env рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
рдЙрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдБ docker-compose рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддреА рд╣реИ (рдХрд░рдВрдЯ рд╡рд░реНрдХрд┐рдВрдЧ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА)ред
(рдбреЙрдХреНрдЯрд░ рд░реЗрдлрд░реА)
рдЬреЛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ: docker-compose -f devops/docker-compose.yml
рдмреЗрд╢рдХ, рд╣рдо -p рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдпрд╣рд╛рдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рд╣рдо рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдорд╛рдирд╡реАрдп рддреНрд░реБрдЯрд┐ рд╕реЗ рдЧреНрд░рд╕реНрдд рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдпрджрд┐ .env (рдпрд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд docker-compose.env) рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЙрд╕реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕реЗ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд╣рд╛рдБ docker-compose.yml рд░рд╣рддрд╛ рд╣реИ, рддреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
Docker-compose.yml рдХреЗ рдЕрдВрджрд░ env_file рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдЪрд▓рддрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЙрди env var рдХреЛ рдХреЗрд╡рд▓ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рд╣реА рд▓рдЧрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред
рдЕрдВрдд рдореЗрдВ, рдореЗрд░рд╛ рд▓рдХреНрд╖реНрдп рдореЗрд░реА рдбреЗрдкреНрд╕-рд╕рдВрдмрдВрдзрд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╕реНрд╡-рдирд┐рд╣рд┐рдд рд░рдЦрдирд╛ рд╣реИ рдЬреЛ рдореЗрд░реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛрдб рдЖрдзрд╛рд░ рдХреЛ рдкреНрд░рджреВрд╖рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдЙрд╕ рд░реЗрдкреЛ рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдкрд╣реБрдБрдЪрд╛ / рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдпрд╣ рд╡рд┐рдХрд▓реНрдк docker-compose --project-directory рд╣реИ
(рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдХрд╛рд░реНрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ)ред .Env рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рднреА рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
@ schmunk42 рдПрдХ рдЕрдЪреНрдЫрд╛ рд╢реЙрдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди --project-directory
.env рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдореИрдВрдиреЗ рдирд┐рдореНрди рдХреЗ рд░реВрдк рдореЗрдВ рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИ, .env рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ( рдкрд░рд┐рдпреЛрдЬрдирд╛ рдлрд╝рд╛рдЗрд▓реЗрдВ ):
docker-compose -f PR_5378/docker-compose.yml -f PR_5378/docker-compose2.yml --project-directory PR_5378 down
рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реБрдП, рдореИрдВ рдЙрди рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рд╣рдЯрд╛ рд░рд╣рд╛ рд╣реВрдБ рдЬреЛ рд░рдЪрдирд╛рддреНрдордХ рддрд░реАрдХреЗ рд╕реЗ рдмрд╛рддрдЪреАрдд рдореЗрдВ рдпреЛрдЧрджрд╛рди рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВред рдореБрдЭреЗ рдмрдЪреНрдЪреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдореЗрдВ рдХреЛрдИ рджрд┐рд▓рдЪрд╕реНрдкреА рдирд╣реАрдВ рд╣реИред
рдПрдХ рдмрд╕рдиреЗ рдпреЛрдЧреНрдп .env
рдирд╛рдо рд╣реЛрдиреЗ рдкрд░
рдПрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдкрджрдирд╛рдо рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдЬреЛ .env
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ, рдпрд╣ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдПрдХ рдкрд░рд┐рдкрддреНрд░ рдирд┐рд░реНрднрд░рддрд╛ рд╣реИред рд╣рдореЗрдВ рдПрдХ рдЕрдкрд╡рд╛рдж рдкреЗрд╢ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреА рдЬрд╛рддреА рд╣реИ, рдЬреЛ рд╕рдордЭрджрд╛рд░ рд╣реЛрдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐-рд╕рд╣рдЬ рд╣реИред
.env
рдирд╛рдо рдкрд░ рд╣реА
рдЕрдм рддрдХ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ .env
рдирд╛рдо рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдФрд░ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рдПрдХ рднреАрдбрд╝ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЖрдорддреМрд░ рдкрд░ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рдкреНрд░рддрд┐рдмрджреНрдз рд╣реЛрдиреЗ рдХрд╛ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред рд╣рдо рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд╛рдо (рдЬреИрд╕реЗ docker-compose.env
) рдХреЛ .env
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЧрд┐рд░рд╛рд╡рдЯ рдХреЗ рд╕рд╛рде рдкреЗрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдкреВрд░реНрд╡ рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рдЗрд╕ рдЗрд░рд╛рджреЗ рдХреЗ рд╕рд╛рдеред рдЗрд╕реЗ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
Compose рдлрд╝рд╛рдЗрд▓ рдореЗрдВ project_name
рдЬреЛрдбрд╝рдиреЗ рдкрд░
рд╣рдордиреЗ рдХрдИ рдмрд╛рд░ рдкрд╣рд▓реЗ рд╣реА рдЗрд╕ рдкрд░ рдЕрдкрдирд╛ рд░реБрдЦ рджреЛрд╣рд░рд╛рдпрд╛ рд╣реИ - рдЙрди рдмрджрд▓рд╛рд╡реЛрдВ рдХрд╛ рд╡рд┐рд░реЛрдз рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХреБрдЫ рдХрд╛рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдбреИрдирд┐рдпрд▓ рдХреА рдирд╡реАрдирддрдо рдЯрд┐рдкреНрдкрдгреА рджреЗрдЦреЗрдВред рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдордиреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪрд╛ред рд╣рдордиреЗ рдЗрд╕рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рдиреЗ рдореЗрдВ рдмрд╣реБрдд рд╕рдордп рдмрд┐рддрд╛рдпрд╛ рд╣реИ, рдФрд░ рд╣рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдЗрд╕реЗ (рдЗрд╕ рд░реВрдк рдореЗрдВ) рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдФрдЪрд┐рддреНрдп рд╕рд┐рджреНрдз рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдмрд╣реБрдд рдЕрдзрд┐рдХ рднреБрдЧрддрдирд╛ рд╣реЛрдЧрд╛ред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд░реВрдк рд╕реЗ рдХрд╣реЗ рддреЛ, # 5378 рд╢рд╛рдпрдж рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рд░рд┐рдпрд╛рдпрдд рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╣рдо рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдСрдкреНрдЯ-рдЗрди рдФрд░ рдмреИрдХрд╡рд░реНрдб-рдХрдореНрдкреЗрдЯрд┐рдмрд▓ рд╣реИ (EDIT: рдмреЗрд╢рдХ, рдореИрдВ рдЙрди рд╕реБрдЭрд╛рд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдЦреБрд▓рд╛ рд╣реВрдБ рдЬреЛ рдЗрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рднреАрддрд░ рдЙрд╕ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рддреЗ рд╣реИрдВ)
--project-directory
рдереЛрдбрд╝рд╛ рд╕рд╛ рд╕реНрдкрд░реНрд╢, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдЕрднреА рдереЛрдбрд╝рд╛ рдЯреВрдЯрд╛ рд╣реБрдЖ рд╣реИред рдкреВрд░реНрд╡рд╡реНрдпрд╛рдкреА рдореЗрдВ, рдореИрдВ рдЗрд╕реЗ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рдЬреЛрдбрд╝рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╣рд▓ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреИрджрд╛ рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛ рдФрд░ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдордп рдмрд┐рддрд╛рдКрдВрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдареАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЕрдЬреАрдм рдХрд┐рдирд╛рд░реЗ рдорд╛рдорд▓реЗ рд╣реИрдВ рдЬреЛ рдЗрд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдмрдирд╛рддреЗ рд╣реИрдВред
рд╕рднреА рдиреЗ рдХрд╣рд╛ рдХрд┐, рдХреНрдпрд╛ рдХреЛрдИ рдРрд╕рд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП docker-compose.env
+ # 5378 рд╕рдВрддреЛрд╖рдЬрдирдХ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реЛрдЧрд╛? рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдЖрдкрдХрд╛ рдкрд╕рдВрджреАрджрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдкреВрдЫ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдЙрдЪрд┐рдд рд░рд┐рдпрд╛рдпрддреЗрдВ рджреЗ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЖрдк рд╕рд╛рдордирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рднреА рдПрдХ рддрд░рдл рдордЬрд╛рдХ рдХрд░ рд░рд╣реЗ рд╣реИрдВ ...
рдореБрдЭреЗ рдЕрднреА рднреА рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рдбреИрдирд┐рдпрд▓ рдХреА рдирд╡реАрдирддрдо рдЯрд┐рдкреНрдкрдгреА "рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЧреБрдгрд╡рддреНрддрд╛" рд╕реЗ рдХреИрд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдпрд╣ рдЕрдВрдЧреВрдареЗ рдХрд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдирд┐рдпрдо рд╣реИ рдХрд┐ рдПрдХ рд╢рдмреНрджрдХреЛрд╢ рдХреА рдХреБрдВрдЬреА рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдХрднреА рднреА рдкрд┐рдЫрдбрд╝реЗ рд╕рдВрдЧрддрддрд╛ рдЯреВрдЯрдиреЗ рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдореЗрд╢рд╛ рдРрд╕реЗ рдорд╛рдорд▓реЗ рд╣реЛрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдиреЗ рдЪреАрдЬреЛрдВ рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдкрдЪрд╛рддрд╛ рд╣реВрдВред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рд╢рд┐рд╡рд┐рд░ рдЬреЛ project-name
(рдпрд╛ рдЬреЛ рднреА) рдлрд╝реАрд▓реНрдб рдЪрд╛рд╣рддрд╛ рд╣реИ рд╡рд╣ рдЙрдЪрд┐рдд рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ "рдирд╛рдо" рдЯреВрд▓рд┐рдВрдЧ рдХреЗ рдХрдИ рдкрд╣рд▓реБрдУрдВ рдХреЗ рд▓рд┐рдП рдореМрд▓рд┐рдХ рд╣реИред рдЗрд╕ рд╢рд┐рд╡рд┐рд░ рдореЗрдВ рд▓реЛрдЧ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рдЪрд░ рдпрд╛ рдЭрдВрдбреЗ рдЬреИрд╕реЗ рдЖрджреЗрд╢ рдЬреИрд╕реЗ рдЕрд╕реНрдерд╛рдпреА рд╕рдорд╛рдзрд╛рди рдХреЗ рдореБрджреНрджреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдкрддреНрдерд░ рдореЗрдВ рдХрд╣реАрдВ рднреА рдпрд╣ рдирд╛рдо рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд░рдЪрдирд╛рддреНрдордХ рд░рд╣рд╛ рд╣реИред
@estarter рдореИрдВ рдЗрд╕реЗ рдПрдХ рдмрдЧ
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореИрдВ рдпрд╣ .env
рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ PR_5378
рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░реВрдБрдЧрд╛:
docker-compose --project-directory PR_5378 -f docker-compose.yml -f docker-compose2.yml down
Compose рдлрд╝рд╛рдЗрд▓ рдореЗрдВ project_name рдЬреЛрдбрд╝рдиреЗ рдкрд░
@ рдкрд┐рдВрдбрд▓реА- рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ, рдирд┐рд░реНрдгрдп рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореИрдВ рдЕрднреА рднреА рдкреГрд╖реНрдарднреВрдорд┐ рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВред рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рднреА рдпрд╣ рдкреВрдЫрд╛ рд╣реИ рдФрд░ рдХрднреА рдХреЛрдИ рдЬрд╡рд╛рдм рдирд╣реАрдВ рдорд┐рд▓рд╛ (рдЬреЛ рдХрд┐ рдПрдХ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЪрд░реНрдЪрд╛ рдореБрдЭреЗ рдЗрддрдирд╛ рдкрд░реЗрд╢рд╛рди рдХрд░рддреА рд╣реИ)ред
рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ container_name
рдФрд░ рдпрд╣рд╛рдБ рддрдХ рдХрд┐ network
docker-compose.yml
рдХреНрдпреЛрдВ рд╣реИрдВ? рдкрд╣рд▓рд╛ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдВрдШрд░реНрд╖реЛрдВ рдХрд╛ рднреА рд╕реНрд░реЛрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдмрд╛рдж рд╡рд╛рд▓рд╛ рдЕрддреНрдпрдзрд┐рдХ рдореЗрдЬрдмрд╛рди рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИред рдЖрдкрдХреЗ рддрд░реНрдХ рдХреЗ рдмрд╛рдж рдЙрди рджреЛрдиреЛрдВ (рдФрд░ рдЕрдиреНрдп) рдХреЛ рднреА рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВ project_name
рдХрд╛ рдЕрдВрддрд░ рджреЗрдЦрдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд╣реВрдВред
рдХреГрдкрдпрд╛, рдЗрд╕ рдкреНрд░рд╢реНрди рдХреЛ рдлрд┐рд░ рд╕реЗ рдЕрдирджреЗрдЦрд╛ рди рдХрд░реЗрдВред
@ рдорд╛рдЗрдХрд▓-рдХреЗ рдХреНрдпрд╛ рдЖрдк project_name
container_name
? рдпрджрд┐ рдЖрдк рдРрд╕рд╛ рдХрд╣ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдЖрдкрдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдХрдИ рдХрдВрдЯреЗрдирд░ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╛ рдореИрдВрдиреЗ рддреБрдореНрд╣реЗрдВ рдЧрд▓рдд рд╕рдордЭрд╛ рд╣реИ?
рдЬрдмрдХрд┐ network
, рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рд╣реЛрд╕реНрдЯ-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИред рдРрд╕реЗ рдХрдИ рдорд╛рдорд▓реЗ рд╣реИрдВ рдЬрдм рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдПрдХ рдХреЗрдВрджреНрд░реАрдп рдкреГрдердХ рдиреЗрдЯрд╡рд░реНрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдХрдВрдЯреЗрдирд░ рджреВрд╕рд░реЗ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рддрд╛ рд╣реИред рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдиреНрдпрд╛рд╕ docker-compose.yml
рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВред
@AyushyaChitransh рдЖрдкрдиреЗ рдЧрд▓рдд рд╕рдордЭрд╛ред рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ: container_name
, network
рдФрд░ рджреВрд╕рд░реЛрдВ рдХреЗ docker-compose.yml
project_name
рд╣реЛрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП? рд╡реЗ рд╕рднреА рд╕рдВрдШрд░реНрд╖ рдпрд╛ рдореЗрдЬрдмрд╛рди рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдХреНрд╖рдорддрд╛ рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╕рд╛рдЭрд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
@ рдЖрдирдВрдж рдореБрдЭреЗ рдЗрд╕ рдЕрд╡рд╕рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рд╣реИред рд╕рд╛рде рд╣реА, рдХрдВрдЯреЗрдирд░ рдХреЗ рдирд╛рдореЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдмрддрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрдВрдкреЛрдЬ рдлрд╛рдЗрд▓ рдореЗрдВ рдХрдВрдЯреЗрдирд░ рдХрд╛ рдирд╛рдо рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реИ, рд╣реИ рдирд╛?
рд╣рд╛рдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЗрд╕реЗ рдЬреЛрдбрд╝рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдерд╛ред
рд╕рдВрдмрдВрдзрд┐рдд рдЪрд░реНрдЪрд╛ рд╕реЗ рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдиреЗрдЯрд╡рд░реНрдХ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ ред
@estarter рдореИрдВ рдЗрд╕реЗ рдПрдХ рдмрдЧ
@ schmunk42 рдореИрдВ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЕрдиреБрд░рдХреНрд╖рдХ рдЗрд╕рд╕реЗ рдЕрд╡рдЧрдд рд╣реИрдВ - рдЬреЛрдлреНрд░реА рдХреА рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ On --project-directory
# 4709, # 4933 рдФрд░ # 4841
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ PR_5378 рдореЗрдВ .env рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдЧрд╛:
docker-compose --project-directory PR_5378 -f docker-compose.yml -f docker-compose2.yml down
рдЖрдкрдиреЗ рдорд╛рди рд▓рд┐рдпрд╛ рдХрд┐ --project-directory
-f
рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдХрдорд╛рдВрдб IOError: [Errno 2] No such file or directory: u'./docker-compose.yml'
рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ рдХрд┐ --project-directory
-f
рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ - рдЕрдиреНрдпрдерд╛ рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдХреНрдпрд╛ рдПрдХ рджреБрдГрд╕реНрд╡рдкреНрди --project-directory
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ рдФрд░ рд╕рднреА рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рдХрдИ рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ рдлрд╛рдЗрд▓реЗрдВред
рдореИрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╣рд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдкрд░ рдЗрддрдирд╛ рд╡рд┐рдЪрд╛рд░-рд╡рд┐рдорд░реНрд╢ рдХрд░рдХреЗ рдмрд╣реБрдд рд╣реИрд░рд╛рди рд╣реВрдВред
рдпрд╣ рдкреВрд░реНрд╡рддрд╛ рдХрд╛ рдХреНрд░рдо рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ:
project_name
рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк # 1 рдпрд╛ рд╡рд┐рдХрд▓реНрдк # 4 рдирд╣реАрдВ рд╣реИред рдпрд╣ рдореВрд▓рднреВрдд рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рд▓реЛрдЧ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдПрдХ рдкрд┐рдЫрдбрд╝реЗ рд╕рдВрдЧрдд рддрд░реАрдХреЗ рд╕реЗ рд╣рд▓ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд▓рдЧрддрд╛ рд╣реИред
рд╣рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд╡рд┐рддреНрд░рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджрд╛рд░реНрд╢рдирд┐рдХ рддрд░реНрдХ рджрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рд╢рд╛рдпрдж рд╕рд╣рд╛рдпрдХ рди рд╣реЛрдВред рджреВрд╕рд░реА рдУрд░ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕рд╛рдорд╛рдиреНрдп OSS рдХреИрд╕реНрдХреЗрдбрд┐рдВрдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдпреЛрдЬрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛, рдмрд╣реБрдд рд╕рд╣рд╛рдпрдХ рд╣реИред
рд╣рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд╡рд┐рддреНрд░рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджрд╛рд░реНрд╢рдирд┐рдХ рддрд░реНрдХ рджрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ рдЬреЛ рд╢рд╛рдпрдж рд╕рд╣рд╛рдпрдХ рди рд╣реЛрдВред
рдЗрд╕ рддрд░реНрдХ рдХреЗ рдмрд╛рдж рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрджреНрджреЗрд╢реНрдп рдирд╣реАрдВ рд╣реИред рд╢реБрд░реВ рд╕реЗ рд╣реА , рд╣рдо рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд╣реИрдВ рдХрд┐ рд╣рдо рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд╣рд╛рдБ рдЦрдбрд╝реЗ рд╣реИрдВред
рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЗрд╕ рдкрд░ рдкрд╛рд░рджрд░реНрд╢реА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдХрднреА рднреА docker-compose
ред рдпрджрд┐ рдЖрдк рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХрдорд╛рддреНрд░ рд╕рдВрдХрд▓реНрдк рдорд╛рд░реНрдЧ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдФрд░ рдЗрд╕реЗ рд╕реНрд╡рдпрдВ рдХрд░рдиреЗ рдХреА рдмрд╣реБрдд рд╣реА рдУрдПрд╕рдПрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рд╛рде рдЬрд╛рдирд╛ рд╣реЛрдЧрд╛ред рдХреЛрдб рдЙрдкрд▓рдмреНрдз рд╣реИ рдФрд░ рдПрдХ рдмрд╣реБрдд рд╣реА рдЕрдиреБрдЬреНрдЮреЗрдп рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреНрдпреЛрдВ рдХрдВрдЯреЗрдирд░_рдирд╛рдо рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдиреЗрдЯрд╡рд░реНрдХ рднреА docker-compose.yml рдореЗрдВ рд╣реИ? рдкрд╣рд▓рд╛ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдВрдШрд░реНрд╖реЛрдВ рдХрд╛ рднреА рд╕реНрд░реЛрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдмрд╛рдж рд╡рд╛рд▓рд╛ рдЕрддреНрдпрдзрд┐рдХ рдореЗрдЬрдмрд╛рди рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИред рдЖрдкрдХреЗ рддрд░реНрдХ рдХреЗ рдмрд╛рдж рдЙрди рджреЛрдиреЛрдВ (рдФрд░ рдЕрдиреНрдп) рдХреЛ рднреА рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВ Project_name рдХрд╛ рдЕрдВрддрд░ рджреЗрдЦрдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛ред
container_name
, рдЙрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдЬреАрд╡рдирдХрд╛рд▓ рдореЗрдВ рдмрд╣реБрдд рдкрд╣рд▓реЗ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЬреИрд╕рд╛ рдХрд┐ @ schmunk42 рдиреЗ рдмрддрд╛рдпрд╛, рдЕрдЧрд░ рд╣рдо рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд▓реНрдкрдирд╛ рдореЗрдВ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдЗрд╕рдХрд╛ рд▓рдЧрд╛рддрд╛рд░ рджреБрд░реБрдкрдпреЛрдЧ рд╣реБрдЖ рд╣реИ рдФрд░ рд╡рд░реНрд╖реЛрдВ рд╕реЗ рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрдирдЧрд┐рдирдд рдореБрджреНрджреЛрдВ рдХрд╛ рд╕реНрд░реЛрдд рд░рд╣рд╛ рд╣реИред
network
, рдореБрдЭреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рджрд┐рдорд╛рдЧ рдореЗрдВ рдХреИрд╕реЗ рддреБрд▓рдирд╛ рдХрд░рддрд╛ рд╣реИ?
рд╡рд┐рдХрд▓реНрдк # 4 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВрдиреЗ рдХреНрдпрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ? рдореИрдВрдиреЗ рд╕реНрдерд╛рдиреАрдп рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд▓рд┐рдП .docker-compose
рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдХреБрдЫ рдмрд╛рддрдЪреАрдд рджреЗрдЦреАред рдпрд╣ _x_
рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рдЭрдВрдбреЗ (рдЬреЛ рдЕрднреА рднреА рдкрд░реНрдпрд╛рд╡рд░рдг рдкреНрд░рдмрдВрдзрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ) рдХреЛ рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмреЗрд╣рддрд░ (imo) рд╣реЛрдЧрд╛ред
рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╣реЛрдЧрд╛:
# <my-project-dir>/.docker-compose
project_name: foobar
рдЙрдкрд░реЛрдХреНрдд рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╡рд┐рдХрд▓реНрдк рд╕реЗ рдЕрд▓рдЧ рд╣реИ рдФрд░ рдкреВрд░реНрд╡рд╡рд░реНрддреА рд╕реВрдЪреА рдореЗрдВ рдХрдо рд╣реИред
рдпрд╣ рдореЗрд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕реВрдЪреА рд╕реЗ рдПрдХ рдФрд░ рдорд╛рдирдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкрде рдХреЛ рдЯрд┐рдХ рдХрд░рддрд╛ рд╣реИред
@thedeeno рд╣рдорд╛рд░реЗ рджрд┐рдорд╛рдЧ рдореЗрдВ, COMPOSE_PROJECT_NAME
.env
рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрджрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреВрд░рд╛ рд╣реЛрддрд╛ рд╣реИ (рдЙрд╕реА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреНрд░рдо рдХреЗ рд╕рд╛рде рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдХреА рд░реВрдкрд░реЗрдЦрд╛ рдореЗрдВ рд╣реЛрдЧрд╛)ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╣рдордиреЗ рдЖрдкрдХреЛ .env
рдирд╛рдо рдХреЗ рдЦрд░рд╛рдм рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рд╕реБрдирд╛ рд╣реИ , рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╣рдо рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ docker-compose.env
рд╡рд┐рдЪрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдХреНрдпрд╛ рд╡рд╣ рдХрд╛рдо рддреБрдореНрд╣рд╛рд░реЗ рд▓рд┐рдпреЗ рд╣реЛрдЧрд╛?
рд╣рдорд╛рд░реЗ рджрд┐рдорд╛рдЧ рдореЗрдВ, .env рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрджрд░ COMPOSE_PROJECT_NAME рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ
@ рдкрд┐рдВрдбрд▓реА- рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ рд╣рдо рдЕрд╕рд╣рдордд рд╣реИрдВред рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдХрд░рддрд╛ рд╣реИред
рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдкреНрдпрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдо .env
рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╕реНрд░реЛрдд рд╣реИрдВред рдпрд╣ рд╕реНрдерд╛рдиреАрдп рд░рд╣рд╕реНрдпреЛрдВ рдФрд░ рдЕрдиреНрдп рд╕реНрдерд╛рдиреАрдп рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рд╣реА рдкрд╛рд░рдВрдкрд░рд┐рдХ рд╕реНрдерд╛рди рд╣реИред
рдпрд╣ number 3
рдКрдкрд░, рдкрд░реНрдпрд╛рд╡рд░рдг рдЖрдзрд╛рд░рд┐рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде рд╕рд╣рд╛рдпрддрд╛ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдЬрдм рд╣рдо рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдирд╣реАрдВ рджреЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рд╣рдореЗрдВ рдкрд▓рд╛рдпрди рдирд╣реАрдВ рджреЗрддрд╛ ( number 4
)ред
рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣рдорд╛рд░реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдкрд╛рд╕ рдЕрдкрдирд╛ .env
рдлрд╝рд╛рдЗрд▓ рд╣реЛрдЧреА (VC рдирд╣реАрдВ)ред рдЗрд╕рдореЗрдВ docker-compose.yaml
рдЗрдВрдЬреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рд░рд╣рд╕реНрдп рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЗрд╕реЗ рдкреНрд░реЗрдо рдХрд░реЗрдВред
рд╣рдо рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рд╣реЛ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЪреВрдВрдХрд┐ рдпрд╣ рдХреБрдЫ рдЯреВрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рджреГрдврд╝рддрд╛ рд╕реЗ рдпреБрдЧреНрдорд┐рдд рд╣реИред рдЪреВрдВрдХрд┐ .env
рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ рдЕрдкрдиреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ COMPOSE_PROJECT_NAME
рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде рд╕реЗрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛; рдФрд░ рдпрд╣ _ рдмрд╛рдд рд╣реИ_ рджреВрд╕рд░реЛрдВ рдХреА рддрд░рд╣ рдирд╣реАрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХреЛрдИ рд░рд╣рд╕реНрдп рдирд╣реАрдВ рд╣реИред
рддреЛ рджреБрдГрдЦ рдХреА рдмрд╛рдд рд╣реИ, рдмрд╕ .env
рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реНрд░реЛрдд рдкрде рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ рд╣рдореЗрдВ рдпрд╣рд╛рдБ рдорджрдж рдирд╣реАрдВ рдорд┐рд▓реЗрдЧреАред рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкреНрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ .env
рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ sourced рд╣реИред рд╣рдо рдЗрд╕ рддрд░рд╣ рд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдореИрдВ рдЕрдкрдиреЗ рдЕрднреНрдпрд╛рд╕ рд╕реЗ рдПрдХ usecase рджрд┐рдЦрд╛рддрд╛ рд╣реВрдБ:
рдореИрдВ рдЫрд╡рд┐ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП .env
рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдФрд░ рдЕрдЬреАрдм рд╕реАрдб / рдСрдХ / рдкрд░реНрд▓ / рдЬреЛ рдХреБрдЫ рднреА рдкрд╛рд░реНрд╕рд┐рдВрдЧ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╕рд┐рд░реНрдл CI рдореЗрдВ рдореВрд▓реНрдп рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ:
echo APP_VERSION=$CI_COMMIT_REF_NAME > .env
docker-compose pull
docker-compose up -d
рдмрд╛рдж рдореЗрдВ docker-compose.yml
, рдЫрд╡рд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
image: my.registry.example.net/app:${APP_VERSION}
рдЕрдм рдЕрдЧрд░ рдореБрдЭреЗ рдЙрд╕ рддрд░рд╣ рдХреЗ рдЕрдзрд┐рдХ рдЪрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рдХреБрдЫ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдХрдИ .env
рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рд╢рд╛рдпрдж "рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛" рд╕рдорд░реНрдерди рднреА рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ: docker-compose.env.d/*
рдпрд╛ .docker-compose.env.d/*
рдпрд╛ docker-compose.d/*
ред
рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рдХреЗ рдЧреНрд▓реЛрдм рддреБрд░рдВрдд рдПрдбрд┐рдЯрд░ рдмреИрдХрдЕрдк рдХреА рд╕рдорд╕реНрдпрд╛рдПрдБ рдкреИрджрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ( *~
, *.bak
) рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдХреБрдЫ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ: docker-compose.env.d/*.sh
... рд▓реЗрдХрд┐рди рдлрд┐рд░, рд╢рд╛рдпрдж рдпрд╣ docker-compose.yml
.env
рдореЗрдВ рд▓реЛрдб рдХрд░ рд░рд╣рд╛ рд╣реИ рдпрд╛ рдЪрд┐рдХрди-рдЕрдВрдбреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреЗрд╢ рдХрд░реЗрдЧрд╛, рдЬреЛ рдЗрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ? рдореИрдВ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдХреИрд╕реЗ рд╡рд┐рдиреНрдпрд╛рд╕ рдкрд╛рд░реНрд╕рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ :)
рдереЛрдбрд╝рд╛ рд╕рд╛ рдЕрдкрдорд╛рдирдЬрдирдХ, рд▓реЗрдХрд┐рди COMPOSE_PROJECT_NAME
env рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд┐рдпрдВрддреНрд░рдг рдЙрдкрд╕рд░реНрдЧ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рдпрд╣ рдЕрднреА рднреА A-Za-z0-9_
рд╕реЗ рдорд┐рд▓рд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЫреАрди рд▓рд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ ... рдореИрдВ рдЕрдкрдиреЗ рдЙрдкрд╕рд░реНрдЧ рдореЗрдВ -
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред (рдореБрдЭреЗ рдпрд╣ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрднреА рдХрд╣рд╛рдВ рд░рд┐рдкреЛрд░реНрдЯ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)
рдпрд╣ рдЙрдиреНрд╣реАрдВ рдкрд╛рддреНрд░реЛрдВ рдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рддрд░реНрдХрд╕рдВрдЧрдд рд╣реЛрдЧрд╛ рдЬреЛ рдЦреБрдж рдХреЛ рд╕реАрдорд┐рдд рдХрд░рддреЗ рд╣реИрдВред
@glensc рдкрд░реНрдпрд╛рд╡рд░рдг рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рд╣реИрдВред рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ docker-compose
рдХреА рдЬрд┐рдореНрдореЗрджрд╛рд░реА рд╣реИред
рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рдореИрдВрдиреЗ рджреЗрдЦреА рд╣реИ, рд╡рд╣ рд╣реИ рдЕрдиреНрдп рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рд╕реНрд╡рддрдГ рд╕реНрд░реЛрдд .env
@glensc @thedeeno рддреЛ рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ *.env
рдлрд╛рдЗрд▓реЗрдВ рд╣реЛрдВрдЧреА, рдПрдХ рдХрд╛ рдорддрд▓рдм рдЕрдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдПрдХ рдирд┐рдЬреА рд░рдЦрд╛ рдЧрдпрд╛ рдерд╛, рдмрд╛рдж рд╡рд╛рд▓реЗ рдУрд╡рд░рд░рд╛рдЗрдбрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдЬрдм рджреЛрдиреЛрдВ рдПрдХ рд╣реА рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ?
рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реЗ рд╣рдлреНрддреЗ рдЕрдкрдиреА рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рд╡рд┐рдиреНрдпрд╛рд╕ .env
рдирд╛рдореЛрдВ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ред
рдПрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ docker-compose.env
(рдЬрдмрдХрд┐ рдЕрднреА рднреА рдирд┐рдЬреА .env
рд╕реЛрд░реНрд╕рд┐рдВрдЧ рдСрдЯреЛ) рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░реЗрдЧрд╛!
рд╣рдо рдЗрд╕реЗ рдПрдХ рдЖрд░ рд╕реА рдлрд╝рд╛рдЗрд▓ рдХреА рддрд░рд╣ рдорд╛рдирддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╕реНрд░реЛрдд рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ / рдирд┐рдЬреА рдПрдирд╡реА рдлрд╛рдЗрд▓реЗрдВ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдпрд╣рд╛рдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЛрдВ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдпрджрд┐ -
рдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдореЗрдВ рднреА рдЕрдиреБрдорддрд┐ рджреА рдЬрд╛рдПрдЧреА, рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред
@thedeeno @glensc рдЖрдк рдПрдХ рдпреВрдЬрд╝-рдХреЗрд╕ рджреЗрдирд╛ рдЬрд╣рд╛рдВ рдПрдХ рдирд┐рдЬреА ENV рдлрд╝рд╛рдЗрд▓ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдПрдХ рдореЗрдВ рдорд╛рдиреЛрдВ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХреА рдЬрд░реВрд░рдд рдХреЛ рдЦреБрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реИ?
рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ docker-compose.env
рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдСрдЯреЛ-рдлреЙрд░рд╡рд░реНрдб рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред рдЖрдк рддрдм рднреА .env
рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдЬреЛ рдЪрд╛рд╣реЗрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдореБрдЭреЗ docker-compose
рдФрд░ рд╕реНрдЯреИрдХ рдореЗрдВ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдорд┐рдХреНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреНрд░рдорд┐рдд рдХрд░рддрд╛ рд╣реИред
@ schmunk42 рдореЗрд░реЗ рдкрд╛рд╕ рд╡рд╣ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓рд╛ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд╡рд╣рд╛рдВ рдмрд╣реБрдд рдорджрдж рдирд╣реАрдВ рдорд┐рд▓реЗрдЧреАред рдореБрдЭреЗ рд╕рд┐рд░реНрдл project_name
рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред docker-compose.env
рд╣рд▓ рдХрд░рддрд╛ рд╣реИред
рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рдЖрдкрдХреЗ рджреВрд╕рд░реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдХрд╛ рдкрд╛рд▓рди рдХрд░реВрдВрдЧрд╛ред рд╣рдо рд░рд╣рд╕реНрдп рдХреЗ рд▓рд┐рдП .env
рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЙрдиреНрд╣реЗрдВ docker-compose.yaml
рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВред
@ schmunk42 https://github.com/docker/compose/issues/745#issuecomment -34965962
рдпрд╣ рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдХреЗрд╡рд▓ ${variables}
image
рдореВрд▓реНрдп рдХреЗ рд▓рд┐рдП ${variables}
рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрдЧрд╣ .env
рдлрд╝рд╛рдЗрд▓ рд▓рдЧрддреА рд╣реИред
@ рдПрд▓рдЧреЗрдВрд╕ рдПрдЧреНрд░реА !
рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдореИрдВ yml
рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рдУрд╡рд░рд░рд╛рдЗрдб рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд╕рд╛рде рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП docker-compose.override.env
рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджреВрдВрдЧрд╛ред
docker-compose.env
docker-compose.override.env
docker-compose.override.yml
docker-compose.yml
рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рдЖрдкрдХреЗ рджреВрд╕рд░реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдХрд╛ рдкрд╛рд▓рди рдХрд░реВрдВрдЧрд╛ред рд╣рдо рд░рд╣рд╕реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП .env рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЙрдиреНрд╣реЗрдВ docker-compose.yaml рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВред
@thedeeno рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдпрд╣ рдХрд░ рд░рд╣реЗ рд╣реИрдВ:
environment:
- ${SECRET_VAR_FROM_DOTENV}
рдЬреЛ docker-compose.override.env
рд╕рд╛рде рднреА рд╕рдВрднрд╡ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╛ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
env_file:
- .env
рдХреНрдпрд╛ рдЖрдк рдЫреЛрдбрд╝рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗ рд░рд╣реЗ рд╣реИрдВред рдЕрдзрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ-рд░рдЪрдирд╛ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ
рдкрде?
рдЕрдЧрд░ рд╣рдо .env рдХреА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕реЛрд░реНрд╕рд┐рдВрдЧ рдХреЛ рдЫреЛрдбрд╝ рджреЗрддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдореЗрд░реЗ рдкрд░ рдирдХрд╛рд░рд╛рддреНрдордХ рдкреНрд░рднрд╛рд╡ рдбрд╛рд▓реЗрдЧрд╛
рдЯреАрдо рдХреЗ рд╡рд░реНрдХрдлрд╝реНрд▓реЛред рд╣рдо рдЕрдиреНрдп рдЯреВрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдлрд╛рдЗрд▓ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдЕрдВрдд рдХрд░реЗрдВрдЧреЗ
рд╣рдорд╛рд░реЗ рд░рд╣рд╕реНрдпреЛрдВ рдХреЛ рджреЛ рдореЗрдВ рдбрд╛рд▓ рджреЗрдВ (.env рдФрд░ рдпрд╣ рдЕрдиреНрдп рдлрд╝рд╛рдЗрд▓ рдЬреЛ рдЖрдк рд╕реБрдЭрд╛ рд░рд╣реЗ рд╣реИрдВ)
рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдЕрдЧрд░ docker-compose рджреЗрдЦрдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИред
Thu, Nov 23, 2017 рдХреЛ 1:15 рдкреВрд░реНрд╡рд╛рд╣реНрди рдЯреЛрдмрд┐рдпрд╛рд╕ рдордВрдХ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдкрд░
рд▓рд┐рдЦрд╛ рдерд╛:
@glensc https://github.com/glensc рд╕рд╣рдордд рд╣реЛ рдЧрдП!
рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдореИрдВ docker-compose.override.env рдХреЛ рдЗрд╕рдХреЗ рд╕рд╛рде рд╕рдВрд░реЗрдЦрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рджреВрдВрдЧрд╛
yml рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рдУрд╡рд░рд░рд╛рдЗрдб рд╕реБрд╡рд┐рдзрд╛редрдбреЛрдХрд░-compose.env
рдбреЛрдХрд░-compose.override.env
рдбреЛрдХрд░-compose.override.yml
рдбреЛрдХрд░-compose.ymlрдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рдЖрдкрдХреЗ рджреВрд╕рд░реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдХрд╛ рдкрд╛рд▓рди рдХрд░реВрдВрдЧрд╛ред рд╣рдо рд░рд╣рд╕реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП .vv рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░
рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЙрдиреНрд╣реЗрдВ docker-compose.yaml рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░реЗрдВред@thedeeno https://github.com/thedeeno рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдпрд╣ рдХрд░ рд░рд╣реЗ рд╣реИрдВ:
рд╡рд╛рддрд╛рд╡рд░рдг:
- $ {} SECRET_VAR_FROM_DOTENV
рдЬреЛ docker-compose.override.env рдХреЗ рд╕рд╛рде рднреА рд╕рдВрднрд╡ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╛ рдЖрдк
рдХрд░ рд╕рдХрддрд╛ рд╣реИ:env_file:
- .env
-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/docker/compose/issues/745#issuecomment-346538315 , рдпрд╛ рдореВрдХ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAFIdxtbI7y3wW2TFa401Go6Msj0gC74ks5s5Q1vgaJpZM4DLBNs
ред
рдХреНрдпрд╛ рдЖрдк рдЫреЛрдбрд╝рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗ рд░рд╣реЗ рд╣реИрдВред рдЕрдзрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ-рд░рдЪрдирд╛ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ
рдкрде?
рдЬрд░реВрд░реА рдирд╣реАрдВ рдХрд┐, BC docker-compose
рдЕрднреА рднреА .env
рд▓рдЧ рд╕рдХреЗ, рдпрджрд┐ рдЕрдиреНрдп рдирд╣реАрдВ рдорд┐рд▓реЗ, рддреЛ fig.yml
рдПрдХ рдмрд╛рд░ рднреАред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рдорд▓реЛрдВ рдХреЛ рддрдп рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
.env
docker-compose.env
.env
docker-compose.override.env
.env
docker-compose.env
docker-compose.override.env
рдЕрдВрддрд┐рдо рдорд╛рдорд▓реЗ рдореЗрдВ .env
рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдкрд╣рд▓реЗ рджреЛ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдЕрдирд┐рдЪреНрдЫреБрдХ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдУрд╡рд░рд░рд╛рдЗрдб рдХреЗ рд░реВрдк рдореЗрдВ .env
рдХрд░реЗрдВрдЧреЗ, рджреВрд╕рд░реЛрдВ рдХреЛ рдПрдХ рд╡рд╛рдкрд╕реА рдХреЗ рд░реВрдк рдореЗрдВред
рдореЗрд░реЗ рд▓рд┐рдП .env рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рд╡рд┐рд╢реЗрд╖ рдЕрд░реНрде рд╡рд╛рд▓реА рдлрд╛рдЗрд▓ рд╣реИ
рд╡реНрдпрд╛рдкрдХ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдореЗрдВред
рдЖрдкрдХреЗ рддреАрд╕рд░реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдпрд╣ рд╕рдмрд╕реЗ рдХрдо рдкреВрд░реНрд╡рддрд╛ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓ рд╣реИред
рдореБрдЭреЗ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдХреЛ рд╕реНрд░реЛрдд рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИред рдореИрдВ рдирд╣реА
рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрдзрд┐рдХ рдкрд░рд┐рд╖реНрдХреГрдд рдХреИрд╕реНрдХреЗрдбрд┐рдВрдЧ рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджреЗрдЦрднрд╛рд▓
рдкреНрд░рдмрдВрдзрдиред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рд░рдгрдиреАрддрд┐ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗ рдХреБрдЫ рднреА рдирд╣реАрдВ рдерд╛
рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЗ рд╕рд╛рде рдХрд░рддреЗ рд╣реИрдВред
рдпрджрд┐ рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдЯреЗрдмрд▓ рд╕реЗ рджреВрд░ рд╣реИ рдФрд░ рдореЗрд░реА рдкреНрд░рддрд┐рдмрджреНрдз рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИ
рдЗрд╕ env рдЭрд░рдиреЗ рдХреЗ рд╕рд╛рде project_name рдЖрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдореИрдВ рдЦреБрд╢реА рд╕реЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдБрдЧрд╛
рд╣рд╛рд▓рд╛рдВрдХрд┐!
Thu, Nov 23, 2017 рдХреЛ 1:31 AM рдЯреЛрдмрд┐рдпрд╛рд╕ рдордВрдХ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com рдкрд░
рд▓рд┐рдЦрд╛ рдерд╛:
рдХреНрдпрд╛ рдЖрдк рдЫреЛрдбрд╝рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджреЗ рд░рд╣реЗ рд╣реИрдВред рдЕрдзрд┐рдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ-рд░рдЪрдирд╛ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ
рдкрде?рдЬрд░реВрд░реА рдирд╣реАрдВ рд╣реИ, рдИ.рдкреВ. рдХреЗ рд▓рд┐рдП рдбреВрдХреЛ-рдХрдВрдкреЛрдЬрд╝ рдЕрднреА рднреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ
рдЕрдиреНрдп рдирд╣реАрдВ рдкрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдПрдХ рдмрд╛рд░ рдЕрдВрдЬреАрд░ рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд╛рдорд▓реЛрдВ рдХреЛ рддрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрд╢реНрдХрд┐рд▓:.env
рдбреЛрдХрд░-compose.env.env
рдбреЛрдХрд░-compose.override.env.env
рдбреЛрдХрд░-compose.env
рдбреЛрдХрд░-compose.override.env.env рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдВрддрд┐рдо рдорд╛рдорд▓реЗ рдореЗрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рдирд╛ рд╣реИ
рдкрд╣рд▓реЗ рджреЛ рдХреЗ рд▓рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдУрд╡рд░рд░рд╛рдЗрдб рдХреЗ рд░реВрдк рдореЗрдВ .vv рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рджреВрд╕рд░реЛрдВ рдХреЛ рдПрдХ рдХреЗ рд░реВрдк рдореЗрдВ
рдореИрджрд╛рди рдЫреЛрдбрд╝рдирд╛ред-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/docker/compose/issues/745#issuecomment-346539891 , рдпрд╛ рдореВрдХ
рд╕реВрддреНрд░
https://github.com/notifications/unsubscribe-auth/AAFId95kZQIsiWp488JyPQOtGJju0OPbks5s5RFbgaJpZM4DLBNs
ред
рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рджрд┐рдорд╛рдЧ рдореЗрдВ рдХреИрд╕реЗ рддреБрд▓рдирд╛ рдХрд░рддрд╛ рд╣реИ?
@ рдирд▓реА
services:
web:
build: ./
networks:
- my_project_network_on_my_localhost
networks:
my_project_network_on_my_localhost:
external: true
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рдЧрд▓рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд░реЗрдкреЛ рдХреЛ рдХрднреА рднреА docker-compose.yml
рдХрд┐рдпрд╛ред рдЗрд╕рдореЗрдВ рд╣рдореЗрд╢рд╛ рдЕрддреНрдпрдзрд┐рдХ рд╣реЛрд╕реНрдЯ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╣реЛрддреА рд╣реИрдВред рдпрд╣ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдХрд╛рдлреА рднрд┐рдиреНрди рд╕рд╛рдордЧреНрд░реА рд╣реЛ рд╕рдХрддреА рд╣реИред
рдореИрдВ "4 project.rc" рдХрд╛ рдкреНрд░рд╢рдВрд╕рдХ рд╣реВрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рд╢рд╛рдпрдж рдПрдХ рдЕрд▓рдЧ рдкреНрд░рд╛рд░реВрдк рдХреЗ рдмрдЬрд╛рдп docker-project.yaml
рдЬреИрд╕реЗ рдХреБрдЫ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдореВрд▓ рдореБрджреНрджреЗ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рдЬрд╣рд╛рдБ рддрдХ рдореБрдЭреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреЛ рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд░рдЦрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рднреА рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рд╡рд╛рд▓ рд╣реИ, рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджреЗ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдореБрдЭреЗ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдХреЛ рд╕реНрд░реЛрдд рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИред
рдпрд╣ рдЕрднреА рднреА рдПрдХ рдмрд┐рдВрджреБ рд╣реИ рдЬреЛ рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИред рдПрдХрд▓ рд╣рд╛рд░реНрдб рдХреЛрдбрд┐рдд рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдХреЛрдИ рдмрд╛рд╣рд░реА рдЯреВрд▓рд┐рдВрдЧ рд╣реИ рдЬреЛ рдПрдХ рд╕реБрд╕рдВрдЧрдд рдирд╛рдо рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рдЯреВрд▓рд┐рдВрдЧ docker-compose
рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рд╕реЗрдЯ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ?
my_project_network_on_my_localhost
рдореБрдЭреЗ рдЧрд▓рдд рд▓рдЧрддрд╛ рд╣реИред рдЖрдкрдХреЛ рдмрд╛рд╣рд░реА рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? рдпрд╣ рд░рдЪрдирд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИред
my_project_network_on_my_localhost рдореБрдЭреЗ рдЧрд▓рдд рд▓рдЧрддрд╛ рд╣реИред
рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдерд╛ред рдореЗрд░реЗ рдкрд╛рд╕ рдЙрддреНрдкрд╛рджрди рд╕рд░реНрд╡рд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдореЗрд░реА рд╕реНрдерд╛рдиреАрдп рд╡рд┐рдХрд╛рд╕ рдорд╢реАрди рдкрд░ рдПрдХ рдЕрд▓рдЧ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрдЯрдЕрдк рд╣реИред рдореЗрд░реЗ docker-compose.yml
рдореЗрдВ рдХрдИ рдЕрдиреНрдп рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рднреА рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЙрддреНрдкрд╛рджрди рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддреА рд╣реИрдВ, рдЬреИрд╕реЗ рдореЗрд░реЗ рдкрд╛рд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рд╛рдорд╛рди рдмрдирд╛рдиреЗ рдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛ рдЬреЛ рдХреБрдЫ рднреА рд╣реИ рд╡рд╣рд╛рдВ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрдВрдЯреЗрдирд░ рд╣реИрдВред
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕рдордЭрд╛, рд╢реБрд░реВ рдореЗрдВ docker-compose
(рдпрд╛ рдмреЗрд╣рддрд░ fig
) рдХреЗ рдкреАрдЫреЗ рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рдпрд╣ рдерд╛ рдХрд┐ рдПрдХ рдЬрдЯрд┐рд▓ рдХрдВрдЯреЗрдирд░ рд╕реЗрдЯрдЕрдк рдХреЗ рд▓рд┐рдП рдЙрди рд╕рднреА docker
рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╡рд┐рдХрд▓реНрдк рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░реЗрдВ рд╕рд░рд▓ рдпрдорд▓ рдлрд╝рд╛рдЗрд▓ред рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЗрддрдирд╛ рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИ, рдХрд┐ рдПрдХ рд╣реА рд╡рд┐рдХрд▓реНрдк рдмрдЪрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдХрд┐рд╕реА рддрд░рд╣ рдпрд╛рдж рдХрд┐рдпрд╛ рдХрд┐ рдпрд╣ рдЕрдм рдЗрд╕рдХреЗ рдкреАрдЫреЗ рдХрд╛ рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИред
рдореЗрд░реЗ docker-compose.yml рдореЗрдВ рдХрдИ рдЕрдиреНрдп рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рднреА рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЙрддреНрдкрд╛рджрди рд╕реЗ рднрд┐рдиреНрди рд╣реЛрддреА рд╣реИрдВ, рдЬреИрд╕реЗ рдореЗрд░реЗ рдкрд╛рд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рд╛рдорд╛рди рдмрдирд╛рдиреЗ рдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛ рдЬреЛ рдХреБрдЫ рднреА рд╣реИ рд╡рд╣рд╛рдВ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрдВрдЯреЗрдирд░ рд╣реИрдВред
рд╣рдорд╛рд░реЗ рдпрд╣рд╛рдБ рдПрдХ рд╣реА рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рд╣реИред рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ "рд╕рд╛рдорд╛рдиреНрдп" рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рд▓рдЧрднрдЧ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИ , рд▓реЗрдХрд┐рди рдпреЗ рдХреЗрд╡рд▓ рд╡рд╣реА рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджреЗрд╡, рдкрд░реАрдХреНрд╖рдг, рдордВрдЪрди рдФрд░ рдЙрддреНрдкрд╛рджрди рдХреЗ рдмреАрдЪ рд╕рд╛рдЭрд╛ рдХреА рдЬрд╛рддреА рд╣реИрдВред
рд╡рд┐рдХрд╛рд╕ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдореБрдЦреНрдп рднрд╛рдЧреЛрдВ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╡рд┐рд▓рдп рдПрдХ .env рдлрд╝рд╛рдЗрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдкрд░реАрдХреНрд╖рдг рд╕реЗрдЯрдЕрдк рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╣реИ ред
рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╣реИ, рд╣рдо рдХреБрдЫ рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
(cd tests && docker-compose up -d)
(cd tests && docker-compose ps)
(cd tests && docker-compose run php codecept run)
рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП ... рдпрд╛ рдпрд╣
(cd production && docker-compose logs -f --tail 100)
рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП (рдмреЛрдирд╕: рдЖрдк рдХрд┐рд╕реА рдЕрдиреНрдп рдорд╢реАрди рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП DOCKER_HOST
рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ docker-compose
)ред
рд▓реЗрдХрд┐рди рд╣рд╛рдБ, рдпрд╣ рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рд╣реИ, рдПрдХ рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рд╣реИ - рдФрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдЬрдЧрд╣реЛрдВ рдкрд░ cp .env-dist .env
рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЕрдиреНрдпрдерд╛ рдпрд╣ рдПрдХ рдЕрд╡реИрдз рд░рдЪрдирд╛ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреА рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдореИрдВ рд╕рд┐рд░реНрдл рдЗрд╕ IMHO рд╕реНрд╡рдЪреНрдЫ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред
рдпрд╣ рдЕрднреА рднреА рдПрдХ рдмрд┐рдВрджреБ рд╣реИ рдЬреЛ рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИред рдПрдХрд▓ рд╣рд╛рд░реНрдб рдХреЛрдбрд┐рдд рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдХреЛрдИ рдмрд╛рд╣рд░реА рдЯреВрд▓рд┐рдВрдЧ рд╣реИ рдЬреЛ рдПрдХ рд╕реБрд╕рдВрдЧрдд рдирд╛рдо рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЯреВрд▓рд░рд┐рдВрдЧ рдХреЛ рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рд╕реЗрдЯ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?
@dnephin рдХрд╛рд░рдг рд╣реИрдВред
рд╣рд╛рдВ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рд╣реИрдВред рдкреВрдЫрдирд╛ рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рдпреЛрдЧреНрдп рдмрдирд╛рдирд╛ рд╣реИред
рдпрд╣рд╛рдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬрд╣рд╛рдВ рдПрдХ рд╣рд╛рд░реНрдб-рдХреЛрдбрд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдорджрдж рдХрд░рддрд╛ рд╣реИ: рдЯреНрд░реИрдлрд┐рдХ рдХрд╛ рдбреЙрдХрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдирд┐рдореНрди рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рд▓рд┐рдП рдореЗрдЬрдмрд╛рди рдирд┐рдпрдо рдмрдирд╛рдиреЗ рдореЗрдВ рдЪреВрдХ рдХрд░рддрд╛ рд╣реИ: <service>.<project>.<domain>
ред рдЗрд╕ рд╕реНрд╡рд░реВрдкрдг рдХреЛ рдмрджрд▓рдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред рд╣рдорд╛рд░реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рдлрд╛рдпрджреЗрдордВрдж рд╣реИ рдХрд┐ рд╡реЗ рд╣рдорд╛рд░реЗ рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣реА fqdns рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрджрд┐ рд╣рдо рд╢реВрдиреНрдп-рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗрдЯрдЕрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдирд┐рд░рдВрддрд░рддрд╛ рдХреА рдЧрд╛рд░рдВрдЯреА рджреЗрдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╣реИ: рдП) рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рдХреНрд▓реЛрди рдмреА рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИ) рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЯреНрд░реИрдлрд┐рдХ рдХреЗ рдирд┐рдпрдореЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред рджреЛрдиреЛрдВ рдЪреВрд╕рддреЗ рд╣реИрдВред
рдпрд╣рд╛рдБ рдПрдХ рдФрд░ рд╣реИ: рд╕рдВрджрд░реНрднрд┐рдд рдЪрд┐рддреНрд░ docker- рд░рдЪрдирд╛ рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрджрд┐ рд╣рдо рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рд╣рдо рдЗрди рдЫрд╡рд┐ рдирд╛рдореЛрдВ рдХреА рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХреЗ рд╕рд╛рде рд╕рдВрджрд░реНрднрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП image_name
рд╣рд╛рд░реНрдбрдХреЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмреЗрдорд╛рдиреА рд▓рдЧрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдХрдиреНрд╡реЗрдВрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрд╕ рдЗрд╕ рдмрд╛рдд рд╕реЗ рдЪрд┐рдВрддрд┐рдд рд╣реИрдВ рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рдлрд╝рд╛рдЗрд▓рдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреБрдирдиреЗ рд╡рд╛рд▓реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд╣рдорд╛рд░реЗ рдЯреВрд▓рд┐рдВрдЧ рдореЗрдВ рдмрд╣реБрдд рд╣реА рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд╡рд┐рдлрд▓рддрд╛рдПрдВ рд╣реЛрдВрдЧреАред
рджреЛрд╕реНрддреЛрдВ, рдЗрддрдиреА рд╕рд╛рд░реА рдЪрд░реНрдЪрд╛ ... рдХреНрдпрд╛ рд╕реНрдерд┐рддрд┐ рд╣реИ, рдХреНрдпрд╛ рдореИрдВ рдЕрдкрдиреЗ .docker-compose
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рд╕реЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ?
рдпрд╛ рдЕрднреА рднреА рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЪрд░реНрдЪрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?
docker-compose.yml
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рд░рдЦрдиреЗ рд╕реЗ рдЕрдиреНрдп рдЙрдкрдХрд░рдг, рдЬреИрд╕реЗ PyCharm, рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред
рдпрд╣ рдПрдХ рд╣реА YAML рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рд╕рдВрднрд╡рддрдГ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдореВрд▓ рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдмрд╕ рд╣реИ (рдХреНрдпрд╛ рдореБрдЭреЗ _naively_?) рд╡рд░реНрддрдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рдЖрдзрд╛рд░ рдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдирд╛рдо рд╕реНрдерд╛рди (рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд) рдХреЛ рдПрдХ рдлреНрд▓реИрдЯ рдПрдХ рдкрд░ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рд╕рдВрдкреАрдбрд╝рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдирд╛рдо рд╕рдВрдШрд░реНрд╖ рдХреЗ рдХрд╛рд░рдг рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ ~/fooproject/master
рдФрд░ ~/barproject/master
рдореЗрдВ рд╕реЗрд╡рд╛рдПрдБ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд╕реНрдпрд╛рдПрдБ рдкреИрджрд╛ рдХрд░рддрд╛ рд╣реИред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдорд╣рддреНрд╡рд╣реАрди рд╣реИрдВред рддреЛ рд╢рд╛рдпрдж рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝рд┐рдВрдЧ рдХреЛ рдордЬрд╝рдмреВрдд рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреЗ рдард┐рдХрд╛рдиреЛрдВ рдХреЛ рдкреВрд░реЗ рд░рд╛рд╕реНрддреЗ рдкрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рдП (рдпрд╛рдиреА home_flaviovs_fooproject_master
)?
рдореИрдВ рд╣рд╛рд▓рд╛рдВрдХрд┐, рд▓рдЧрд╛рддрд╛рд░ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВред Git рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рджреЗрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЗрд╕ рддрд░рд╣ рдХрд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рд╣реИред рд╢рд╛рдпрдж рдПрдХ рдкрдврд╝рдиреЗ .env.default
рд╕реЗ рдкрд╣рд▓реЗ рдлрд╝рд╛рдЗрд▓ .env
рдЗрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдЙрдкрд╛рдп рд╣реИ (рдЬреЛ BTW рджреЗрдЦрднрд╛рд▓ рдХрд░реЗрдЧрд╛ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ # 210 рдХреЗ рд╕рд╛рде-рд╕рд╛рде)?
рдореИрдВрдиреЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдбреЙрдХрдЯрд░-рдХрдореНрдкреЛрдЬрд╝ рдмрд╛рдЗрдирд░реА рд▓рдкреЗрдЯрдХрд░ рдЗрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рддрд╛рдХрд┐ рдореИрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд╣реАрдВ рд╕реЗ рднреА рдХреЙрд▓ рдХрд░ рд╕рдХреВрдВред рдпрд╣ .env рдлрд╝рд╛рдЗрд▓ рдХреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрд╣реАрдВ рднреА рд╕рд╣реА рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдЬрд╛рд╣рд┐рд░ рд╣реИ рдЖрдк рдЗрд╕реЗ рдкреНрд░рддрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдпрд╛ рдХреБрдЫ рдФрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдХрдорд┐рдпрд╛рдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЙрдиреНрд╣реЗрдВ рдмрд╛рд╣рд░ рдирд╣реАрдВ рдирд┐рдХрд╛рд▓рд╛ рд╣реИред
DEFAULT_DOCKER_COMPOSE=~/my-project
function dcompose() {
pushd $DEFAULT_DOCKER_COMPOSE &> /dev/null;
/usr/local/bin/docker-compose $@;
popd &> /dev/null;
}
## maintain auto complete
function _dc {
pushd $DEFAULT_DOCKER_COMPOSE &> /dev/null;
_docker_compose;
popd &> /dev/null;
}
complete -F _dc dcompose
рдореБрдЭреЗ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдЯрдХрд░рд╛рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдФрд░ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЬреАрдм рд▓рдЧ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдореИрдВ docker-compose.yml рдореЗрдВ project_name рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмрд╣реБрдд рддрд╛рд░реНрдХрд┐рдХ рдФрд░ рдЖрдЧреЗ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЛ рд░реЛрдХрддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд╣рд▓реА рдЬрдЧрд╣ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ рдирд╛рдо рд▓реЗрдирд╛ рдПрдХ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рдерд╛ред рдХрдИ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлреЛрд▓реНрдбрд░ / рд╣реЛрдо / рдкреНрд░реЛрдЬреЗрдХреНрдЯ 1 / рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА, / рд╣реЛрдо / рдкреНрд░реЛрдЬреЗрдХреНрдЯ 2 / рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдЗрддреНрдпрд╛рджрд┐ рдЬреИрд╕реЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдбреЙрдХрдЯрд░ рдиреЗ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА_рдПрдкреНрдк рдХреА рддрд░рд╣ рд╣реА рдЗрдореЗрдЬ рдХреЗ рдирд╛рдо рддреИрдпрд╛рд░ рдХрд┐рдП рд╣реИрдВред
@ рджреЗрд╡рддрд╛ рдЖрдк docker-compose.yml
рдореЗрдВ рдЫрд╡рд┐ рдирд╛рдо рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд╕ image
рдФрд░ build
ред
рддреЛ ... рдЕрдм рдПрдХ рд╣реА рдирд╛рдо рд╡рд╛рд▓реЗ рдлрд╝реЛрд▓реНрдбрд░ рдкрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдХреИрд╕реЗ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ?
docker-compose -f /foo/bar up -d
docker-compose -f /foo/foo/foo/bar down
рд╢рд╛рдпрдж рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдерд╛ред рд▓реЗрдХрд┐рди version: 4
рдореЗрдВ рдмреНрд░реЗрдХрд┐рдВрдЧ рдкрд░рд┐рд╡рд░реНрддрди рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ docker-compose.yml
рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдирдП рдХреАрд╡рд░реНрдб рдЬреЛрдбрд╝реЗрдВ?
рдореЗрд░реА .docker- рд░рдЪрдирд╛ / рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рдирд╛рдо рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ ...
--рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рдирд╛рдо рдХрд╛рдо рдХрд┐рдпрд╛
рдореИрдВ docker-compose.yml рдореЗрдВ рднреА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред
рдореЗрд░рд╛ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓рд╛ рд╣реИ, рдореЗрд░реЗ рдкрд╛рд╕ docker-compose.yml
рдлрд╝рд╛рдЗрд▓ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╡реЗрдм рдРрдк рдФрд░ рдПрдХ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬреБрдПрдЯ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗрд╡рд╛ рд╣реИред
рдореИрдВ рдПрдбрд╣реЙрдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП docker-compose.yml
рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ - рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдбрд╣реЙрдХ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реБрдП, рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ рдХреЗ рд╕рд╛рде рдСрд░реНрдХреЗрд╕реНрдЯрд╛рд░реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдЗрди рдПрдбрд╣реЙрдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдореБрдЦреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕рдорд╛рди рд╕реЗрд╡рд╛рдУрдВ / рдиреЗрдЯрд╡рд░реНрдХ / рд╡реЙрд▓реНрдпреВрдо рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдПрдХ рдПрдбрд╣реЙрдХ рдХрд╛рд░реНрдп рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЬреЛ рдореИрдВ рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ рдХреЗ рд╕рд╛рде рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред postgress
рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдбреЗрдЯрд╛ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░рдирд╛ред рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реЗрд╡рд╛рдУрдВ рдФрд░ рд╡реЙрд▓реНрдпреВрдо, рдиреЗрдЯрд╡рд░реНрдХ рдЖрджрд┐ рдХреЛ рд╕реНрдкрд┐рди рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдХрд╛рд░реНрдп рдХреЛ рджрд░реНрд╢рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ docker-compose.adhoctask.yml
рдлрд╝рд╛рдЗрд▓ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реВрдВ, рддрд╛рдХрд┐ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдиреЗ рдкрд░ рд╣реА рдореИрдВ рдЙрд╕ рдХрд╛рд░реНрдп рдХреЛ рдЪрд▓рд╛ рд╕рдХреВрдВред рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдореВрд▓ docker- рд░рдЪрдирд╛ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╣реИ, рдЗрд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдорд╛рди рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдорд┐рд▓рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рдЗрд╕рдореЗрдВ рд╕рдорд╛рди рдиреЗрдЯрд╡рд░реНрдХ, рд╡реЙрд▓реНрдпреВрдо рдЖрджрд┐ рдХреА рдкрд╣реБрдВрдЪ рд╣реЛрддреА рд╣реИ? рдФрд░ рд╕рд╛рдорд╛рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рд╣рд╛рд▓рд╛рдБрдХрд┐ рд╕рдорд╕реНрдпрд╛ рддрдм рдЖрддреА рд╣реИ рдЬрдм рдореИрдВ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рдХрд┐ рдпрд╣ рдПрдбрд╣реЙрдХ рдЯрд╛рд╕реНрдХ yml рдлрд╝рд╛рдЗрд▓ рдЙрд╕реА рд╢реАрд░реНрд╖ рд╕реНрддрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ (рдпрд╛ рд╕рдорд╛рди рд░реЗрдкреЛ) рдореЗрдВ рдореБрдЦреНрдп docker-compose.yml
ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╢рд╛рдпрдж рдореИрдВ рдПрдХ рд╕рдмрдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ docker-compose.adhoc.yml
adhoc рдЯрд╛рд╕реНрдХ рдбрд╛рд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдБ, DOCKERFILE
рдФрд░ рдПрд╕реЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдЬреЛ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ / рд╕рдореВрд╣реАрдХреГрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдкрдиреА рдЪрд┐рдВрддрд╛ рд╣реИред рдЬреИрд╕реЗ рд╣реА рдореИрдВ рдЗрд╕реЗ рдПрдХ рд╕рдмрдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд▓реЗ рдЬрд╛рддрд╛ рд╣реВрдВ, рдпрд╣ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдореБрдЦреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рдорд╛рди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ / рдиреЗрдЯрд╡рд░реНрдХ рдЖрджрд┐ рддрдХ рдЗрд╕рдХреА рдкрд╣реБрдВрдЪ рдирд╣реАрдВ рд╣реИред
рдЕрдЧрд░ рдореИрдВ projectname
docker-compose.yml
рдФрд░ docker-compose.adhoc.yml
рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ - рддреЛ рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдврд╛рдВрдЪрд╛ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░реЗрдкреЛ рдореЗрдВ рднреА рдбрд╛рд▓ рд╕рдХрддрд╛ рд╣реВрдВ) рдФрд░ рдЕрднреА рднреА рдмрд┐рдирд╛ рдЙрдиреНрд╣реЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдП рд▓рдЧрд╛рддрд╛рд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рддрд░реНрдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ рдпрд╛ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ рдЪрд╛рд░реЛрдВ рдУрд░ рдШреБрдорд╛рдПрдВред
рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдирд╛рдордХрд░рдг рд╕рдВрдШрд░реНрд╖ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ
рдореЗрд░реЗ рдкрд╛рд╕ рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВ
/company
/ab # project prefix
/backend # actual project
/webapp
/cd
/backend
/webapp
рдЕрдм рдЬрдм рдореИрдВ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ backend_default
рдиреЗрдЯрд╡рд░реНрдХ рддреИрдпрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ backend_
рд╕рд╛рде рдирд╛рдо рдирд╣реАрдВ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдм рдЕрдЧрд░ рдореИрдВ рджреВрд╕рд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рд╢реБрд░реВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рддреЛ рдореЗрд░реЗ рдкрд╛рд╕ рд╣реИ рд╕рд╣реА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╡рд╛рдкрд╕ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рд╕рдВрдШрд░реНрд╖реЛрдВ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ docker-compose down
рдЪрд▓рд╛рдПрдВ - рдЕрдиреНрдпрдерд╛ рдпрд╣ рдПрдХ рд╣реА рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдирдП рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рд╢реБрд░реВ рдХрд░реЗрдЧрд╛, рдФрд░ рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдмрдВрдж рдХрд░рдиреЗ рдкрд░, рдпрд╣ рдЕрдирд╛рдереЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╢рд┐рдХрд╛рдпрдд рдХрд░реЗрдЧрд╛, рдЬрдм рдХреЛрдИ рдирд╣реАрдВ рд╣реИрдВред
рдореЗрд░реЗ рд▓рд┐рдП рднреА рдПрдХ рдореБрджреНрджрд╛ рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВ, рдФрд░ рдбрд╛рдпрдиреЗрдорд┐рдХ рдбреЗрдореЛ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╢реАрди, рдПрдХ рд╢рд╛рдЦрд╛ рдкреНрд░рддрд┐ рд╕реНрдЯреИрдВрдб рдкрд░ рдбреЙрдХ-рдХрдВрдкреЛрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
/project-1
/dev # docker-compose.yml inside
/master # docker-compose.yml inside
/feature
/new-feature # docker-compose.yml inside
/project-2
/dev # docker-compose.yml inside
/master # docker-compose.yml inside
рдЗрд╕рд▓рд┐рдП "рд╕реНрд╡рд╛рдореА" рдФрд░ "рджреЗрд╡" рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдШрд░реНрд╖ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдПрдХ .docker-compose
рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
@simplesmiler рдЦреБрдж рдХреЛ рджреЛрд╣рд░рд╛рдиреЗ рдХреЗ рдЬреЛрдЦрд┐рдо рдореЗрдВ, рдПрдХ .env
рдкрд╣рд▓реЗ рд╣реА рд╣рд▓ рдХрд░ рд▓реЗрддрд╛ рд╣реИ ред
@ shin- .env
рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдХреНрд╕рд░ рдЙрди рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВред
рдХреНрдпрд╛ @simplesmiler рдЪрд╛рд╣рддрд╛ рд╣реИ рд░рдЦрдиреЗ _while рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдкреНрд░рддрд┐рдмрджреНрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд░рд╛рд╕реНрддрд╛ рд╣реИ .env
рдмрд╛рд╣рд░ рд╕рдВрд╕реНрдХрд░рдг control_ред
рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореИрдВ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред
@thedeeno рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЙрдирдХреЗ рдкрдж рдХреНрдпрд╛ рдХрд╣рддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдЖрдк рдПрдХ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рд╣рдореЗрдВ рдпрд╣ рдирд╣реАрдВ рдорд╛рдирдирд╛ тАЛтАЛрдЪрд╛рд╣рд┐рдП рдХрд┐ рдХрд┐рд╕реА рдФрд░ рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд▓рд┐рдЦреЗ рдЬрд╛рдиреЗ рд╕реЗ рдкрд░реЗ рд╣реИред
рд╣рдо рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрд╣реА рдЙрдирдХреА рд╕рдорд╕реНрдпрд╛ рдХреА рдореЗрд░реА рд╡реНрдпрд╛рдЦреНрдпрд╛ рд╣реИред рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрдЪрд┐рдд рдмрд┐рдВрджреБ, рдореИрдВ рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдореИрдВ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдХрд╛рд╢ рд╣рдо рдПрдХ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдо рдХреБрдЫ рдХреЙрдлреА рд╣рдбрд╝рдк рд╕рдХрддреЗ рдереЗред рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдореИрдВ рдпрд╣рд╛рдБ рдПрдХ рдЭрдЯрдХрд╛ рд╣реВрдБред
рд╢рд╛рдпрдж рдореИрдВ рдЗрд╕ рдзрд╛рдЧреЗ рдХреЛ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдпрд╛рдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВ: рдХреНрдпрд╛ .env
рдЕрдирджреЗрдЦрд╛ рдХрд░рддреЗ рд╣реБрдП рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреЛ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ?
рдХреНрдпрд╛ .env рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░рддреЗ рд╣реБрдП рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдХреЛ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ? рдпрд╛ рдпрд╣ рдЕрднреА рднреА рдПрдХ рд▓рд╛рдкрддрд╛ рдХреНрд╖рдорддрд╛ рд╣реИ?
рдлрд┐рд▓рд╣рд╛рд▓ рдирд╣реАрдВред рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдХреБрдЫ рдорд╣реАрдиреЗ рдкрд╣рд▓реЗ ^ 1 рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕ рдпреЛрдЬрдирд╛ рдореЗрдВ рдПрдХ рджреНрд╡рд┐рддреАрдпрдХ env рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ docker-compose.env
рд╣реЛрдирд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдХреБрдЫ рд╣рдж рддрдХ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреА рд╕реВрдЪреА рд╕реЗ рдиреАрдЪреЗ рдЧрд┐рд░ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЬрд▓реНрдж рд╣реА рдпрд╣ рдорд┐рд▓ рдЬрд╛рдПрдЧрд╛ред
1 / https://github.com/docker/compose/issues/745#issuecomment -345054893
рдпрд╣ рддреЛ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рдЦрдмрд░ рд╣реИ! PR рдХреА рд╕реНрд╡реАрдХреГрддрд┐?
рдореИрдВрдиреЗ рдмрд╣реБрдд рдкрд╣рд▓реЗ рдЙрдореНрдореАрдж рдЫреЛрдбрд╝ рджреА рдереА рд▓реЗрдХрд┐рди рдЪрд▓реЛ рдЗрд╕реЗ рдПрдХ рдФрд░ рдХреЛрд╢рд┐рд╢ рджреЗрддреЗ рд╣реИрдВ:
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрдИ рд▓реЛрдЧ рдЕрднреА рднреА рдпрд╣ рд╕рдордЭрдиреЗ рдореЗрдВ рдЕрд╕рдлрд▓ рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ рдЗрд╕ рд╕реЗрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рджреВрд╕рд░реА рдлрд╛рдЗрд▓ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпреЛрдВ рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ, рдпрд╣рд╛рдВ рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЙрдирдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗрдЯрдЕрдк рдХреЛ рддреЛрдбрд╝ рджреЗрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рдмрд╣реБрдордд рдХреЗ рд▓рд┐рдП рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред рддреЛ рдпрд╣ рдХреИрд╕реЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ рд▓реЛрдЧ рдЗрд╕ рдкреНрд░рддрд┐рдмрдВрдз рдХреЛ рдЙрди рд╕рднреА рд▓реЛрдЧреЛрдВ рдкрд░ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдпрд╛рдж рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдирд╛рдо рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдФрд░ рдлрд┐рд░ рдирд┐рд░реНрдгрдп рдХреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрдИ рд╡рд┐рдХрд▓реНрдк рдХреНрдпреЛрдВ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ?
рдпрд╣ рддрд╛рд░реНрдХрд┐рдХ рд░реВрдк рд╕реЗ рднреА рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ: docker-compose.yml
рдореЗрдВ рдЗрд╕ рд╕реЗрдЯрд┐рдВрдЧ рдХреА рдХрдореА рдЗрддрдиреА рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдореИрдВ рдпрд╣ рднреА рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдерд╛ рдХрд┐ рдЬрдм рдпрд╣ рдореИрдиреБрдЕрд▓ рдореЗрдВ рджреЗрдЦрд╛ рдЧрдпрд╛ рддреЛ рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдЧрд╛рдпрдм рд╣реИред рдЖрдкрдХреЗ рд╕реЗрдЯрдЕрдк рдХреЗ рд▓рдЧрднрдЧ рдкреНрд░рддреНрдпреЗрдХ рдФрд░ рд╣рд░ рдкрд╣рд▓реВ рдХреЛ рд╡рд╣рд╛рдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рд╡рд┐рдиреНрдпрд╛рд╕ рддрд░реНрдХ рдореЗрдВ рдЗрддрдирд╛ рд╕реНрдкрд╖реНрдЯ рд╡рд┐рд░рд╛рдо рд╣реИред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдХрд╣ рд╕рдХрддрд╛ рд╣реИ, (рд▓рдЧрднрдЧ) docker-compose.yml
рдореЗрдВ рд╕рднреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рд╕реЗ "рд╕реНрдХреЛрдк" рд╣реИрдВред
рдЬреИрд╕рд╛ рдХрд┐ # 4841 рдореЗрдВ рд╕реБрдЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ .env рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк (рдЕрд░реНрдерд╛рдд --env-file
) рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
@roipoussiere рдкрд░ рджреЗрдЦреЗрдВ https://github.com/docker/compose/issues/4841#issuecomment -414543951
рдзрдиреНрдпрд╡рд╛рдж @ schmunk42
рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдореБрдЭреЗ рдПрдХ рдкрджрд╛рдиреБрдХреНрд░рдо рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛:
.
тФЬтФАтФА project_a
тФВ┬а┬а тФЬтФАтФА .env
тФЬтФАтФА project_b
тФВ тФЬтФАтФА .env
рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдХреБрдЫ рдЖрд╕рд╛рди рдХреА рддрд░рд╣:
.
тФЬтФАтФА a.env
тФЬтФАтФА b.env
рд╣рд╛рдБ, рдпрд╣ рднреА рджреЗрдЦреЗрдВ https://github.com/docker/compose/issues/745#issuecomment -345054893 - рдЖрдкрдХреЛ рдЗрд╕реЗ рдПрдХ рдирдИ рд╡рд┐рдВрдбреЛ рдореЗрдВ рдЦреЛрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдХрднреА-рдХрднреА рдпрд╣рд╛рдВ рдЫрд┐рдкрд╛ рд╣реЛрддрд╛ рд╣реИ : nerd_face:
рдореИрдВ --env-file
рдкреНрд░рд╕реНрддрд╛рд╡ рд░рдЦрддрд╛ рд╣реВрдВред рдмрд╕ рдЙрд╕реА рдХреЗ рд▓рд┐рдП рдЯрд┐рдХрдЯ рдмрдирд╛рдпрд╛ред рдпрджрд┐ рдЖрдк рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЗрд╕реЗ рдкрд╕рдВрдж рдХрд░реЗрдВред
рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдЗрд╕ рдмрдЧ / рд╡рд┐рд╢реЗрд╖рддрд╛ рдкрд░ рдХреБрдЫ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдкрдврд╝реАрдВ, рдФрд░ рдпрд╣ рддрдереНрдп рдХрд┐ рдЪрд░реНрдЪрд╛ рдЬрд╛рд░реА рд╣реИ рдФрд░ рдпрд╣ рдЦреБрд▓рд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдЗрд╕ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪрд╛ рджрд┐рдпрд╛ рдХрд┐ рдореВрд▓ рд░реВрдк рд╕реЗ рдЗрд╕реЗ рдЦреЛрд▓реЗ рд╣реБрдП 4 рд╕рд╛рд▓ рд╣реЛ рдЧрдП рд╣реИрдВ рдФрд░ рдЕрднреА рднреА рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ? рдХреНрдпрд╛ рд╣рдо рдЖрдВрд╢рд┐рдХ рдирд┐рд░реНрдгрдп рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ ..?
рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдБ, рдореИрдВрдиреЗ рдЗрд╕ рдкреВрд░реЗ рдореБрджреНрджреЗ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рд╕рднреА рдореБрджреНрджреЛрдВ рдХреЛ рдирд╣реАрдВ рдкрдврд╝рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рд╡рд┐рд╖рдп рдХреЗ рдЖрд╕рдкрд╛рд╕ рджрд┐рд▓рдЪрд╕реНрдк рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ рдЬреЛ рдЗрд╕реЗ рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдмрдирд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рд╕рднреА рдЬрд╛рдирддреЗ рд╣реИрдВ .env
рдЖрдорддреМрд░ рдкрд░ рдЧреБрдкреНрдд рдореВрд▓реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЖрдорддреМрд░ рдкрд░ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рд╕реЗ рдЗрд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░рддреЗ рд╣реИрдВред
рд▓реЗрдХрд┐рди рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдк рд╕реНрдЯреНрд░рд╛рдЗрдк рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЛ рдЯреЗрд╕реНрдЯ рдХреАрдЬрд╝ рдФрд░ рд▓рд╛рдЗрд╡ рдХреАрдЬрд╝, AKA рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдХреБрдВрдЬреА рдХреЗ 2 рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рдХреБрдВрдЬрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рдорд╛рдиреНрдп рд╣реЛрдЧрд╛, рдФрд░ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЖрдк рд▓рд╛рдЗрд╡ рдХреБрдВрдЬрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдВрдЧреЗред
рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдЧреБрдкреНрдд рдореВрд▓реНрдпреЛрдВ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП .env
рдЙрдкрдпреЛрдЧ рд╕реНрд╡рдпрдВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкреНрд░рддреНрдпреЗрдХ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХреБрдВрдЬрд┐рдпрд╛рдБ рд╣реЛрдВрдЧреА, рдФрд░ рдЖрдк рдЕрдкрдиреА рдлрд╝рд╛рдЗрд▓ рдЪрд▓рд╛рдиреЗ рдХреЗ рдмреАрдЪ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдЕрдкрдиреА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдмрджрд▓рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рджреЗрд╡ рдпрд╛ рдареЗрд╕ рдореЗрдВ рдЕрдиреБрдкреНрд░рдпреЛрдЧ (рдХрд┐ рдкрд╛рдЧрд▓ рдФрд░ рд╕реБрдкрд░ рддреНрд░реБрдЯрд┐ рдкреНрд░рд╡рдг рд╣реЛрдЧрд╛)ред
рдЖрдк рдЬреЛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рджреЛрдиреЛрдВ .env
рдФрд░ .env.prod
рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ рдФрд░ рджреЛрдиреЛрдВ рдХреЛ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд░реЗрдВред рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдЖрдкрдХреА рдкрд░реАрдХреНрд╖рд╛ / рджреЗрд╡ рдХреБрдВрдЬрд┐рдпрд╛рдБ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдФрд░ рдлрд┐рд░ рд╕рдВрджрд░реНрдн рджреЗрдВ рдХрд┐ рдЖрдкрдХреЗ рд╡рд┐рдХрд╛рд╕ рд░рдЪрдирд╛ рдореЗрдВ env_file
ред
рд▓реЗрдХрд┐рди рддрдм рдЙрддреНрдкрд╛рджрди рдореЗрдВ рдЖрдк рджреЛрдиреЛрдВ .env
рдФрд░ .env.prod
рдЕрдкрдиреА рдЙрддреНрдкрд╛рджрди рд░рдЪрдирд╛ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рджреЗрдЦреЗрдВред
рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рдЖрдк рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХрд╣рд╛рдВ рдЬрд╛ рд░рд╣рд╛ рд╣реИ? рдЕрднреА Docker Compose рдореЗрдВ рдЖрдкрдХреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ env_file
рдлрд╛рдЗрд▓реЗрдВ рдирд╣реАрдВ рд╣реИрдВред рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рддреЛ рдЬреИрд╕реЗ рд╣реА рдЖрдк рдбреЙрдХрд░ рдХрдВрдкреЛрдЬрд╝ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВрдЧреЗ, рдбреЙрдХрдЯрд░ рдХрдВрдкреЛрдЬрд╝ рдХреЛ рдЭрдЯрдХрд╛ рд▓рдЧрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк env_file
рд╕рд╛рде рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЕрдВрдд рдореЗрдВ .env
рдлрд╝рд╛рдЗрд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдпрд╣ рд╕реНрдЯреНрд░рд╛рдЗрдк рддрдХ рд╕реАрдорд┐рдд рдирд╣реАрдВ рд╣реИред рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╡реЗрдм рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдХреБрдЫ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╣реЛрддреА рд╣реИрдВ рдЬреЛ рдкрд░реНрдпрд╛рд╡рд░рдг рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реЛрддреА рд╣реИрдВ рд▓реЗрдХрд┐рди рд╡рд┐рдХрд╛рд╕ рдФрд░ рдЙрддреНрдкрд╛рджрди рджреЛрдиреЛрдВ рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреА рд╣реИрдВ (рдпрд╛рдиреА SERVER_NAME
рдлреНрд▓рд╛рд╕реНрдХ рдХреЗ рд╕рд╛рде)ред
рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдо .env_example
рдлрд╝рд╛рдЗрд▓ рдЬреИрд╕реА рдХреБрдЫ рдЪреАрдЬрд╝реЛрдВ рддрдХ рд╕реАрдорд┐рдд рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИ рдХрд┐ рдЕрдВрддрд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ .env
, рдФрд░ рдлрд┐рд░ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрджрд░ рд╣реЛрдЧрд╛ рд╣рдорд╛рд░реЗ рдкреБрд░рд╛рдиреЗ рджреЛрд╕реНрдд COMPOSE_PROJECT_NAME
ред
рдЬреЛ рдЕрдм рд╕рд╡рд╛рд▓ рдЙрдард╛рддрд╛ рд╣реИред рдХреНрдпрд╛ рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рддрд░реАрдХреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдо рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдПрдХ рдХрд╕реНрдЯрдо рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рд╕реЗрдЯ рдХрд░рдирд╛ рдХрд┐рд╕реА рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдлрд╝реЛрд▓реНрдбрд░ рдирд╛рдо рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рдФрд░ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдЖрд╕рд╛рдиреА рд╕реЗ рдирд╛рдо рд╕рдВрдШрд░реНрд╖реЛрдВ рдореЗрдВ рднрд╛рдЧ рд╕рдХрддреЗ рд╣реИрдВред
рдХреНрдпрд╛ рдХреБрдЫ рд░реЛрдб рдореИрдк рдкрд░ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реИ?
рдЗрд╕рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ COMPOSE_PROJECT_NAME рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрдЧрд╛, рдЬрд╣рд╛рдВ рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдХрдИ рдбреЙрдХ-рдХрдВрдкреЛрдЬрд╝ рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рджреЗрд╡, рдкрд░реАрдХреНрд╖рдг, рд╢рд╛рдпрдж рдЖрдзрд╛рд░, рд╢рд╛рдпрдж рдкрд░реАрдХреНрд╖рдг рд╕реНрдерд╛рдиреАрдп, рдЖрджрд┐) рдЖрдкрдХреЛ рд╕реНрдкрд┐рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдЕрдк 2 рдмрд╣реБрдд рдЕрд▓рдЧ рд╡рд╛рддрд╛рд╡рд░рдг рдЬреЛ рдПрдХ рджреВрд╕рд░реЗ рд╕реЗ рдЕрд▓рдЧ рд╣реИрдВред
рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдо рдЕрдкрдиреЗ makefile рдореЗрдВ COMPOSE_PROJECT_NAME рдмрдирд╛рдХрд░ рдЗрд╕ рдбреЙрдХреНрдпреВ-рдХрдВрдкреЛрдЬрд╝ рдХреА рд╕реАрдорд╛ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдкрд╣реБрдБрдЪ рд╕рдХрддреЗ рд╣реИрдВред
рдореИрдВ рдЗрд╕ рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ рдпрдорд▓ рдХреЗ рд╣реА рднреАрддрд░ рд╕реЗ рджреЗрдЦрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред
рдХреНрдпрд╛ рдпрд╣ рдЕрднреА рднреА рдЦреБрд▓рд╛ рд╣реИ? рд╣реЗ рднрдЧрд╡рд╛рди...
рд╕рджрд╕реНрдпрддрд╛ рд▓реАред рдореИрдВ рдпрд╣ рднреА рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдХрдореНрдкреЛрдЬ рдпрд╛рдорд▓ рдлрд╛рдЗрд▓ рдкрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рд╕реЗрдЯ рдХрд░ рд╕рдХреЗред
рдпрд╣ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рд▓реЗ рд░рд╣рд╛ рд╣реИ
рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛
рдореИрдВ рдЬрд┐рд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЙрд╕рдореЗрдВ рдЗрд╕ рдлреАрдЪрд░ рдХрд╛ рдмрд╣реБрдд рд╕реНрд╡рд╛рдЧрдд рд╣реЛрдЧрд╛
рдареАрдХ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рд▓рдВрдмреЗ рдзрд╛рдЧреЗ рд╕реЗ рд╣рдо рдпрд╣ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо docker-compose.yml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЦреНрдп рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЗрд╕рдХреЗ рд╡рд┐рд░реВрджреНрдз рд╣реИрдВ рдФрд░ рдРрд╕реЗ рдХрд┐рд╕реА рднреА рдкреБрд▓ рдЕрдиреБрд░реЛрдз рдХрд╛ рд╡рд┐рд▓рдп рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред
рдЗрд╕рд▓рд┐рдП, рдХреНрдпрд╛ рд╣рдо рдЗрд╕ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдореВрд▓ рдкреНрд░рд╕реНрддрд╛рд╡ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ: рдкрд░рд┐рдпреЛрдЬрдирд╛-рдирд╛рдо рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдПред рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ .docker- рд░рдЪрдирд╛ рдпрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ .docker- рд░рдЪрдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдареАрдХ рд▓рдЧрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рд╣рдо рдЖрдЦрд┐рд░рдХрд╛рд░ рдЗрд╕реЗ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдкрд░ рдХреБрдЫ рдкреНрд░рдЧрддрд┐ рдХрд░ рд╕рдХреЗрдВред
рдореИрдВ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдЙрд╕ рд╕реВрдЪреА рдореЗрдВ рдПрдХ ENV рдЪрд░ рдЬреЛрдбрд╝реВрдВрдЧрд╛ред
рд╕рднреА рдЕрд╕рд╣рдорддрд┐ рдХреА рдПрдХ рдкрд░реНрдпрд╛рдкреНрдд рдЬрдбрд╝ рдпрд╣ рдзрд╛рдЧрд╛ / рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХрдИ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдпрджрд┐ рдпрд╣ рдИрдПрдирд╡реА рдЪрд░ рдореЗрдВ рд╣реИред рд╡реЗ рдЗрд╕реЗ рд░реЗрдкреЛ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрджреНрдз рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдорд╛рдирдХ рд╕рд┐рдлрд╛рд░рд┐рд╢ рдпрд╣ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛ рд╕рдХрддреА рд╣реИред)
рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рдмреАрдЪ рдпрдо рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдпрдо рд╡рд┐рд░реЛрдзрд╛рднрд╛рд╕реЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЗ рдмрдЬрд╛рдп рдИрдПрдирд╡реА рд╣реЛрдиреЗ рд╕реЗред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рд╣реИ: https://docs.docker.com/compose/extends/ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП "рдЙрджрд╛рд╣рд░рдг usecases" рджреЗрдЦреЗрдВ)ред рдпрджрд┐ рдЖрдк рдПрдХрд▓ рдмреЗрд╕ рдпрд╛рдо рдлрд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рджреЗрд╡, рдкрд░реАрдХреНрд╖рдг рдФрд░ рдареЗрд╕ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рднрдЧрд╡рд╛рди рдХреЛ рдкрддрд╛ рд╣реИ рдХрд┐ рдФрд░ рдХреНрдпрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдЙрд╕реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреЗ рддрд╣рдд рдЪрд▓рд╛рдиреЗ рдпрд╛ ENV / cli рджреНрд╡рд╛рд░рд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ N * N рд╕рдВрдпреЛрдЬрди рдмрдирд╛рдПрдЧрд╛ рдЬрдмрдХрд┐ N рдорд╛рдиреНрдп рд╣реИрдВред
рдореИрдВрдиреЗ рдЗрдирдореЗрдВ рд╕реЗ рдХрдИ рдЪрд░реНрдЪрд╛рдУрдВ рдХреЛ рдЯреНрд░реЗрд╕ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ YML рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреЛ рдЪрд╛рд╣рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХрд╛ TON рджреЗрдЦрд╛ рд╣реИред рд▓реЗрдХрд┐рди 1 рдПрдХрд▓ рдЯрд┐рдкреНрдкрдгреА рдпрд╣ тАЛтАЛрдирд╣реАрдВ рд╕рдордЭрд╛рддреА рд╣реИ рдХрд┐ рдРрд╕рд╛ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпреЗ рдЪрд░реНрдЪрд╛рдПрдБ рдмрд╣реБрдд рдкрд╣рд▓реЗ рдХреА рд╣реИрдВред
рдЬреИрд╕рд╛ рдХрд┐ рдХреЛрдИ рдЖрд╕рд╛рди рдЙрдкрдпреЛрдЧ рд╕рдорд╛рдзрд╛рди рдХреА рддрд▓рд╛рд╢ рдореЗрдВ рд╣реИ рдФрд░ рдпрд╣ рдкрд╛рддрд╛ рд╣реИ рдХрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ (рдЬреЛ рдПрдХ рдЙрдкрдХрд░рдг рдХреЗ рдореВрд▓ рд╡рд┐рдЪрд╛рд░ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЖрдк рдкрд╛рд╕ up
рдФрд░ рдЬрд╛рджреБрдИ рд░реВрдк рд╕реЗ рд╕рд░реНрд╡рд░реЛрдВ рдХрд╛ рдПрдХ рдкреВрд░рд╛ рд╕рдореВрд╣ рд╢реБрд░реВ рдХрд░реЗрдВ) - рдореИрдВ рд╣реИрд░рд╛рди рд╣реВрдВ рдХрд┐ рдпрд╣ рдПрдХ рдЦреБрд▓рд╛ рдкреНрд░рд╢реНрди рд╣реИред рдЕрдЧрд░ рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдерд╛ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рдХреНрдпреЛрдВ рд╣реИ рдпрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рддреЛ рдореБрдЭреЗ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реЛрдЧреАред
рдПрдХ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рди container_name
рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдФрд░ рд╡реЙрд▓реНрдпреВрдо, рдиреЗрдЯрд╡рд░реНрдХ, рдЬреИрд╕реЗ рдЕрдиреНрдп рдЧрддрд┐рд╢реАрд▓ рдирд╛рдордХрд░рдг ...)
services:
my_service:
container_name: {project_name}_{service_name}_{instance_number} # default value
рдРрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде, рдХреЛрдИ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ
services:
my_service:
container_name: fixedprojectname_{service_name}_{instance_number}
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдпрд╣ рдПрдХ рд╕рд╣реА рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдШрд░реНрд╖ рдХрд░реЗрдЧрд╛ рдЬреЛ рд╕рдорд╛рди рдлрд╝реЛрд▓реНрдбрд░ рдирд╛рдо рдХреЗ рднреАрддрд░ 2 рдкреНрд░рддрд┐рд╖реНрдард┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ
@jderusse
рдПрдХ рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рди
container_name
рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдФрд░ рд╡реЙрд▓реНрдпреВрдо, рдиреЗрдЯрд╡рд░реНрдХ, рдЬреИрд╕реЗ рдЕрдиреНрдп рдЧрддрд┐рд╢реАрд▓ рдирд╛рдордХрд░рдг ...)services: my_service: container_name: {project_name}_{service_name}_{instance_number} # default value
рдРрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде, рдХреЛрдИ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ
services: my_service: container_name: fixedprojectname_{service_name}_{instance_number}
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдпрд╣ рдПрдХ рд╕рд╣реА рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрдШрд░реНрд╖ рдХрд░реЗрдЧрд╛ рдЬреЛ рд╕рдорд╛рди рдлрд╝реЛрд▓реНрдбрд░ рдирд╛рдо рдХреЗ рднреАрддрд░ 2 рдкреНрд░рддрд┐рд╖реНрдард┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ
рдореИрдВ рдпрд╣ рднреА рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдпрд╣ рд╕рдВрдШрд░реНрд╖ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░реЗрдЧрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдореЗрдВ рдЕрднреА рднреА .env
рдлрд╝рд╛рдЗрд▓ рдкрд░ рдХреБрдЫ рдЕрджреНрд╡рд┐рддреАрдп рдореВрд▓реНрдп рдХреЗ рд▓рд┐рдП COMPOSE_PROJECT_NAME
рдЪрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреЗрд╡рд▓ рдЗрд╕ рдХрд╛рд░рдг рдХреЛ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЕрдиреБрдЪрд░ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдЕрдиреБрд░реЛрдз рд╣реИред
рдПрдХ рдмрд╛рд░ рдЬрдм рд╣рдо рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИ, рддреЛ рд╣рдо рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рдореБрдЭреЗ "рдЕрд╕реНрд╡реАрдХреГрдд" рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИред
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдпреЗ 2 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рд╣реИрдВ:
https://github.com/docker/compose/issues/745#issuecomment -345054893
https://github.com/docker/compose/issues/745#issuecomment -346487757
рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЙрди рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдкрдврд╝рддреЗ рд╣реБрдП рднреА рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдореБрдЭреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рдХреНрдпреЛрдВ рди рдХреЗрд╡рд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯ_рдирд╛рдо рдХреЛ рдпрдорд▓ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПред рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдпрд╣ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдЙрдирдХреЗ docker-compose.yaml рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдХрдо рд╕рд╛рдорд╛рдиреНрдп рдмрдирд╛рддрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдмрд╕ рдирд╛рдо рдпрдорд▓ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд╣реАрдВ рдбрд╛рд▓рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдХреГрдкрдпрд╛ рд╣рдордореЗрдВ рд╕реЗ рдмрд╛рдХреА рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд╛рд╕ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИред
рдареАрдХ рд╣реИ, рдореИрдВ рдЕрдиреНрдп рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдкрдврд╝рдиреЗ рдХреА рдкреВрд░реА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ; рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдЫреЛрдЯреЗ рдмреНрд▓рд░реНрдм рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░реЗрдВрдЧреЗ рдЬреЛ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╕рдВрджрд░реНрдн рд╕рд╛рдордЧреНрд░реА рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╕рдВрджрд░реНрдн рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдореИрдВ рд╕рд╣реА рдЪреАрдЬ рдкрдврд╝ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рд╕рд╣реА рд╕рд╛рдордЧреНрд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдореБрдЭреЗ рдЬреЛ рдХреБрдЫ рднреА рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣рд╛ рд╣реИ рдЙрд╕реЗ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдмрддрд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВред рдпрд╣ рдиреАрдЪреЗ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдорджрдж рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЬрд╛рдПрдЧреАред
(1) YML рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдпреЛрдЧреНрдп рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ YML рдлрд╝рд╛рдЗрд▓ рдХреЛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдиреЗ рд╕реЗ рд░реЛрдХреЗрдЧрд╛, рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдЬрдЯрд┐рд▓ рд╣реЛрдЧрд╛ред
(2) "рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдФрдЪрд┐рддреНрдп рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдмрд╣реБрдд рдЕрдзрд┐рдХ рдкреАрдбрд╝рд┐рдд рд╣реЛрдЧреА (рдЗрд╕ рд░реВрдк рдореЗрдВ)"
(3) "рдпрджрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рдХрдореНрдкреЛрдЬрд╝ рдлрд╛рдЗрд▓ рдореЗрдВ рд╣реИ рддреЛ рдХреЛрдИ рднреА рджреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдПрдХ рд╣реА рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рд╡рд┐рд░реЛрдз рдкреИрджрд╛ рд╣реЛрдЧрд╛, рдЬреЛ рджреЛрдиреЛрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рддреЛрдбрд╝ рджреЗрдЧрд╛ред"
рдЗрди рдкрд░ рдореЗрд░реЗ рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬрдм рддрдХ рд╣рдо рдЙрди рдЪрд┐рдВрддрд╛рдУрдВ рдкрд░ рд╕рд╣рдордд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ, рдЬрд┐рди рдкрд░ рдзреНрдпрд╛рди рджрд┐рдП рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдореИрдВ рдЙрди рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреВрдВрдЧрд╛ред рдХреНрдпрд╛ рдпрд╣ рдЙрдЪрд┐рдд рд╣реИ?
(4) рдкрд┐рдЫрдбрд╝реЗ рд╕рдВрдЧрдд рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди (рдореВрд▓реНрдпреЛрдВ рдХреА рдкреВрд░реНрд╡рддрд╛ / рд╡реНрдпрд╡рд╕реНрдерд╛)
(1) YML рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдпреЛрдЧреНрдп рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ YML рдлрд╝рд╛рдЗрд▓ рдХреЛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдиреЗ рд╕реЗ рд░реЛрдХреЗрдЧрд╛, рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдЬрдЯрд┐рд▓ рд╣реЛрдЧрд╛ред
рдлрд┐рд░ рднреА, рдЖрдзрд╛рд░ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдФрд░ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддрд░реАрдХрд╛ рд╣реИ - https://docs.docker.com/compose/extends/ред рдПрдХ рдмреЗрд╕ рдХреЙрдиреНрдлрд┐рдЧ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ред
рдореЗрд░реЗ рд▓рд┐рдП рдореИрдВ рдЬрд┐рд╕ рдкреНрд░рд╛рдердорд┐рдХ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд╡рд╣ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдХрдИ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИ (рджреЗрд╡, рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдЖрджрд┐)ред
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╛рдзрд╛рди рдпрд╣ рд╣реЛ рдХрд┐ рдЖрдк рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдпрд╛ рддреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рддрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдкрде-рдкреНрд░рджрд░реНрд╢рдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдЧрд░ рдореИрдВрдиреЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ my-project
рддрд░рд╣ yaml рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдХрд┐рд╕реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдПрдХ рд╣реА рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЪреАрдЬреЛрдВ рдХреЛ рд╕рд░рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдЬрд╣рд╛рдБ рдореИрдВ рдХреБрдЫ рдРрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдБ рдЬреИрд╕реЗ рдХрд┐ docker
рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдореЗрд░реЗ рд╕рднреА docker рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдХрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВред
.
тФЬтФАтФА project_a
тФВ тФЬтФАтФА docker
тФВ тФВ тФЬтФАтФА docker-compose.yml (project_name: my-project)
тФЬтФАтФА project_b
тФВ тФЬтФАтФА docker
тФВ тФВ тФЬтФАтФА docker-compose.yml (project_name: some-other-project)
рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рд╣реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдХрдИ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкрде рдХреЗ рд╕рд╛рде рдХреБрдЫ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕реЗ
project_name: ../(*)
рдПрдХ рд╣реА рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде
.
тФЬтФАтФА project_a
тФВ тФЬтФАтФА docker
тФВ тФВ тФЬтФАтФА docker-compose.yml (project_name=project_a)
тФЬтФАтФА project_b
тФВ тФЬтФАтФА docker
тФВ тФВ тФЬтФАтФА docker-compose.yml (project_name=project_b)
тФЬтФАтФА project_b_copy
тФВ тФЬтФАтФА docker
тФВ тФВ тФЬтФАтФА docker-compose.yml (project_name=project_b_copy)
рдЗрд╕реА рддрд░рд╣ project_name: ../(../*)
.
тФЬтФАтФА dev
тФВ тФЬтФАтФА project_a
тФВ тФВ тФЬтФАтФА docker
тФВ тФВ тФВ тФЬтФАтФА docker-compose.yml (project_name=dev_project_a)
тФЬтФАтФА test
тФВ тФЬтФАтФА project_a
тФВ тФВ тФЬтФАтФА docker
тФВ тФВ тФВ тФЬтФАтФА docker-compose.yml (project_name=test_project_a)
рдЯреНрд░реИрд╡рд░реНрд╕рд▓ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЛ рд╢рд╛рдпрдж рдореЗрд░реЗ рдЕрдВрдЧреВрдареЗ рд╕реЗ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЧрд╣рд░рд╛рдИ рд╕реЗ рд╕реЛрдЪрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рдРрд╕рд╛ рдХрд░рдиреЗ рд╕реЗ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рднреА рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓реЛрдВ рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдЪреАрд▓рд╛рдкрди рд╣реИред
рдХреЗрд╡рд▓ рдЖрдзрд╛-рдордЬрд╛рдХ: рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдореЗрд░реЗ docker-compose.yml рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдирд╛рдо рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВ рдЬреЛ рдирд╛рдо рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдЙрд╕рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдКрдВрдЧрд╛ рдФрд░ рдлрд┐рд░ project_name: name-of-the-file-named-like-the-name-i-want
рд╕реЗрдЯ рдХрд░реВрдВрдЧрд╛?
рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╣реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ docker-compose
рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рднрд╛рд░ рд╣реИред dc-work.yml
, dc-server.yml
, рдЖрджрд┐, рдХрд┐ рд╕рднреА рдЕрд▓рдЧ-рдЕрд▓рдЧ, рдЕрд╕рдВрдмрдВрдзрд┐рдд рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВред
рдЬрдм рдореИрдВ docker-compose up dc-A.yml
рднрд╛рдЧрддрд╛ рд╣реВрдВ, рдФрд░ рдлрд┐рд░ docker-compose up dc-B.yml
рдЪрд▓рд╛рддрд╛ рд╣реВрдВ, рддреЛ рдбреЙрдХрд░ рдиреЗ рдореБрдЭреЗ рдирдВрдЧрд╛ рдХрд░ рджрд┐рдпрд╛ рд╣реИ рдХрд┐ рдЕрдирд╛рде рд╕реЗрд╡рд╛рдПрдВ рдЪрд▓ рд░рд╣реА рд╣реИрдВ (рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡рд╣рд╛рдБ рдирд╣реАрдВ рд╣реИрдВ, рдпрд╣ рд╢рд╛рдкрд┐рдд рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреЗ рдХрд╛рд░рдг рд╣реИ)ред
рдХреНрдпрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ? рдкреНрд░рддреНрдпреЗрдХ dc-A|B|C|etc.yml
рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдкрдиреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛, рдФрд░ рдлрд┐рд░ рдореЗрд░реА рд╕рднреА рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рдЕрдиреБрд░реЗрдЦрдг рдХрд░рдирд╛ рд╕рдордп рдХреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмрд░реНрдмрд╛рджреА рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ, рдпрд╛ рдХреНрдпрд╛ рдореБрдЭреЗ рдХреБрдЫ рдпрд╛рдж рдЖ рд░рд╣рд╛ рд╣реИ?
рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛? рдпрд╣рд╛рдБ рдкрд░ @ cr7pt0gr4ph7 рджреНрд╡рд╛рд░рд╛ рд╕реНрдкрд╖реНрдЯ рдФрд░ рд╕реАрдзрд╛ рд╕рдорд╛рдзрд╛рди рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛: https://github.com/docker/compose/issues/745#issuecomment -182296139ред рдЗрд╕реЗ рдХрд╛рдлреА рд╡реЛрдЯ рдорд┐рд▓реЗред рдЪрд░реНрдЪрд╛ рдореЗрдВ рд╣рд░ рдПрдХ рдЪрд┐рдВрддрд╛ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдФрд░, рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд, рдпрд╣ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рдореБрджреНрджреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред рдХреНрдпрд╛ рджреЗрддрд╛ рд╣реИ?
рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рднреА рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдПрдХ .docker рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рд╕рд╛рде рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд╕рднреА docker-рд╕рдВрдмрдВрдзрд┐рдд рд╕рд╛рдорд╛рди рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ .docker рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд╛рдореЛрдВ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ - рдореИрдВ рдПрдХ microservices рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдЗрд╕рд▓рд┐рдП рдпрд╣ рдХрдИ рдмрд╛рд░ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ ... рд▓реЗрдХрд┐рди рдпрд╣ рдЫреЛрдЯреА рд╕реА рдЪреАрдЬ, рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдорд┐рд▓рддреА рд░рд╣рддреА рд╣реИ -> рдпрд╣ рднреА, PHPStorm рдЖрджрд┐ рдХреЗ рдкрд╛рд╕ -p / - рдкреНрд░реЛрдЬреЗрдХреНрдЯ- dir рддрд░реНрдХ рдкрд╛рд╕ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ рдФрд░ рдореИрдВ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП .env рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдХреНрдпреЛрдВрдХрд┐, рдореЗрд░рд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдХрд░реЛ, рд╕рд╣реА рдореВрд▓реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рднреВрд▓ рдЬрд╛рдПрдЧрд╛ ...
рдбреЗрд╡рд▓рдкрд░реНрд╕, рдХреГрдкрдпрд╛ рд╣рдореЗрдВ рдмрддрд╛рдПрдВ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рд╢рд╛рдпрдж рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рдирд╛рдо рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреЛрдИ рдкреНрд░реЙрдкрд░реНрдЯреА рдЬреЛрдбрд╝реЗрдВ?
@AyushyaChitransh
рдбреЗрд╡рд▓рдкрд░реНрд╕, рдХреГрдкрдпрд╛ рд╣рдореЗрдВ рдмрддрд╛рдПрдВ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдХреИрд╕реЗ рд╣рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдпрд╣ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рд╛рд░рд╛рдВрд╢ рд╣реИ:
https://github.com/docker/compose/issues/745#issuecomment -182296139
рдЦреВрдм рдЪрд░реНрдЪрд╛ рд╣реБрдИ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдФрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЕрдиреБрд░рдХреНрд╖рдХреЛрдВ рдХреЛ рдХреЗрд╡рд▓ рдереНрд░реЗрдбреНрд╕ (рдмрд╣реБрд╡рдЪрди) рдХреЛ рдкрдврд╝рдиреЗ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рдЕрднреА рднреА рд╣реИ: https://github.com/docker/compose/issues/745#issuecomment -248644429
рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ рдЕрднреА рднреА рд╣реИ: # 745 (рдЯрд┐рдкреНрдкрдгреА)
рд╣рд╛рдВ, рдПрдХ рдореМрдЬреВрджрд╛, рд▓реЗрдХрд┐рди рдЦрд░рд╛рдм рд╕рдорд╛рдзрд╛рди рд╣реИред рдЙрди рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рд╡реЛрдЯ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрдИ рд▓реЛрдЧреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИред рд▓рд┐рдВрдХ рдХреА рдЧрдИ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рдмрд╕ рдЗрди рдереНрд░реЗрдбреНрд╕ рдореЗрдВ рдЙрдард╛рдП рдЧрдП рдЕрдзрд┐рдХрд╛рдВрд╢ рд╡реИрдз рдЪрд┐рдВрддрд╛рдУрдВ рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВред
Tbh, рдпрд╣ рдПрдХ рдореВрдХ рдмрд┐рдВрджреБ рдХреА рддрд░рд╣ рд╣реИред рд╣рдо рдореЗрдВ рд╕реЗ рдХрдИ docker-compose
рдкреНрд░рдХрд╛рд░ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд▓рд┐рдП рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдореЗрдВ рдЪрд▓реЗ рдЧрдП рд╣реИрдВред рдпрд╣ рдереЛрдбрд╝реА рдХреНрд░рд┐рдпрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ рдХреНрд▓рд╛рдЙрдб рд╡рд┐рдХреНрд░реЗрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерд┐рдд рд╣реИред
@AyushyaChitransh
рд╣рдо рдпрд╣рд╛рдБ рд╡рд░реНрдгрд┐рдд рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ: https://github.com/docker/compose/issues/745#issuecomment -182296139
рдРрд╕рд╛ рдордд рд╕реЛрдЪреЛ рдХрд┐ рдЗрд╕рдореЗрдВ рдХреЛрдИ рдЖрдкрддреНрддрд┐ рд╣реИред
рдпрд╣ рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХрд┐рд╕реА рддрд░рд╣ container_name
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдЬреЛ docker-compose.yml
рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдк рдореМрдЬреВрджрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рдкреБрди: рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред
рдпрджрд┐ рдЖрдкрдХрд╛ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдлрд╝реЛрд▓реНрдбрд░-рдкрде рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИ рдФрд░ рдХрд┐рд╕реА рддрд░рд╣ project-name
рдЖрдкрдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕реЗред рд╡рд┐рд▓рдп рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдХрдИ рдХрдореНрдкреЛрдЬ рдлрд╛рдЗрд▓, рдЯреЗрдореНрдкреНрд▓реЗрдЯ, ... - рдЖрдк рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ - рдореМрдЬреВрджрд╛ рд╕реНрдЯреИрдХ рдУрд╡рд░рд░рд╛рдЗрдЯрд┐рдВрдЧред
рдпрд╣ рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ wontfix .. рдХреЗ рд░реВрдк рдореЗрдВ рдмрдВрдж рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП .. (рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ) рдпрд╛ рдПрдХ рдирдпрд╛ MAJOR (!) рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рд░реА рдХрд░реЗрдВ
@ schmunk42
рдпрджрд┐ рдЖрдкрдХрд╛ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдлрд╝реЛрд▓реНрдбрд░-рдкрде рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИ рдФрд░ рдХрд┐рд╕реА рддрд░рд╣ рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рдирд╛рдо рдХреЛ рдЖрдкрдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕реЗред рд╡рд┐рд▓рдп рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдХрдИ рдХрдореНрдкреЛрдЬ рдлрд╛рдЗрд▓, рдЯреЗрдореНрдкреНрд▓реЗрдЯ, ... - рдЖрдк рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ - рдореМрдЬреВрджрд╛ рд╕реНрдЯреИрдХ рдУрд╡рд░рд░рд╛рдЗрдЯрд┐рдВрдЧред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдХреЗрд╡рд▓ рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд░рдЪрдирд╛ рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдпрд╣ рдареАрдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдХрдВрдкреЛрдЬрд╝ рдлрд╛рдЗрд▓реЗрдВ рдореМрдЬреВрджрд╛ рд╕реНрдЯреИрдХреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВред рдЖрдк рдЗрд╕ рд╕реЗрдЯрд┐рдВрдЧ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдбреЙрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдЪреЗрддрд╛рд╡рдиреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
рджреВрд╕рд░реЗ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
рд╡реЙрдиреНрдЯрд┐рдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реЗ рдмрдВрдж рдХрд░рдирд╛ рдпрд╣ рдмрддрд╛рдП рдмрд┐рдирд╛ рдмрд╣реБрдд рдорджрджрдЧрд╛рд░ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЙрдкрд░реЛрдХреНрдд isnt рдХреНрдпреЛрдВ рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рд╣реИ .. рдпрд╛ рдПрдХ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рд░реНрдЧ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рдореИрдВ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рдХрд┐ рдореЗрд░реЗ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ (рдпрд╛ рдореЗрд░реА рдкреВрд░реА рдЯреАрдо рдХреЗ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ) рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рд░рд╣реЗрдВ рдХрд┐ рд╡реЗ рдЙрд╕ рдлреЛрд▓реНрдбрд░ рдХрд╛ рдирд╛рдо рдХреНрдпрд╛ рд░рдЦрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рд╡реЗ рдХреЛрдб рдЪреЗрдХ рдХрд░рддреЗ рд╣реИрдВред
.Env рдлрд╝рд╛рдЗрд▓ рд╕реЙрд▓реНрдпреВрд╢рди рдХреЗ рд╕рд╛рде рдореЗрд░реА рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдХрдорд╛рдВрдб рд░рди рдХреЗ рд╡рд░реНрдХрд┐рдВрдЧ рдбрд╛рдпрд░ рдореЗрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП - рдЬрдмрдХрд┐ рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ рдкреИрд░реЗрдВрдЯ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдлрд╛рдЗрд▓ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдпрд╛ рддреЛ (рдП) рд╕рдорд╛рди-рдирд╛рдорд┐рдд рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХреЛрдб рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ (рдПрдХ рдХреЛрдб рд░реЗрдкреЛ рдХреА рдЬрдбрд╝ рдореЗрдВ рдПрдХ docker-compose.yml рдлрд╝рд╛рдЗрд▓ рдорд╛рдирдХрд░) рдпрд╛ (B) рдХреЗрд╡рд▓ docker-compose рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдВ рд░реЗрдкреЛ рдХреЗ рд░реВрдЯ рдлреЛрд▓реНрдбрд░ рдЕрдиреНрдпрдерд╛ рдкрд░рд╕реНрдкрд░ рд╡рд┐рд░реЛрдзреА рд╕реНрдЯреИрдХ рдпрд╛ (рд╕реА) рдмрдирд╛рддреЗ рд╣реИрдВ рдЙрдирдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрдЯреИрдХ рдирд╛рдо рд╣реИрдВ рдФрд░ рд╕рднреА рдкреНрд░рд▓реЗрдЦрди рдФрд░ рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЛ replace stack name here
рдХрд╣рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдпрджрд┐ (C) рд╡рд╣ рдХреНрдпрд╛ рд╣реИ рдЬреЛ рд╕реБрдЭрд╛рдП рдЧрдП 'рдкреЛрд░реНрдЯреЗрдмрд▓' рд╕рдорд╛рдзрд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рд╕реБрдЭрд╛рддрд╛ рд╣реИ, рддреЛ docker- рд░рдЪрдирд╛ CLI рдХреЛ docker CLI рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдлреАрдЪрд░-рдкреВрд░реНрдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рднреА, рдореИрдВ рдЕрднреА рднреА рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд╛ рдорд╛рдорд▓рд╛ рджреЗрдЦрддрд╛ рд╣реВрдВред
рдпрджрд┐ рдЖрдкрдХрд╛ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдлрд╝реЛрд▓реНрдбрд░-рдкрде рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИ рдФрд░ рдХрд┐рд╕реА рддрд░рд╣ рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рдирд╛рдо рдХреЛ рдЖрдкрдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕реЗред рд╡рд┐рд▓рдп рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдХрдИ рдХрдореНрдкреЛрдЬ рдлрд╛рдЗрд▓, рдЯреЗрдореНрдкреНрд▓реЗрдЯ, ... - рдЖрдк рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ - рдореМрдЬреВрджрд╛ рд╕реНрдЯреИрдХ рдУрд╡рд░рд░рд╛рдЗрдЯрд┐рдВрдЧред
рдЕрдЧрд░ рдХрд┐рд╕реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рдирд╛рдо рдХреЛ рдбреЙрдХрдЯрд░-рдХрдореНрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИ (рдЬреИрд╕реЗ рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╣рд░ рджреВрд╕рд░реА рдкрдВрдХреНрддрд┐)ред рдЕрдлрд╕реЛрд╕ рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рдЕрднреА рднреА рдореЗрд░реЗ рдЪреЗрдХ рдЖрдЙрдЯ рдХрд┐рдП рдЧрдП рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдирд╛рдо рдмрджрд▓рдиреЗ (рдЧрд┐рдЯ рдореЗрдВ рдХреЛрдИ рдЯреНрд░реИрдХ рдХрд┐рдП рдЧрдП рдмрджрд▓рд╛рд╡ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ) рдореБрдЭреЗ рдПрдХ рдЯреВрдЯреА рд╣реБрдИ рдкреНрд░рдгрд╛рд▓реА рднреА рдорд┐рд▓рддреА рд╣реИред
рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдпрд╣ 2020 рд╣реИ рдФрд░ рд╣рдордиреЗ рдЕрднреА рднреА рдЗрд╕ рд╡рд┐рд╢рд╛рд▓ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рдареАрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдпрд╣ рдПрдХ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ рд╣реИ, рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ рдФрд░ рд╕рд╣реА рдЕрд░реНрде рд╣реИред рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдЕрдм рдбреЙрдХрдЯрд░ рдХреЗ рд▓рд┐рдП рдбрд┐рдлреИрдХреНрдЯреЛ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдЙрдкрдХрд░рдг рд╣реИ, рдореИрдВ рдХрд▓реНрдкрдирд╛ рдХрд░рддрд╛ рд╣реВрдБ рдХрд┐ рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ рдЬреНрдпрд╛рджрд╛рддрд░ рд╡рд┐рдХрд╛рд╕ / рд╕реНрдерд╛рдиреАрдп рддреИрдирд╛рддреА рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ рдФрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреА рдЬрдбрд╝ рдореЗрдВ рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд░рд┐рдкреЛ рдореЗрдВ рдХреЛрдб рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдмрд╣реБрдд рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИ рдЙрджрд╛рд╣рд░рдгред
@ dc-pm рдиреЗ рд▓рд┐рдЦрд╛: "рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдЕрдм рдбреЙрдХрдЯрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдбреЗрдкреЛ рддреИрдирд╛рддреА рдЙрдкрдХрд░рдг рд╣реИ"
рдЕрдм рдореИрдВ рдбреЙрдХрдЯрд░-рдХрдореНрдкреЛрдЬрд╝ рдлрд╛рдЗрд▓ рдирд╣реАрдВ рд▓рд┐рдЦрддрд╛ред рд╡рд╣рд╛рдБ рдХреБрдЫ рд╣реИ рдХрд┐ рдЙрддреНрдкрд╛рджрди рдирд╣реАрдВ рджреЗрдЦреЗрдВрдЧреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд▓рд╛рдн рдирд╣реАрдВ рд╣реИред рдХреБрдмреЗрд░рдиреЗрдЯреНрд╕ рдХреЗ рдкрд╛рд╕ рдХреНрд╡рд░реНрдХреА рд╣реИ, рднреАред рд▓реЗрдХрд┐рди рдпрд╣ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдХреНрд▓рд╛рдЙрдб рд╡рд┐рдХреНрд░реЗрддрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИред
рд╕рдЪ рдХрд╣рд╛ рдЬрд╛рдП, рддреЛ рдореЗрд░реЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдорд╛рд╣реМрд▓ рдореЗрдВ рдХрдВрдЯреЗрдирд░реЛрдВ рд╕реЗ рдирд┐рдкрдЯрдирд╛ рджрд┐рди-рдкреНрд░рддрд┐рджрд┐рди рдмрд╣реБрдд рдкрд░реЗрд╢рд╛рдиреА рднрд░рд╛ рд╣реИред рдореИрдВ рд╕рд┐рд░реНрдл рдХрд╛рд░реНрдпрдХреНрд░рдо рдЪрд▓рд╛рддрд╛ рд╣реВрдВ ...
@ dc-pm рдиреЗ рд▓рд┐рдЦрд╛:
рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдпрд╣ 2020 рд╣реИ рдФрд░ рд╣рдордиреЗ рдЕрднреА рднреА рдЗрд╕ рд╡рд┐рд╢рд╛рд▓ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рдареАрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред
рдпрд╣ рд╕рд┐рд░реНрдл рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдареАрдХ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рд╕реЗ рдЗрдирдХрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред
рдореБрдЭреЗ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдЗрд╕ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╢реЛрд░реЛрдВ рдХреЗ рдкрд╛рд╕ рдЗрд╕ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рдирд┐рд╣рд┐рддрд╛рд░реНрде рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрднрд╡ рдХреА рдЧрд╣рд░рд╛рдИ рдирд╣реАрдВ рд╣реИ, рдпрд╛ рдЕрдкрдиреЗ рдЕрдзрд┐рдХ рдЕрдиреБрднрд╡реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рд╡рд┐рд╢рд╛рд▓ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕реБрдирдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реБрдП рдЗрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд╕реНрдЯреИрдХ рд╡рд╛рд▓реЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рдпрд╛ рд╢рд╛рдпрдж рдЯреАрдореЛрдВ рдореЗрдВ рднреАред рдЕрдиреНрдпрдерд╛, рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ, _this рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╡реГрджреНрдзрд┐ рд╣реЛрдЧреА! _
рдХреБрдЫ рджреЛрд╕реНрддрд╛рдирд╛ рдЕрдиреБрд╕реНрдорд╛рд░рдХ ...
рдУрдкрди-рд╕реЛрд░реНрд╕ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЖрдкрдХреЗ "рдХрд░реНрдордЪрд╛рд░реА / рдХреЙрд▓реЗрдЬ" рдирд╣реАрдВ рд╣реИрдВ, рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╡реЗ рдЬреНрдпрд╛рджрд╛рддрд░ рдореБрдлреНрдд рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдпрджрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рд▓рд┐рдП рдПрдХ рдореБрджреНрджрд╛ рд╣реИ, рддреЛ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдордп рд▓реЗрдВ (рдФрд░ рдкреАрдЖрд░ рдХреЛ рдзрдХреНрдХрд╛ рджреЗрдВ)ред
рджреЛрд╖ рджреЗрдирд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред
https://github.com/docker/code-of-conduct/blob/master/code-of-conduct-EN.md
рдЬрдм рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЗрд╕рдХреЗ рдЦрд┐рд▓рд╛рдл рд╣реЛрддреЗ рд╣реИрдВ рддреЛ рдПрдХ рдмрджрд▓рд╛рд╡ рдХреЛ рдЖрдЧреЗ рдмрдврд╝рд╛рдирд╛ рдХрд╛рдлреА рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрддрд╛ рд╣реИ ...
рд╢рдирд┐рд╡рд╛рд░ рдХреЛ, 14 рдорд╛рд░реНрдЪ 2020 рдХреЛ 03:19 рдкрд░, рдПрдВрдЯреЛрдиреА рдЧреНрд░реЗрд╡реЗрд▓реЙрдЯ рд╕реВрдЪрдирд╛рдПрдВ @github.com
рд▓рд┐рдЦрд╛ рдерд╛:
рдХреБрдЫ рджреЛрд╕реНрддрд╛рдирд╛ рдЕрдиреБрд╕реНрдорд╛рд░рдХ ...
рдЕрдзрд┐рдХрд╛рдВрд╢ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдУрдкрди-рд╕реЛрд░реНрд╕ рдбреЗрд╡рд▓рдкрд░ рдЖрдкрдХреЗ "рдХрд░реНрдордЪрд╛рд░реА / рдХреЙрд▓реЗрдЬ" рдирд╣реАрдВ рд╣реИрдВ
рд╡реЗ рдЬреНрдпрд╛рджрд╛рддрд░ рдореБрдлреНрдд рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдпрджрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЖрдкрдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рддреЛ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдордп рд▓реЗрдВ
рдФрд░ рдПрдХ рдкреАрдЖрд░ рдзрдХреНрдХрд╛редрджреЛрд╖ рджреЗрдирд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред
https://github.com/docker/code-of-conduct/blob/master/code-of-conduct-EN.md
-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рд╣реИред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рдЙрддреНрддрд░ рд╕реАрдзреЗ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/docker/compose/issues/745#issuecomment-598991880 , рдпрд╛
рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд
https://github.com/notifications/unsubscribe-auth/ABAXP2DRD7H4YI7KQ7B2URLRHLLQ5ANCNFSM4AZMCNWA
ред
@agravelot рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ
@agravelot рджреЗрд░реА рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИред рдФрд░ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрдИ рднрдпрд╛рдирдХ рдФрд░ рдкреНрд░рддрд┐рднрд╛рд╢рд╛рд▓реА рд▓реЛрдЧреЛрдВ рдХреЗ рдкреНрд░рддрд┐ рдЕрдирд╛рджрд░ рдХрд╛ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ рдЬреЛ рдпрд╣рд╛рдВ рдпреЛрдЧрджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдкреНрд░рдпрд╛рд╕ рдХреА рдХрдореА рдХреЛ рджреЛрд╖ рджреЗрдирд╛ рднреА рдорджрджрдЧрд╛рд░ рдирд╣реАрдВ рд╣реИред
рдореИрдВ рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рдЪрд╛рд░ рдХреЗ рд╕рдорд░реНрдерди рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддрд╛ рд╣реВрдВ рдЬрд┐рд╕реЗ рдмрд╣реБрдд рд▓рдВрдмреЗ рд╕рдордп рд╕реАрдорд╛ рдкрд░ рд╕реНрдкрд╖реНрдЯ рд╕рдорд░реНрдерди рдХреЗ рдмрд╛рд╡рдЬреВрдж рдЕрдирдЧрд┐рдирдд рдЕрд╡рд╕рд░реЛрдВ рдкрд░ рдирд╣реАрдВ рд╕реБрдирд╛ рдЧрдпрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдЖрдЪрд╛рд░ рд╕рдВрд╣рд┐рддрд╛ рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЗрд╕ (рдФрд░ рдУрдПрд╕рдПрд╕ рдЖрдорддреМрд░ рдкрд░) рдХрд╛ рдкреВрд░рд╛ рдмрд┐рдВрджреБ рд▓реЛрдЧреЛрдВ рдХреЛ рдХреЛрдб рдХрд╛ рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдФрд░ рд╕рднреА рд╡рд┐рдЪрд╛рд░реЛрдВ рдХрд╛ рд╕рдореНрдорд╛рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдирд╛ рд╣реИред
рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрдИ рдкреБрд▓ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдЕрдзрд┐рдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдпрд╣ рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ рдЬреЛ рдореИрдВ рд▓реЗрдЦрдХ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЦреБрд╢ рд╣реВрдВред
рдЖрдЧреЗ рдФрд░ рдЕрдзрд┐рдХ рд░рдЪрдирд╛рддреНрдордХ рддрд░реАрдХрд╛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛?
рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрдИ рдкреБрд▓ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдЕрдзрд┐рдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдпрд╣ рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ рдЬреЛ рдореИрдВ рд▓реЗрдЦрдХ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЦреБрд╢ рд╣реВрдВред
рд╣рд╛рдВ, рджреЗрд╡реЛрдВ рдХреЛ рдЙрдирдХреА рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рд╕рд╛рде рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╛ рдЗрд╕реЗ "рдареАрдХ рдирд╣реАрдВ рд╣реЛрдЧрд╛" (рд╕рдВрднрд╡рдд: рдмрд╣рд╕ рдХрд░рддреЗ рд╣реБрдП) рдХреЗ рд░реВрдк рдореЗрдВ рдмрдВрдж рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП ... рдЗрд╕реЗ рд╕рд╛рд▓реЛрдВ рддрдХ рдЦреБрд▓рд╛ рд░рдЦрдирд╛, рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ, рдпрд╣ рд╕рд┐рд░реНрдл рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХрд╛ рд╕рдордп рдмрд░реНрдмрд╛рдж рдХрд░ рд░рд╣рд╛ рд╣реИ (рд╡реНрдпрд╛рдкрдХ рдЕрд░реНрдереЛрдВ рдореЗрдВ) )ред рдпрд╣ рднреА рдЕрдкрдорд╛рдирдЬрдирдХ рд╣реИ, рдЖрдИрдПрдордУред
рд╣реЗ, рджреЛрд╕реНрддреЛрдВ, рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдореИрдВ рд╕рд┐рд░реНрдл рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдЗрд╕рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ 2 рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬ рд╣реИрдВред рдлрд╛рдЗрд▓реНрд╕ рд╣реИрдВ, рдПрдХ рд╡рд┐рдХрд╛рд╕ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдкреНрд░реЛрдбрдХреНрд╢рди рдХреЗ рд▓рд┐рдПред рд╡реЗ рдПрдХ рд╣реА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВред рд╡реЗ рджреЛрдиреЛрдВ рдПрдХ рд╣реА рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рд╕реЗрд╡рд╛ рдХрд░рддреЗ рд╣реИрдВ - рдЬрд┐рд╕реЗ "рдбреЗрдЯрд╛рдмреЗрд╕" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдЗрди рджреЛрдиреЛрдВ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рддреИрдирд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ - рд╕рд┐рд░реНрдл рдЗрд╕рд▓рд┐рдП рдХрд┐ рдореИрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдпрд╣ рд╣рдо рдЬрд┐рд╕ рдХрдВрдЯреЗрдирд░реАрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдореИрдВ рдЙрддрдирд╛ рд╣реА рд╕реНрдХреЗрд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдЬрд┐рддрдирд╛ рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЙрдирдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ "рдХрдВрдЯреЗрдирд░_рдирд╛рдо" рдореВрд▓реНрдп рд╣реИрдВред
рддреЛ рдореИрдВ рдЪрд▓рд╛:
macbook@fuck-fuck autocat-server % docker-compose -f ./compose-dev.yml up -d database
Creating network "autocat-server_autocat-dev" with the default driver
Creating database-dev ... done
macbook@fuck-fuck autocat-server % docker-compose -f ./compose-prod.yml up -d database
Creating network "autocat-server_autocat-prod" with the default driver
Recreating database-dev ... done
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ "рдбреЗрдЯрд╛рдмреЗрд╕-рджреЗрд╡ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдирд╛" рдХреИрд╕реЗ рдХрд╣рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдореИрдВ "рдареЗрд╕" рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╕реНрдерд┐рдд рд╕реЗрд╡рд╛ рдХрд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореМрдЬреВрджрд╛ рдХрдВрдЯреЗрдирд░ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░рддрд╛ рд╣реИред рдбреЗрдЯрд╛рдмреЗрд╕ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХрдВрдЯреЗрдирд░ рдХреЛ рдмрд╛рдж рдХреЗ рд╕рд╛рде рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдореИрдВ рдЗрд╕ рдзрд╛рд░рдгрд╛ рдкрд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЕрд▓рдЧ-рдЕрд▓рдЧ "docker-compose.yml" рдлрд╛рдЗрд▓реЛрдВ рдХрд╛ рдорддрд▓рдм рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рди рдореЗрдВ рдХреЛрдИ рдЪреАрдЬ рдирд╣реАрдВ рд╣реИред рдЬрд┐рд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд╕реЗрд╡рд╛ рдорд┐рд▓рддреА рд╣реИ рд╡рд╣ "docker-compose.yml" рдХреЗ рд╕реНрдерд╛рди рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛрддреА рд╣реИред рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдПрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдЕрд▓рдЧ рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдЕрдВрдд рдореЗрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
macbook@fuck-fuck autocat-server % COMPOSE_PROJECT_NAME=autocat-prod docker-compose -f ./compose-prod.yml up -d database
Creating network "autocat-prod_autocat-prod" with the default driver
Creating database-prod ... done
macbook@fuck-fuck autocat-server % COMPOSE_PROJECT_NAME=autocat-dev docker-compose -f ./compose-dev.yml up -d database
Creating network "autocat-dev_autocat-dev" with the default driver
Creating database-dev ... done
рдПрдХрд▓-рдЖрджреЗрд╢ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рдЗрддрдирд╛, рдХреНрдпрд╛ рдПрдХ рдирд┐рд░рдкреЗрдХреНрд╖ рдордЬрд╛рдХред рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, .yml рдЗрд╕ рд╕рдВрджрд░реНрдн рдореЗрдВ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫреА рдЬрдЧрд╣ рд╣реИред
рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдореИрдВ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдПрдХ рдПрдХрд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд░рдЦрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ - рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдирд╛рдо рджреЗрдХрд░: "рдбреЗрдЯрд╛рдмреЗрд╕-рджреЗрд╡" рдФрд░ "рдбреЗрдЯрд╛рдмреЗрд╕-рдкреНрд░реЛрдбрдХреНрдЯ"ред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде рдПрдХрдорд╛рддреНрд░ рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдкреВрд░реНрд╡ рдореЗрдВ рддрддреНрдХрд╛рд▓ рд╕реЗрд╡рд╛ рдХреЗ рдЕрдирд╛рде рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдиреНрдп docker-compose.yml рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдирд╣реАрдВ рд╣реИред
macbook@fuck-fuck autocat-server % docker-compose -f ./compose-prod.yml up -d database-prod
Creating network "autocat-server_autocat-prod" with the default driver
Creating database-prod ... done
macbook@fuck-fuck autocat-server % docker-compose -f ./compose-dev.yml up -d database
WARNING: Found orphan containers (database-prod) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up.
Creating database-dev ... done
рдЗрд╕рд╕реЗ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ рдХрд┐ tbh, рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реЛрддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реИ?
EDIT1: @ рдбреАрд╕реА-рдмрдЬреЗ @CharlieReitzel рд▓рдЧрддрд╛ whatchu? рдЕрдЧрд░ рдпрд╣ рдЕрдорд╛рдиреНрдп рд╣реИ рддреЛ рдХреНрдпрд╛ рдЖрдк рдореЗрд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреЛрдИ рдЯрд┐рдкреНрдкрдгреА рджреЗ рд╕рдХрддреЗ рд╣реИрдВ, :)
EDIT2: рдореИрдВрдиреЗ рджреЛрдиреЛрдВ рдХрдВрдкреЛрдЬрд┐рдЯ рдлрд╛рдЗрд▓ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдФрд░ рд╡реЙрдпрд▓рд╛ рдореЗрдВ рдбрд╛рд▓ рджрд┐рдпрд╛ рд╣реИ
sooo?
рд░рдЦрд╡рд╛рд▓реЗ, рдпрд╣рд╛рдБ рдХреЛрдИ рднреА?
6 рд╕рд╛рд▓ рдХреЗ рджреМрд░рд╛рди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЗрдВрддрдЬрд╛рд░!
рдирдорд╕реНрддреЗ! рдореИрдВрдиреЗ рдХрдВрдкреЛрдЬрд╝-рд╕реНрдкреЗрдХ рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдкреИрджрд╛ рдХреА рд╣реИ рдХрд┐ рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рдирд╛рдо рдХреЛ рдХрдВрдкреЛрдЬрд╝ рд╕реНрдХреАрдорд╛ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдП рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдХрдВрдкреЛрдЬрд╝ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреНрдпрд╛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдПрдХ рдмрд╛рд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ-рдиреЗрдо рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЛ рдХрдВрдкреЛрдЬрд╝ рд╕реНрдкреЗрд╕ рд╕реЗ рдЬреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдП, рддреЛ рд╣рдо рдбреЙрдХрдЯрд░-рдХрдВрдкреЛрдЬрд╝ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдпрджрд┐ рдЖрдк рдПрдХ рд╕реАрдЖрдИ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХреБрдЫ рднреА рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рдкрддрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдХреБрдЫ рдФрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛред
рдПрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд╛рдо рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдЗрди рдЕрджреНрд╡рд┐рддреАрдп, рдФрд░ рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рд╣рдореЗрдВ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдореБрдЭреЗ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдирд╛рдо рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ (# 45) рдореЗрдВ рднреА рдЗрд╕реА рддрд░рд╣ рдХреА рдЪрд░реНрдЪрд╛ рд╣реБрдИред
.fig/project-name
рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдирд╛рдо рд╣реЛрдиреЗ рд╕реЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рдЫреЛрдЯреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЬрдиреНрдо рджреЗрдЧрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗfig.yml
рдЦреБрдж рдореЗрдВ рдбрд╛рд▓рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ (рдЬреИрд╕реЗ рдХрд┐ рдпрд╣ # 45 рдореЗрдВ рд╕реБрдЭрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ docker рдПрдХ рдкреНрд░рд╕реНрддрд╛рд╡ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИ)редрдЗрд╕реЗ рдПрдХ рдЕрд▓рдЧ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдФрд░ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдбрд╛рд▓рдиреЗ рдХреЗ рдХреНрдпрд╛ рдлрд╛рдпрджреЗ рд╣реИрдВ?