Habr рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд╛рдордЧреНрд░реА рд╣реИ рдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд╕рдВрдХрд▓рди рдХреЗ рд▓рд┐рдП docker- рдХрдВрдЯреЗрдирд░ рдХреЛ рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдП ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, C ++ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдФрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП Docker рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ ред рдЗрд╕ рдЖрд▓реЗрдЦ рдореЗрдВ, рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреЗ рд░реВрдк рдореЗрдВ , рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рдореБрджреНрджреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдореИрдВ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рд╕реЗ рдкрд░реЗ рдЬрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдРрд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдореБрджреНрджреЛрдВ рдкрд░ рдЕрдзрд┐рдХ рдЧрд╣рд░рд╛рдИ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рд╕рд╛рде рд╣реА рдбреЙрдХ рдХреЗ рд╕рд╛рде рдмрд┐рд▓реНрдб рдЗрдВрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдХрд░реНрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛
рдЖрдЧреЗ рдХреА рдЪрд░реНрдЪрд╛ рдХреА рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рдбреЙрдХрдЯрд░ рдШрдЯрдХреЛрдВ рдХрд╛ рд╡рд┐рд╡рд░рдг рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдЫрд╡рд┐
рдХрдВрдЯреЗрдирд░ рдмрдирд╛рдиреЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рдбреЙрдХрд░ рдЫрд╡рд┐ рдХреЗрд╡рд▓ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣реИред рдЫрд╡рд┐ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП , рдЖрдкрдХреЛ рдПрдХ рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬреЛ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЗ рд╕рднреА рдЪрд░рдгреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдРрд╕рд╛ рдХрджрдо рдЫрд╡рд┐ рдХреЗ рдЕрдВрджрд░ рдПрдХ рдЕрд▓рдЧ рдкрд░рдд рдмрдирд╛рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рдж рдХреА рдкрд░рдд рдХреЛ рдкрд┐рдЫрд▓реЗ рд╕рднреА рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдЖрд░реЛрдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдХреЗрд╡рд▓ рд╡рд╣реА рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдкрд┐рдЫрд▓реА рдкрд░рдд рдореЗрдВ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреЙрдХрд░рдлрд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП :
FROM ubuntu:18.04 ADD app.sh /app ENTRYPOINT /bin/bash /app/app.sh
рдбреЙрдХрдЯрд░ рдЫрд╡рд┐ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрд░рдЪрдирд╛ рд╣реЛрдЧреА:

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

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

