рдбреЙрдХрд░ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдЕрдиреБрд╡рд╛рдж рдХреЗ рдЗрд╕ рднрд╛рдЧ рдореЗрдВ, рд╣рдо рдЗрд╕ рдмрд╛рдд рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдЫрд╡рд┐ рдЖрдХрд╛рд░реЛрдВ рдХреЛ рдХреИрд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЛ рдЧрддрд┐ рджреА рдЬрд╛рдПред рдкрд┐рдЫрд▓реЗ рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдореЗрдВ, рд╣рдордиреЗ рдбреЙрдХрд░ рдЫрд╡рд┐рдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдкрд┐рдЬреНрдЬрд╛ рдХреЗ рд╕рд╛рде рдХреА, рдбреЛрдирдЯреНрд╕ рдХреЗ рд╕рд╛рде рд╢рд░реНрддреЗрдВ, рдФрд░ рдмреИрдЧреЗрд▓ рдХреЗ рд╕рд╛рде рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреАред рдЖрдЬ рдмреЗрдХрд┐рдВрдЧ рдирд╣реАрдВ рд╣реЛрдЧреАред рдпрд╣ рдПрдХ рдЖрд╣рд╛рд░ рдкрд░ рдЬрд╛рдиреЗ рдХрд╛ рд╕рдордп рд╣реИред
тЖТ
рднрд╛рдЧ 1: рдореВрд▓ рдмрд╛рддреЗрдВтЖТ
рднрд╛рдЧ 2: рд╢рдмреНрдж рдФрд░ рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдБтЖТ
рднрд╛рдЧ 3: рдбреЙрдХрдлрд╛рдЗрд▓ рдлрд╛рдЗрд▓реЗрдВтЖТ
рднрд╛рдЧ 4: рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдирд╛ рдФрд░ рдЙрдирдХреА рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рддреЗрдЬ рдХрд░рдирд╛тЖТ
рднрд╛рдЧ 5: рдЯреАрдореЗрдВтЖТ
рднрд╛рдЧ 6: рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╣рдо рдпрд╣рд╛рдВ рдХрд┐рд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ
рддреАрд╕рд░реЗ рднрд╛рдЧ рдореЗрдВ рдЬреЛ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рдереА, рдЙрд╕рдХреА рд╕реНрдореГрддрд┐ рдХреЛ рддрд╛рдЬрд╝рд╛ рдХрд░рдирд╛ рдЖрдкрдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред рдЕрд░реНрдерд╛рддреН, рд╣рдордиреЗ Dockerfile рдлрд╝рд╛рдЗрд▓ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреАред рдЗрди рдирд┐рд░реНрджреЗрд╢реЛрдВ рдФрд░ рдбреЙрдХрд░ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд░, рдЬрд┐рдирдХреА рд╣рдо рдЖрдЬ рдЪрд░реНрдЪрд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЖрдкрдХреЛ рдЕрдкрдиреА рдбреЙрдХрд░ рдЫрд╡рд┐ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреЗред
рдХреИрд╢рд┐рдВрдЧ
рдбреЙрдХрд░ рдХреА рдЦреВрдмрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдХреИрд╢рд┐рдВрдЧред рдЗрд╕ рддрдВрддреНрд░ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХреЛ рддреЗрдЬ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдбреЙрдХрд░ рдЫрд╡рд┐ рдХреЛ рдЕрд╕реЗрдВрдмрд▓ рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рдХреНрд░рдо рдореЗрдВ рдЙрдирдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддреЗ рд╣реБрдП, рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реИред рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдбреЙрдХрд░ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдХреИрд╢ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рд╣рдореЗрдВ рдЕрдкрдиреА рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рдордзреНрдпрд╡рд░реНрддреА рдЪрд░рдгреЛрдВ рдореЗрдВ рдорд┐рд▓рддрд╛ рд╣реИред рдпрджрд┐ рдРрд╕реА рдЫрд╡рд┐рдпрд╛рдВ рдорд┐рд▓ рд╕рдХрддреА рд╣реИрдВ, рддреЛ рд╕рд┐рд╕реНрдЯрдо рдЙрдиреНрд╣реЗрдВ рд╕рдордп рдмрд░реНрдмрд╛рдж рдХрд┐рдП рдмрд┐рдирд╛ рдЙрдиреНрд╣реЗрдВ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдпрджрд┐ рдХреИрд╢ рдЕрдорд╛рдиреНрдп рд╣реИ, рддреЛ рдЬрд┐рд╕ рдЕрдиреБрджреЗрд╢ рдХреЗ рджреМрд░рд╛рди рдпрд╣ рд╣реБрдЖ рд╣реИ, рд╡рд╣ рдХреИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдПрдХ рдирдИ рдкрд░рдд рдмрдирд╛ рд░рд╣рд╛ рд╣реИред рдРрд╕рд╛ рд╣реА рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЗрд╕рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реИрдВред
рдирддреАрдЬрддрди, рдЕрдЧрд░ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рд╕реЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди рдпрд╣ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЖрдзрд╛рд░ рдЫрд╡рд┐ рдХреИрд╢ рдореЗрдВ рд╣реИ, рддреЛ рдХреИрд╢ рд╕реЗ рдЗрд╕ рдЫрд╡рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕реЗ рдХреИрд╢ рд╣рд┐рдЯ рдХрд╣рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдзрд╛рд░ рдЫрд╡рд┐ рдХреИрд╢ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЫрд╡рд┐ рдЕрд╕реЗрдВрдмрд▓реА рдХреА рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рд╣реЛрдЧреАред
рдлрд┐рд░ рдирд┐рдореНрди рдирд┐рд░реНрджреЗрд╢ рдХреА рддреБрд▓рдирд╛ рдХреИрд╢ рд╕реЗ рд╕рднреА рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХреА рдЬрд╛рддреА рд╣реИ, рдЬреЛ рдЙрд╕реА рдореВрд▓ рдЫрд╡рд┐ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрддреА рд╣реИрдВ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреИрд╢ рдореЗрдВ рдкрд╛рдИ рдЬрд╛рддреА рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдХреИрд╢реНрдб рдордзреНрдпрд╡рд░реНрддреА рдЫрд╡рд┐ рдХреЛ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕рдореЗрдВ рд╡рд╣реА рдирд┐рд░реНрджреЗрд╢ рд╣реИ рдЬреЛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрджрд┐ рдХреЛрдИ рдорд┐рд▓рд╛рди рдирд╣реАрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ "рдХреИрд╢ рдорд┐рд╕" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХреИрд╢ рдХреЛ рдЕрдорд╛рдиреНрдп рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рддрдХ рдкреВрд░реЗ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрдм рддрдХ рд╡рд╣реА рд╣реЛрддрд╛ рд╣реИред
рдЗрдВрдЯрд░рдореАрдбрд┐рдПрдЯ рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдирдП рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╣реИрдВред рдпрджрд┐ рд╕рд┐рд╕реНрдЯрдо рдПрдХ рдореИрдЪ рдЦреЛрдЬрдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреИрд╢ рдореЗрдВ рд╣реИред
рдХреИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЫрд╡рд┐рдпреЛрдВ рдХреА рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рдЧрддрд┐ рдорд┐рд▓ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдПрдХ
RUN pip install -r requirements.txt
.txt рдирд┐рд░реНрджреЗрд╢ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдбреЙрдХрд░ рдордзреНрдпрд╡рд░реНрддреА рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдЕрдкрдиреЗ рд╕реНрдерд╛рдиреАрдп рдХреИрд╢ рдореЗрдВ рдЙрд╕реА рдирд┐рд░реНрджреЗрд╢ рдХреА рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐,
requirements.txt
рдлрд╝рд╛рдЗрд▓ рдХреЗ рдкреБрд░рд╛рдиреЗ рдФрд░ рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреА рддреБрд▓рдирд╛ рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИред
рдпрд╣ рд╕рдорд╕реНрдпрд╛рдПрдБ рдкреИрджрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдирдП рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА
requirements.txt
рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕рдХреЗ рдмрд╛рдж, рдЬрдм рдкреИрдХреЗрдЬ рдХреА рдПрдХ рдирдИ рд╕реЗрдЯ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрджреНрдпрддрди рдХреА рдЧрдИ рдЫрд╡рд┐ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдлрд┐рд░ рд╕реЗ
RUN pip install
рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЬрд▓реНрдж рд╣реА рд╣рдо рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред
рдЕрдиреНрдп рдбреЙрдХрд░ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд,
ADD
рдФрд░
COPY
рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╕рдордп, рдбреЙрдХрд░ рдХреЛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рдпрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЫрд╡рд┐ рдмрдирд╛рддреЗ рд╕рдордп рдХреИрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдЕрд░реНрдерд╛рддреН, рдЗрди рдирд┐рд░реНрджреЗрд╢реЛрдВ рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдЪреЗрдХрд╕рдо рдХреА рддреБрд▓рдирд╛ рдЙрди рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рдЪреЗрдХрд╕рдо рд╕реЗ рдХреА рдЬрд╛рддреА рд╣реИ рдЬреЛ рдордзреНрдпрд╡рд░реНрддреА рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ рд╣реИрдВ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреИрд╢ рдореЗрдВ рд╣реИрдВред рдпрджрд┐ рдлрд╝рд╛рдЗрд▓реЛрдВ рдпрд╛ рдЙрдирдХреЗ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдХреА рд╕рд╛рдордЧреНрд░реА рдмрджрд▓ рдЧрдИ рд╣реИ, рддреЛ рдХреИрд╢ рдЕрдорд╛рдиреНрдп рд╣реИред
рдпрд╣рд╛рдВ рдбреЙрдХрд░ рдХреИрд╢ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕реБрдЭрд╛рд╡ рджрд┐рдП рдЧрдП рд╣реИрдВ:
рдпрджрд┐ рдЖрдк "рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ" рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рдЕрдиреНрдп рддрд░реАрдХреЗ рдЬрд╛рдирддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдЖрдХрд╛рд░ рдХрдо рдХрд░рдирд╛
ред рдореВрд▓ рдЫрд╡рд┐ рдХрд╛ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдЪрдпрди
рдбреЙрдХрд░ рдЫрд╡рд┐рдпрд╛рдВ рдХрд╛рдлреА рдмрдбрд╝реА рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдпрд╣ рдЙрд╕ рд╡реНрдпрдХреНрддрд┐ рдХреА рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХреА рдЧрдИ рдЗрдЪреНрдЫрд╛ рдХрд╛ рдЦрдВрдбрди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЙрдиреНрд╣реЗрдВ рдпрдерд╛рд╕рдВрднрд╡ рдХреЙрдореНрдкреИрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рддрд╛ рд╣реИ, рдЬреЛ рджреВрд░рд╕реНрде рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдЙрдирдХреЗ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ рдФрд░ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдореБрдлреНрдд рд╕реНрдерд╛рди рдХреА рдорд╛рддреНрд░рд╛ рдкрд░ рдПрдХ рд▓рд╛рднрдХрд╛рд░реА рдкреНрд░рднрд╛рд╡ рдкрдбрд╝реЗрдЧрд╛, рдЬрд┐рд╕ рдкрд░ рд╡реЗ рд▓реЛрдб рдХрд┐рдП рдЧрдП рд╣реИрдВред рдЖрдЗрдП рдЙрдирдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред

рдмреИрдЧреЗрд▓реНрд╕ рдФрд░ рдбреЛрдирдЯреНрд╕ рдХреЗ рдмрдЬрд╛рдп рдЕрдм рд╣рдо рд╕рд╛рдЧ рдЦрд╛рдПрдВрдЧреЗрдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдореВрд▓ рдЫрд╡рд┐рдпреЛрдВ рдФрд░ рдЙрдирдХреЗ рдмрд╛рдж рдХреЗ рд╕рдорд╛рдпреЛрдЬрди рдХрд╛ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдЪрдпрди рдХрд░рдирд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореВрд▓ рдЕрд▓реНрдкрд╛рдЗрди рдЫрд╡рд┐ рдПрдХ рд▓рд┐рдирдХреНрд╕ рдЬреИрд╕реЗ рдУрдПрд╕ рдХрд╛ рдкреВрд░реНрдг рд╡рд┐рддрд░рдг рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрдХреЗрдЬ рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдЖрдХрд╛рд░ рд▓рдЧрднрдЧ 5 рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрд▓реНрдкрд╛рдЗрди рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдЕрдкрдиреА рдЦреБрдж рдХреА рдЫрд╡рд┐ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЖрд╡реЗрджрди рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣рд░ рдЪреАрдЬ рд╕реЗ рд▓реИрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рдордп рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
рдмреБрдирд┐рдпрд╛рджреА рдЕрд▓реНрдкрд╛рдЗрди рдЫрд╡рд┐ рдХреЗ рд╡рд┐рд╢реЗрд╖ рд╕рдВрд╕реНрдХрд░рдг рднреА рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдЬрдЧрд░ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдЫрд╡рд┐ рдЬрд┐рд╕рдореЗрдВ
print("hello world")
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рд╡рдЬрди 78.5 рдПрдордмреА рд╣реИред рдпрд╣рд╛рдБ рдЗрд╕ рддрд░рд╣ рдХреА рдЫрд╡рд┐ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЙрдХрд░реАрдлрд╛рдЗрд▓ рд╣реИ:
FROM python:3.7.2-alpine3.8 COPY . /app ENTRYPOINT ["python", "./app/my_script.py", "my_var"]
рд╡рд╣реАрдВ, рдбреЙрдХрд░ рд╣рдм рдХрд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдореВрд▓ рдЫрд╡рд┐ рдХрд╛ рдЖрдХрд╛рд░ 29 рдПрдордмреА рд╣реИред рдЗрд╕ рдмреЗрд╕ рдЗрдореЗрдЬ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдЗрдореЗрдЬ рдХрд╛ рдЖрдХрд╛рд░ рдкрд╛рдпрдерди рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдХреЗ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЕрд▓реНрдкрд╛рдЗрди рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдмреБрдирд┐рдпрд╛рджреА рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдЬ рдЕрд╕реЗрдВрдмрд▓реА рддрдХрдиреАрдХ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
Assembly рдЫрд╡рд┐рдпреЛрдВ рдХреА рд╡рд┐рдзрд╛рдирд╕рднрд╛
Dockerfile, рдЬреЛ рдХрд┐рд╕реА рдЫрд╡рд┐ рдХреЗ рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдЬ рдЕрд╕реЗрдВрдмрд▓реА рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ, рдХрдИ
FROM
рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХреА рдЫрд╡рд┐ рдХреЗ рдирд┐рд░реНрдорд╛рддрд╛ рдПрдХ рд╕реНрддрд░ рд╕реЗ рджреВрд╕рд░реЗ рд╕реНрддрд░ рдкрд░ рдмрд┐рд▓реНрдб рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдирд╛рдордХ рдлрд╛рдЗрд▓реЛрдВ рдХреА рдЪрдпрдирд╛рддреНрдордХ рдирдХрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрд╕реА рд╕рдордп, рдпрд╣ рд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╣рд░ рдЪреАрдЬ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛ рд▓рд┐рдпрд╛ рдЬрд╛рдП рдЬреЛ рд╕рдорд╛рдкреНрдд рдЫрд╡рд┐ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдЖрдк рддреИрдпрд╛рд░ рдЫрд╡рд┐ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ
FROM
рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
- рд╡рд╣ рдПрдХ рдирдпрд╛ рдирд┐рд░реНрдорд╛рдг рдХрджрдо рд╢реБрд░реВ рдХрд░рддреА рд╣реИред
- рдпрд╣ рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкрд┐рдЫрд▓реЗ рдмрд┐рд▓реНрдб рдЪрд░рдг рдореЗрдВ рдХреНрдпрд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред
- рд╡рд╣ рдПрдХ рдореВрд▓ рдЫрд╡рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреА рд╣реИ рдЬреЛ рдкрд┐рдЫрд▓реЗ рдЪрд░рдг рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд╕реЗ рдЕрд▓рдЧ рд╣реИред
рдпрд╣рд╛рдБ рдПрдХ рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдЬ рдмрд┐рд▓реНрдб рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдбреЙрдХ рдбреЙрдХреНрдпреВрдореЗрдВрдЯреЗрд╢рди рд╕реЗ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХрд╛ рдПрдХ рд╕рдВрд╢реЛрдзрд┐рдд рдЙрджрд╛рд╣рд░рдг рд╣реИред
FROM golang:1.7.3 AS build WORKDIR /go/src/github.com/alexellis/href-counter/ RUN go get -d -v golang.org/x/net/html COPY app.go . RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o app . FROM alpine:latest RUN apk --no-cache add ca-certificates WORKDIR /root/ COPY --from=build /go/src/github.com/alexellis/href-counter/app . CMD ["./app"]
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рдордиреЗ рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рдкрд╣рд▓реЗ рдЪрд░рдг рдХрд╛ рдирд╛рдо рджрд┐рдпрд╛ рдерд╛, рдЗрд╕реЗ
FROM
рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреЗ рдмрд╛рдж рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ред рд╣рдо
COPY --from=
рдореЗрдВ рдирд╛рдорд┐рдд рдмрд┐рд▓реНрдб рдЪрд░рдг рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ
COPY --from=
рдиреАрдЪреЗред
рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдЬ рдЗрдореЗрдЬ рдЕрд╕реЗрдВрдмрд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ рдЬрдм рдЖрдкрдХреЛ рдЙрддреНрдкрд╛рджрди рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдХрдИ рдХрдВрдЯреЗрдирд░ рдмрдирд╛рдиреЗ рд╣реЛрддреЗ рд╣реИрдВред рдорд▓реНрдЯреАрд╕реНрдЯреЗрдЬ рдЕрд╕реЗрдВрдмрд▓реА рдЖрдкрдХреЛ рддреИрдпрд╛рд░ рдЫрд╡рд┐ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рдорд░реНрдерди рдХреЛ рдЬрдЯрд┐рд▓ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЖрдк рд╢рд╛рдпрдж рдЙрди рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдмрд╣реБ-рдордВрдЪ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рдирдореЗрдВ рдЖрдк рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдЗрд╕ рддрдХрдиреАрдХ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
рдпрд╣рд╛рдВ рдФрд░
рдпрд╣рд╛рдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдЬ рдЕрд╕реЗрдВрдмрд▓реА рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рддрдХрдиреАрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рднреА рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИред рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рд╣реА рддрд░реАрдХрд╛, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдо рдиреАрдЪреЗ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗ, рдмрд┐рд▓реНрдХреБрд▓ рд╕рднреА рдХреЗ рд▓рд┐рдП рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред
тЦН .dockerignore рдлрд╝рд╛рдЗрд▓
рдмрд┐рд▓реНрдХреБрд▓ рд╣рд░ рдХреЛрдИ рдЬреЛ рдбреЙрдХрд░ рд╕реАрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдЙрд╕реЗ
.dockerignore
рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдпреЗ рдлрд╛рдЗрд▓реЗрдВ
.gitignore
рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рдорд╛рди рд╣реИрдВред рдЙрдирдХреЗ рдкрд╛рд╕ рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдирд╛рдо рдпрд╛ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реИ рдЬреЛ рдбреЙрдХрд░ рдХреЛ рдЫрд╡рд┐ рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рджреМрд░рд╛рди рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдЙрд╕ рд╕реНрдерд╛рди рдкрд░ рд░рдЦреА рдЧрдИ рд╣реИ рдЬрд╣рд╛рдБ рдбреЙрдХрд░рдлрд╝рд╛рдЗрд▓ рд╕реНрдерд┐рдд рд╣реИ, рдФрд░ рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рдЬреЛ рдЫрд╡рд┐ рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИред
рдЬрдм рдЖрдк
docker build
рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рдЬреЛ рдЫрд╡рд┐ рдХреЗ рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рдЖрд░рдВрдн рдХрд░рддрд╛ рд╣реИ, рддреЛ Docker рдЗрд╕рдореЗрдВ
.dockerignore
рдлрд╝рд╛рдЗрд▓ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдлрд╝реЛрд▓реНрдбрд░ рдХреА рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдРрд╕реА рдХреЛрдИ рдлрд╝рд╛рдЗрд▓ рдорд┐рд▓ рд╕рдХрддреА рд╣реИ, рддреЛ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░
filepath
рдЧреЛ рдкреИрдХреЗрдЬ рд╕реЗ
Match()
рдлрд╝рдВрдХреНрд╢рди рдХреЗ
рдирд┐рдпрдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕реВрдЪреА рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреЗ рдХреБрдЫ рдбреЙрдХрд░
рдирд┐рдпрдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐
.dockerignore
рдлрд╝рд╛рдЗрд▓ рдореЗрдВ
*.jpg
рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрдХ рдЫрд╡рд┐ рдмрдирд╛рддреЗ рд╕рдордп, рдХрд┐рд╕реА рднреА рдирд╛рдо рдФрд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓реЗрдВ
.jpg
рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ
videos
, рддреЛ рд╕рд┐рд╕реНрдЯрдо
videos
рдлрд╝реЛрд▓реНрдбрд░ рдФрд░ рдЗрд╕рдХреА рд╕рднреА рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░реЗрдЧрд╛ред
рдЬрдм рдПрдХ
.dockerignore
рдлрд╝рд╛рдЗрд▓ рд╕рдВрдХрд▓рд┐рдд рдХреА
.dockerignore
рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ
#
рдкреНрд░рддреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯрд┐рдкреНрдкрдгреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдпрд╣рд╛рдБ рд╡рд╣ рд╣реИ рдЬреЛ
.dockerignore
рдлрд╝рд╛рдЗрд▓ рдХрд┐рд╕реА рдХреЛ рднреА рджреЗрддрд╛ рд╣реИ рдЬреЛ Docker рдЪрд┐рддреНрд░ рдмрдирд╛рддрд╛ рд╣реИ:
- рдпрд╣ рдЖрдкрдХреЛ рд▓реЙрдЧрд┐рди рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рдЬреИрд╕реА рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдЬрд╛рдирдХрд╛рд░реА рд╡рд╛рд▓реА рдЫрд╡рд┐ рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдмрд╛рд╣рд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
- рдпрд╣ рдЖрдкрдХреЛ рдЫрд╡рд┐ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЫрд╡рд┐ рдореЗрдВ рдЬрд┐рддрдиреА рдЫреЛрдЯреА рдлрд╛рдЗрд▓реЗрдВ рд╣реЛрдВрдЧреА, рдЙрд╕рдХрд╛ рдЖрдХрд╛рд░ рдЙрддрдирд╛ рд╣реА рдЫреЛрдЯрд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЙрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рддреЗрдЬреА рд╕реЗ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред
- рдпрд╣ рд╕рдорд╛рди рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рддреЗ рд╕рдордп рдХреИрд╢ рдХреЛ рдЕрдорд╛рдиреНрдп рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЫрд╡рд┐ рдХреЗ рдкреБрдирд░реНрдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рджреМрд░рд╛рди рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдХреБрдЫ рд╕реЗрд╡рд╛ рдлрд╛рдЗрд▓реЗрдВ рдмрджрд▓ рдЬрд╛рддреА рд╣реИрдВ, рдЬреИрд╕реЗ рд▓реЙрдЧ рдлрд╛рдЗрд▓реЗрдВ, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдХреИрд╢ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдбреЗрдЯрд╛, рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдЕрдиреБрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЕрдорд╛рдиреНрдп рд╣реИ, рддреЛ рдпрд╣ рдЫрд╡рд┐рдпреЛрдВ рдХреА рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рдзреАрдорд╛ рдХрд░ рджреЗрддрд╛ рд╣реИред
.dockerignore
рдбреЙрдХрд░
рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ
.dockerignore
рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдЫрд╡рд┐ рдЖрдХрд╛рд░ рдЕрдиреБрд╕рдВрдзрд╛рди
рдЖрдЗрдП рдбреЙрдХрдЯрд░ рдЫрд╡рд┐рдпреЛрдВ рдФрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВред
- рдПрдХ рдЪрд▓ рд░рд╣реЗ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдиреБрдорд╛рдирд┐рдд рдЖрдХрд╛рд░ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдкреНрд░рдкрддреНрд░
docker container ls -s
рдХреА рдПрдХ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред docker image ls
рд╕рд╛рдЗрдЬ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред- рдЖрдк рдордзреНрдпрд╡рд░реНрддреА
docker image history my_image:my_tag
рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдордзреНрдпрд╡рд░реНрддреА рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдЬрд╣рд╛рдВ рд╕реЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЫрд╡рд┐ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред docker image inspect my_image:tag
рдЖрдкрдХреЛ рдЫрд╡рд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЗрд╕рдХреА рдкреНрд░рддреНрдпреЗрдХ рдкрд░рдд рдХрд╛ рдЖрдХрд╛рд░ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред рдкрд░рддреЗрдВ рдордзреНрдпрд╡рд░реНрддреА рдЫрд╡рд┐рдпреЛрдВ рд╕реЗ рдереЛрдбрд╝реА рдЕрд▓рдЧ рд╣реЛрддреА рд╣реИрдВ рдЬреЛ рд╕рдорд╛рдкреНрдд рдЫрд╡рд┐ рдмрдирд╛рддреА рд╣реИрдВ, рд▓реЗрдХрд┐рди, рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЙрдиреНрд╣реЗрдВ рд╕рдорд╛рди рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣рд╛рдВ рдбреЙрдХрд░ рдЫрд╡рд┐рдпреЛрдВ рдХреА рдЖрдВрддрд░рд┐рдХ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╡рд┐рд╡рд░рдг рдкрд░ рдХреБрдЫ рдЕрдЪреНрдЫреА рд╕рд╛рдордЧреНрд░реА рд╣реИред- рдХрдВрдЯреЗрдирд░реЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдбрд╛рдЗрд╡ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдм рдЬрдм рд╣рдордиреЗ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рд╣реИ, рддреЛ рдореИрдВ рдЖрдкрдХреЗ рдзреНрдпрд╛рди рдореЗрдВ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрда рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рд▓рд╛рддрд╛ рд╣реВрдВред
рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдФрд░ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЧрддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ
- рдЬрдм рднреА рд╕рдВрднрд╡ рд╣реЛ, рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдореВрд▓ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЫрд╡рд┐рдпрд╛рдВ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЕрдкрдбреЗрдЯ рдХреА рдЬрд╛рддреА рд╣реИрдВ, рд╡реЗ рдЕрдиреМрдкрдЪрд╛рд░рд┐рдХ рдЫрд╡рд┐рдпреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИрдВред
- рд╕рдВрднрд╡ рдХреЗ рд░реВрдк рдореЗрдВ рдХреЙрдореНрдкреИрдХреНрдЯ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрд▓реНрдкрд╛рдЗрди рд▓рд┐рдирдХреНрд╕ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдмреБрдирд┐рдпрд╛рджреА рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
- рдпрджрд┐ рдЖрдк
apt
рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, apt-get update
рдФрд░ apt-get install
рдХрдорд╛рдВрдб рдХреЛ рдПрдХ RUN
рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдореЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░реЗрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреИрдХреЗрдЬ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХрдорд╛рдВрдб рдХреЛ рдПрдХ рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░реЗрдВред рд╕реВрдЪреА рдХреЛ рдХрдИ рд▓рд╛рдЗрдиреЛрдВ рдкрд░ рд╡рд░реНрдгрд╛рдиреБрдХреНрд░рдо рдореЗрдВ, \
рд╕рд╛рде рд╕реВрдЪреА рдХреЛ рдЕрд▓рдЧ рдХрд░рдирд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:
RUN apt-get update && apt-get install -y \ package-one \ package-two \ package-three && rm -rf /var/lib/apt/lists/*
рдпрд╣ рд╡рд┐рдзрд┐ рдЙрди рдкрд░рддреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░рддреА рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдЫрд╡рд┐ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдлрд╝рд╛рдЗрд▓ рдХреЛрдб рдХреЛ рд╕рднреНрдп рд░реВрдк рдореЗрдВ рдмрдирд╛рдП рд░рдЦрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред - рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП
RUN
рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдХреЗ рдЕрдВрдд рдореЗрдВ && rm -rf /var/lib/apt/lists/*
рдЬреИрд╕рд╛ рдирд┐рд░реНрдорд╛рдг рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВред рдЗрд╕рд╕реЗ apt
рдХреИрд╢ рдХреНрд▓рд┐рдпрд░ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк RUN
рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рд▓реЗрдпрд░ рдореЗрдВ рд╕реЗрд╡ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗрдЧрд╛ред рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╡рд░рдг рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред - рдЕрдкрдиреЗ рдХреИрд╢рд┐рдВрдЧ рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдмреБрджреНрдзрд┐рдорд╛рдиреА рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдореЗрдВ рдХрдорд╛рдВрдб рд░рдЦреЗрдВ рдЬреЛ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрдд рдХреЗ рдкрд╛рд╕ рдмрджрд▓рдиреЗ рдХреА рдЕрддреНрдпрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред
.dockerignore
рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВредdive
рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ, рдбреЙрдХрд░ рдЫрд╡рд┐рдпреЛрдВ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╣рд╛рди рдЙрдкрдХрд░рдг рдЬреЛ рдЙрдирдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред- рдЙрди рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рди рдХрд░реЗрдВ рдЬрд┐рдирд╕реЗ рдирд┐рдкрдЯрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдкрд░рд┐рдгрд╛рдо
рдЕрдм рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдбреЛрдХрд░ рдХреА рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдХреИрд╕реЗ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЬрд╛рдП, рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдЬрд▓реНрджреА рд╕реЗ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХрдВрдкреНрдпреВрдЯрд░ рд╕реНрдерд╛рди рди рд▓рд┐рдпрд╛ рдЬрд╛рдПред рдЕрдЧрд▓реА рдмрд╛рд░ рд╣рдо рдбреЙрдХрдЯрд░ рдЯреАрдореЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗред
рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВ! рдХреНрдпрд╛ рдЖрдкрдиреЗ рдбреЙрдХрд░ рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╕рдордп рдХреИрд╢рд┐рдВрдЧ рддрдВрддреНрд░ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рд╣реИ?