рдЖрдЗрдП рджрд┐рдЦрд╛рдП рдЧрдП рдЪрд░рдгреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВ:
- рд╣рдо Dockerfile рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдкрд░реНрдпрд╛рд╡рд░рдг рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ, рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдФрд░ рдХреЙрдкреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрджреЗрд╢ рджреЗрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╣рдо рдХрдВрдЯреЗрдирд░ рдХреА рдПрдХ рдЫрд╡рд┐ рдмрдирд╛рддреЗ рд╣реИрдВред
- рд╣рдо рдХрдВрдЯреЗрдирд░ рдХреЛ
docker run
рд╕рд╛рде рдмрдирд╛рдиреЗ рдФрд░ рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдореА рдЫрд╡рд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рд╕реНрд░реЛрдд рдлрд╝реЛрд▓реНрдбрд░ рдФрд░ рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдкрд░рд┐рдгрд╛рдо рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдХреЙрдкреА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред - рдХрдВрдЯреЗрдирд░ рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЛ рдШреБрдбрд╝рд╕рд╡рд╛рд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред
рдПрдХ рдЙрджрд╛рд╣рд░рдг рд▓реЗрдЦ рдореЗрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЪреВрдВрдХрд┐ docker run
рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣рд╛рдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рд▓реЙрдиреНрдЪ рдХреЗ рд▓рд┐рдП рд▓реЗрдЦрди рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдкрд░рдд рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд▓рдЧ рдХрдВрдЯреЗрдирд░ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдкрд┐рдЫрд▓реЗ рд╡рд┐рдзрд╛рдирд╕рднрд╛рдУрдВ рд╕реЗ рдЕрд╕реНрдерд╛рдпреА рдлрд╛рдЗрд▓реЗрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдирд╣реАрдВ рдорд┐рд▓реЗрдВрдЧреАред рдмрдВрдж рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рд╕рд╛рдл рдХрд░рдирд╛ рдпрд╛рдж рд░рдЦреЗрдВред
рд╕реНрд░реЛрдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рдорд╛рдЙрдВрдЯ рдХрд░рдирд╛ рдЕрд╕реЗрдВрдмрд▓реА рдХреЛ рдбреАрдмрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдЬреЛрдЦрд┐рдо рдЙрдард╛рддрд╛ рд╣реИ - рдЖрдк рдРрд╕реЗ рдХреЛрдб рд╕реЗ рдПрдХ рд░рд┐рд▓реАрдЬ рдПрдХрддреНрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдиреЗ рдЧреБрдгрд╡рддреНрддрд╛ рдирд┐рдпрдВрддреНрд░рдг рдкрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдмрд┐рд▓реНрдб рдкрд░ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдЧрд┐рдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдХреНрд▓реЛрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлрд╝рд╛рдЗрд▓ рдореЗрдВ :
FROM ubuntu:bionic RUN apt-get update \ && apt-get install -y apt-utils RUN apt-get update \ && apt-get install -y make gcc g++ qt5-default git RUN mkdir -p /app/src WORKDIR /app/build # ENTRYPOINT git -C /app/src clone https://github.com/sqglobe/SimpleQtProject.git \ && qmake /app/src/SimpleQtProject/SimpleQtProject.pro \ && make \ && cp SimpleQtProject /app/res/SimpleQtProject-ubuntu-bionic
рдпрд╣рд╛рдВ, рдХреНрд▓реЛрдирд┐рдВрдЧ ENTRYPOINT
рдореЗрдВ рдХреА ENTRYPOINT
, RUN
рд╕реНрдЯреЗрдЯрдореЗрдВрдЯ рдореЗрдВ рдирд╣реАрдВ, рдХреИрд╢рд┐рдВрдЧ рдХреЗ рдХрд╛рд░рдгред рдХрдВрдЯреЗрдирд░ рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ ENTRYPOINT
рдХреЛ рд╣рдореЗрд╢рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ RUN
рдХрдорд╛рдВрдб рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдХреИрд╢ рд╕реЗ рд▓рд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░реЗрдВ
рд╡рд┐рднрд┐рдиреНрди рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдпрд╛ рд▓рд┐рдирдХреНрд╕ рд╡рд┐рддрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд░реНрд╡рд░реЛрдВ рдХрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди (рдмрд┐рд▓реНрдб рдорд╢реАрди, рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реА, рдЖрджрд┐ рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд░) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдореБрдЭреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рд╕реЗ рдирд┐рдкрдЯрдирд╛ рдерд╛:

рдпрд╣рд╛рдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡реЗрдм рд╕рд░реНрд╡рд░ рддрдХ рдкрд╣реБрдВрдЪрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдЙрдмрдВрдЯреВ рдФрд░ рд░реЗрдб рд╣реИрдЯ рдХреЗ рд╕рд╛рде рдорд╢реАрдиреЛрдВ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдЧрд▓рд╛, рдкреНрд░рддреНрдпреЗрдХ рдорд╢реАрди рдкрд░, рдЧрд┐рдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдХреНрд▓реЛрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рд╢реБрд░реВ рд╣реЛрддреА рд╣реИред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЙрд╕реА рдкреГрд╖реНрда рд╕реЗ рдкрд░рд┐рдгрд╛рдореА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдЙрд╕рдиреЗ рдкреВрд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХреА рдереАред
рдЗрд╕ рддрд░рд╣ рдХреА рдПрдХ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рджреЛрд╣рд░рд╛рдП рдЬрд╛рдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕рдорд╛рди рд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
Minuses рдореЗрдВ рд╕реЗ - рд╕рдВрдкреВрд░реНрдг рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛, рдХрдИ рд╕рд░реНрд╡рд░реЛрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдмрдЧ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдирд╛ рдЖрджрд┐ред
рдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рд╕рд░рд▓реАрдХрд░рдг рдХрд░реЗрдВ
рдКрдкрд░ рджрд┐рдЦрд╛рдП рдЧрдП рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд▓рд╛рдЧрддреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рджреЛрдиреЛрдВ рдореМрджреНрд░рд┐рдХ рдФрд░ рдорд╛рдирд╡ред рдпрджрд┐ рдЖрдкрдХреА рдЯреАрдо рдПрдХ рдЫреЛрдЯреЗ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реА рд╣реИ, рдпрд╛ рдЖрдк рдПрдХрдорд╛рддреНрд░ рдбреЗрд╡рд▓рдкрд░ рд╣реИрдВ, рддреЛ рдЖрдк рдЕрдкрдиреЗ рдмрд┐рд▓реНрдб рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЙрдХ рдХрдВрдЯреЗрдирд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдПрдХ рд╕рд╛рдорд╛рдиреНрдп Qt рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬреЛ qmake - SimpleQtProject рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рдбреЙрдХ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХрдИ рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ:
- centos7.docker - CentOS 7 рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдВрдЯреЗрдирд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ;
- ubuntu-bionic.docker - рдЙрдмрдВрдЯреВ 18.04 рдХреЗ рддрд╣рдд рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдВрдЯреЗрдирд░;
- ubuntu-xenial.docker - Ubuntu 16.04 рдХреЗ рддрд╣рдд рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдВрдЯреЗрдирд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред
рдпреЗ рдлрд╛рдЗрд▓реЗрдВ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЗ рдХреНрд▓реЛрдирд┐рдВрдЧ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреА рд╣реИрдВред
рдкреВрд░реА рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдХреЛ рдореЗрдХрдлрд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ред рдпрд╣ рдмрд╣реБрдд рдХрдо рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рд╣реИрдВред рдЗрд╕рдХрд╛ рдЖрдзрд╛рд░ рдПрдХ рдЫрд╡рд┐ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдХрдВрдЯреЗрдирд░ рдХрд╛ рдкреНрд░рдХреНрд╖реЗрдкрдг рд╣реИ:
%: %.docker docker build -t simple-qt-$(strip $(subst .docker,, $< )) --file $< . docker run --mount type=bind,source=$(RELEASE_DIR),target=/app/res simple-qt-$(strip $(subst .docker,, $< ))
рдЕрд╕реЗрдВрдмрд▓реА рдХреЗ рдЗрд╕ рдЪрд░рдг рдореЗрдВ, рдХрдВрдЯреЗрдирд░ рдХреА рдПрдХ рдЫрд╡рд┐ рдЙрдкрд╕рд░реНрдЧ рд╕рд░рд▓-рдХреНрдпреВрдЯреА- рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдирд╛рдо рд╕реЗ рдорд┐рд▓рдХрд░ рдирд╛рдо рдХреЗ рд╕рд╛рде рдмрдирд╛рдИ рдЧрдИ рд╣реИ ( рд╕реЗрдВрдЯреЛрд╕ 7 рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рд░рд▓-рдХреНрдпреВрдЯреА-рд╕реЗрдВрдЯреЛрд╕ 7 рд╣реЛрдЧрд╛)ред Dockerfile рдХреЗ рд░реВрдк рдореЗрдВ, .docker рдЕрдиреБрдорддрд┐ рдХреЗ рд╕рд╛рде рд╕рдВрдмрдВрдзрд┐рдд рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ред рдЕрдЧрд▓рд╛, рдХрдВрдЯреЗрдирд░ рдирд┐рд░реНрдорд┐рдд рдЫрд╡рд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЕрд╕реЗрдВрдмрд▓реА рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕ рдкрд░ рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рд▓рдЧрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
Docker рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ make
рдЪрд▓рд╛рдиреЗ рдХреЗ рдмрд╛рдж, docker / release рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХрдИ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдб рдкрд░рд┐рдгрд╛рдо рд╣реЛрдВрдЧреЗред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, SimpleQtProject рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░рд╛ рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪрд╛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:

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