рдореБрдЦреНрдп рд╕рд╛рдордЧреНрд░реА рдкрд░ рдЬрд╛рдПрдБ

Docker init: Docker рдХреЗ рд╕рд╛рде рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреИрд╕реЗ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ (рдЪрд░рдг-рджрд░-рдЪрд░рдг рдЧрд╛рдЗрдб)

`docker init` рдХрд╛ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЧрд╛рдЗрдб - рдпрд╣ рдХреНрдпрд╛ рдЬрдирд░реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ Python рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдФрд░ рдХрдм рдпрд╣ рд╕рд╣реА рдЯреВрд▓ рд╣реИред
┬╖ 14 рдорд┐ре░ рдкрдврд╝реЗрдВ

AI рдХреЗ рд╕рд╛рде рдЦреЛрдЬреЗрдВ

рдХрд┐рд╕реА рд╡рдЬрд╣ рд╕реЗ, Docker рдХреЗ рд╕рд╛рде рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗрдЯрдЕрдк рдХрд░рдирд╛ рд╣рдореЗрд╢рд╛ рдЬрд┐рддрдирд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЙрд╕рд╕реЗ рдЬреНрдпрд╛рджрд╛ рд╕рдордп рд▓реЗ рд▓реЗрддрд╛ рд╣реИред

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

рдЕрдЪреНрдЫреА рдЦрдмрд░ рдпрд╣ рд╣реИ рдХрд┐ docker init рдЗрд╕реЗ рдареАрдХ рдХрд░ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдПрдХ CLI рдХрдорд╛рдВрдб рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЯрд╛рдЗрдк рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдФрд░ рдПрдХ Dockerfile, .dockerignore, рдФрд░ Compose рдлрд╝рд╛рдЗрд▓ рдЬрдирд░реЗрдЯ рдХрд░рддрд╛ рд╣реИред

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдмрддрд╛рдКрдВрдЧрд╛ рдХрд┐ docker init рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ Python рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдЪрд░рдг-рджрд░-рдЪрд░рдг рдХреИрд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВ, рдФрд░ рдХрдм рдпрд╣ рд╕рд╣реА рдЯреВрд▓ рд╣реИред

рдХреНрдпрд╛ рдЖрдк Docker рдФрд░ рдХрдВрдЯреЗрдирд░рд╛рдЗрдЬрд╝реЗрд╢рди рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рдирдП рд╣реИрдВ? рд╣рдорд╛рд░реЗ Introduction to Docker рдХреЛрд░реНрд╕ рдХреЗ рдЬрд╝рд░рд┐рдП рдЬрд╛рдиреЗрдВ рдХрд┐ рдпрд╣ рдбреЗрдЯрд╛ рдкреНрд░реЛрдлреЗрд╢рдирд▓ рдХреЗ рдЯреВрд▓рдХрд┐рдЯ рдХрд╛ рдПрдХ рдЖрд╡рд╢реНрдпрдХ рд╣рд┐рд╕реНрд╕рд╛ рдХреНрдпреЛрдВ рд╣реИред

Docker init рдХреНрдпрд╛ рд╣реИ

docker init рдПрдХ CLI рдЯреВрд▓ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП Docker рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреА рдРрдк рдХреЛ рдХрдВрдЯреЗрдирд░рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╝рд░реВрд░реА рдлрд╝рд╛рдЗрд▓реЗрдВ рдЬрдирд░реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдпрд╛рдиреА рдЕрдм рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдпрд╛ рдХреЙрдкреА-рдкреЗрд╕реНрдЯрд┐рдВрдЧ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВред

рдпрд╣ рддреАрди рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрдирд╛рддрд╛ рд╣реИ:

  • Dockerfile - рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдХрдВрдЯреЗрдирд░ рдЗрдореЗрдЬ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛
  • .dockerignore - Docker рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдмрд┐рд▓реНрдб рдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯ рд╕реЗ рдХрд┐рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрд╛рд╣рд░ рд░рдЦрдирд╛ рд╣реИ
  • compose.yml - рд╡реИрдХрд▓реНрдкрд┐рдХ, рд▓реЗрдХрд┐рди рдорд▓реНрдЯреА- рд╕рд░реНрд╡рд┐рд╕ рд╕реЗрдЯрдЕрдк рдореЗрдВ рдЙрдкрдпреЛрдЧреА

рд╕реНрдорд╛рд░реНрдЯ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ рдСрдЯреЛрдореИрдЯрд┐рдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рдиред docker init рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдХреЛ рджреЗрдЦрдХрд░ рдкрддрд╛ рд▓рдЧрд╛ рд▓реЗрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХреМрди-рд╕рд╛ рд╕реНрдЯреИрдХ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░ рд░рд╣реЗ рд╣реИрдВ - Python, Node.js, Go, рдЖрджрд┐ред рдлрд┐рд░ рд╡рд╣ рдЙрд╕реА рд╕реНрдЯреИрдХ рдХреЗ рдЕрдиреБрд░реВрдк рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрдирд╛рддрд╛ рд╣реИ, рд╕рд╛рдорд╛рдиреНрдп рдЯреЗрдореНрдкрд▓реЗрдЯ рджреЗрдиреЗ рдХреЗ рдмрдЬрд╛рдпред

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

Docker init рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ

docker init рд╣рд░ рдмрд╛рд░ рдЪрд╛рд░ рдЪрд░рдгреЛрдВ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддрд╛ рд╣реИред

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

рдкреВрд░рд╛ рдХрд╛рдо рдПрдХ рдорд┐рдирдЯ рд╕реЗ рдХрдо рд▓реЗрддрд╛ рд╣реИред

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

рдХрдорд╛рдВрдб рдкрд╣рд▓реА рдмрд╛рд░ рдЪрд▓рд╛рддреЗ рд╕рдордп рдЖрдкрдХреЛ рдпрд╣ рджрд┐рдЦреЗрдЧрд╛:

Docker init рд╕реЗрдЯрдЕрдк рд╕реНрдХреНрд░реАрди

Docker init рд╕реЗрдЯрдЕрдк рд╕реНрдХреНрд░реАрди

рдЕрдм рдореИрдВ рдЖрдкрдХреЛ рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдереЛрдбрд╝реА рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рджрд┐рдЦрд╛рддрд╛/рджрд┐рдЦрд╛рддреА рд╣реВрдБред

Docker init рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ: рдЪрд░рдг-рджрд░-рдЪрд░рдг

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

рдЪрд░рдг 1: рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдкрд░ рдЬрд╛рдПрдБ

рдЕрдкрдирд╛ рдЯрд░реНрдорд┐рдирд▓ рдЦреЛрд▓реЗрдВ рдФрд░ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдЯ рдкрд░ рдЬрд╛рдПрдБ - рд╡рд╣ рдлрд╝реЛрд▓реНрдбрд░ рдЬрд┐рд╕рдореЗрдВ рдЖрдкрдХрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рд╣реИред

cd /path/to/your/project

docker init рдЬрд┐рди рд▓реЛрдХреЗрд╢рди рд╕реЗ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрд╕рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрдирд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк рд╕рд╣реА рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рд╣реИрдВред

рдЪрд░рдг 2: Docker init рдЪрд▓рд╛рдПрдБ

рдирд┐рдореНрди рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:

docker init

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

рдЪрд░рдг 3: рдкреНрд░реЙрдореНрдкреНрдЯреНрд╕ рдХреЗ рдЬрд╡рд╛рдм рджреЗрдВ

docker init рдЖрдкрд╕реЗ рдХреБрдЫ рд╕рд╡рд╛рд▓ рдкреВрдЫреЗрдЧрд╛:

  • рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо - рдЖрдкрдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреМрди-рд╕реА рднрд╛рд╖рд╛ рдпрд╛ рдлрд╝реНрд░реЗрдорд╡рд░реНрдХ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддреА рд╣реИ (Python, Node.js, Go, рдЖрджрд┐)
  • рдкреЛрд░реНрдЯ - рд╡рд╣ рдкреЛрд░реНрдЯ рдЬрд┐рд╕ рдкрд░ рдЖрдкрдХреА рдРрдк рд╕реБрдирддреА рд╣реИ
  • рд╕реНрдЯрд╛рд░реНрдЯ рдХрдорд╛рдВрдб - рд╡рд╣ рдХрдорд╛рдВрдб рдЬреЛ Docker рдХреЛ рдЖрдкрдХреА рдРрдк рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд▓рд╛рдирд╛ рдЪрд╛рд╣рд┐рдП

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

рдЪрд░рдг 4: рдЬрдирд░реЗрдЯ рд╣реБрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░реЗрдВ

рдкреНрд░реЙрдореНрдкреНрдЯреНрд╕ рдХреЗ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреЗ рдмрд╛рдж, docker init рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рддреАрди рдлрд╝рд╛рдЗрд▓реЗрдВ рд▓рд┐рдЦ рджреЗрддрд╛ рд╣реИ:

.
тФЬтФАтФА Dockerfile
тФЬтФАтФА .dockerignore
тФФтФАтФА compose.yaml

рд╣рд░ рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ рдФрд░ рдкрдврд╝реЗрдВред рдЬрдирд░реЗрдЯреЗрдб рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдХрдореЗрдВрдЯреНрд╕ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рд╣рд░ рд▓рд╛рдЗрди рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рд╕рдордЭрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдмрд┐рд▓реНрдб рд╕реЗ рдкрд╣рд▓реЗ рдХреБрдЫ рдорд┐рдирдЯ рдирд┐рдХрд╛рд▓рдХрд░ рд╕рдордЭ рд▓реЗрдирд╛ рд▓рд╛рднрджрд╛рдпрдХ рд╣реИред

рдЪрд░рдг 5: рдЕрдкрдирд╛ рдХрдВрдЯреЗрдирд░ рдмрд┐рд▓реНрдб рдФрд░ рд░рди рдХрд░реЗрдВ

Docker Compose рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ рдХрдВрдЯреЗрдирд░ рдмрд┐рд▓реНрдб рдФрд░ рд╕реНрдЯрд╛рд░реНрдЯ рдХрд░реЗрдВ:

docker compose up --build

рдлреНрд▓реИрдЧ --build Docker рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдХрдВрдЯреЗрдирд░ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ Dockerfile рд╕реЗ рдЗрдореЗрдЬ рдмрд┐рд▓реНрдб рдХрд░реЗред рдПрдХ рдмрд╛рд░ рдЪрд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреА рдРрдк рд╕реНрдЯреЗрдк 3 рдореЗрдВ рдмрддрд╛рдП рдЧрдП рдкреЛрд░реНрдЯ рдкрд░ рдПрдХреНрд╕реЗрд╕рд┐рдмрд▓ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред

Docker init рдореЗрдВ рд╕рдкреЛрд░реНрдЯреЗрдб рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЯрд╛рдЗрдкреНрд╕

docker init рдЖрдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрдЯреИрдХреНрд╕ рдХреЛ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рд╕рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ:

  • Python
  • Node.js
  • Go
  • Java
  • .NET

рдпрд╣ рд╕реНрдЯреИрдХ рдСрдЯреЛрдореИрдЯрд┐рдХрд▓реА рдбрд┐рдЯреЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реИред рдЬрдм рдЖрдк docker init рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рднрд╛рд╖рд╛-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЦреЛрдЬрддрд╛ рд╣реИ - рдЬреИрд╕реЗ Python рдХреЗ рд▓рд┐рдП requirements.txt рдпрд╛ Node.js рдХреЗ рд▓рд┐рдП package.json - рдФрд░ рдЬреЛ рдорд┐рд▓рддрд╛ рд╣реИ рдЙрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рд╣реА рдЯреЗрдореНрдкрд▓реЗрдЯ рдЪреБрдирддрд╛ рд╣реИред

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

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

Docker init рджреНрд╡рд╛рд░рд╛ рдЬрдирд░реЗрдЯреЗрдб рдлрд╝рд╛рдЗрд▓реЗрдВ

docker init рддреАрди рдлрд╝рд╛рдЗрд▓реЗрдВ рдЬрдирд░реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╕реЗрдЯрдЕрдк рдореЗрдВ рд╣рд░ рдПрдХ рдХреА рдЕрд▓рдЧ рднреВрдорд┐рдХрд╛ рд╣реЛрддреА рд╣реИред

Dockerfile

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

рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдХрд┐ рдЬрдирд░реЗрдЯреЗрдб Python Dockerfile рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:

FROM python:3.14-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["python", "app.py"]

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

.dockerignore

.dockerignore рдлрд╝рд╛рдЗрд▓ Docker рдХреЛ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рдмрд┐рд▓реНрдб рдХреЙрдиреНрдЯреЗрдХреНрд╕реНрдЯ рд╕реЗ рдХрд┐рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрд╛рд╣рд░ рд░рдЦрдирд╛ рд╣реИред рдпрд╣реА рд╡рд╣ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рд╕реЗрдЯ рд╣реИ рдЬрд┐рд╕реЗ Docker рдЖрдкрдХреА рдЗрдореЗрдЬ рдмрдирд╛рддреЗ рд╕рдордп рдмрд┐рд▓реНрдб рдЗрдВрдЬрди рдХреЛ рднреЗрдЬрддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдмрд┐рдирд╛, Docker рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдХреА рд╣рд░ рдЪреАрдЬрд╝ рдЗрдореЗрдЬ рдореЗрдВ рдХреЙрдкреА рдХрд░ рджреЗрдЧрд╛, рдЬрд┐рдирдореЗрдВ .git, node_modules, рдпрд╛ рд▓реЛрдХрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧ рдлрд╝рд╛рдЗрд▓реЗрдВ рднреА рд╣реЛрдВрдЧреА рдЬрд┐рдирдХреА рдкреНрд░реЛрдбрдХреНрд╢рди рдореЗрдВ рдЬрд░реВрд░рдд рдирд╣реАрдВред рдЗрд╕рд╕реЗ рдЗрдореЗрдЬ рдХрд╛ рдЖрдХрд╛рд░ рдмрдврд╝рддрд╛ рд╣реИ рдФрд░ рдЕрдирдЬрд╛рдиреЗ рдореЗрдВ рдРрд╕реА рдлрд╝рд╛рдЗрд▓реЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдирд╣реАрдВ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗред

рдПрдХ рд╕рд╛рдорд╛рдиреНрдп .dockerignore рдХреБрдЫ рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:

.git
.env
__pycache__
*.pyc
node_modules

Docker Compose рдлрд╝рд╛рдЗрд▓

compose.yaml рдлрд╝рд╛рдЗрд▓ рдорд▓реНрдЯреА-рдХрдВрдЯреЗрдирд░ рд╕реЗрдЯрдЕрдк рдЪрд▓рд╛рдиреЗ рдХреЗ рдХрд╛рдо рдЖрддреА рд╣реИред рдпрд╣ рдЖрдкрдХреА рд╕рд░реНрд╡рд┐рд╕реЗрдЬрд╝, рдкреЛрд░реНрдЯреНрд╕, рд╡реЙрд▓реНрдпреВрдореНрд╕, рдФрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЗ рдкрд░рд╕реНрдкрд░ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреА рд╣реИред

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

рдЙрджрд╛рд╣рд░рдг: Python рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд╕рд╛рде Docker init рдХрд╛ рдЙрдкрдпреЛрдЧ

рдЖрдЗрдП рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ docker init рдЪрд▓рд╛рдПрдБред рдЙрджрд╛рд╣рд░рдг рдХреЗ рддреМрд░ рдкрд░ рдореИрдВ рдПрдХ рдорд┐рдирд┐рдорд▓ FastAPI рдРрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛/рдХрд░реВрдВрдЧреА рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╣реА рд░реВрдЯ рд╣реИред

рдпрд╣ рд╣реИ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реНрдЯреНрд░рдХреНрдЪрд░ docker init рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ:

my-fastapi-app/
тФЬтФАтФА app.py
тФФтФАтФА requirements.txt

app.py рдореЗрдВ рдПрдХ Hello World рд░реВрдЯ рд╣реИ:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
    return {"message": "Hello, World!"}

рдФрд░ requirements.txt рдореЗрдВ рдпреЗ рджреЛ рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реАрдЬрд╝ рд╣реИрдВ:

fastapi
uvicorn

docker init рдЪрд▓рд╛рдирд╛

рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдкрд░ рдЬрд╛рдПрдБ рдФрд░ рдЪрд▓рд╛рдПрдБ:

docker init

Docker init рдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрдЯ рдХрд┐рдпрд╛

Docker init рдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрдЯ рдХрд┐рдпрд╛

docker init requirements.txt рд╕реЗ Python рдбрд┐рдЯреЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЖрдкрд╕реЗ рдХреБрдЫ рд╕рд╡рд╛рд▓ рдкреВрдЫрддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдкреНрд░реЙрдореНрдкреНрдЯреНрд╕ рдХреИрд╕реЗ рджрд┐рдЦрддреЗ рд╣реИрдВ рдФрд░ рдХреНрдпрд╛ рдЬрд╡рд╛рдм рджреЗрдирд╛ рд╣реИ:

Python рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП Docker init рдкреНрд░реЙрдореНрдкреНрдЯреНрд╕

Python рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП Docker init рдкреНрд░реЙрдореНрдкреНрдЯреНрд╕

рдХреНрдпрд╛-рдХреНрдпрд╛ рдЬрдирд░реЗрдЯ рд╣реЛрддрд╛ рд╣реИ

рдкреНрд░реЙрдореНрдкреНрдЯреНрд╕ рдХреЗ рдмрд╛рдж рдЖрдкрдХрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдХреБрдЫ рдРрд╕рд╛ рджрд┐рдЦреЗрдЧрд╛:

рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рд╕реНрдЯреНрд░рдХреНрдЪрд░

рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рд╕реНрдЯреНрд░рдХреНрдЪрд░

рддреАрди рдирдИ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реИрдВред рдЖрдЗрдП рдПрдХ-рдПрдХ рдХрд░рдХреЗ рджреЗрдЦреЗрдВред

Dockerfile

# syntax=docker/dockerfile:1

ARG PYTHON_VERSION=3.14
FROM python:${PYTHON_VERSION}-slim as base

ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1

WORKDIR /app

ARG UID=10001
RUN adduser \
    --disabled-password \
    --gecos "" \
    --home "/nonexistent" \
    --shell "/sbin/nologin" \
    --no-create-home \
    --uid "${UID}" \
    appuser

RUN --mount=type=cache,target=/root/.cache/pip \
    --mount=type=bind,source=requirements.txt,target=requirements.txt \
    python -m pip install -r requirements.txt

USER appuser

COPY . .

EXPOSE 8000

CMD uvicorn 'app:app' --host=0.0.0.0 --port=8000

рдпрд╣рд╛рдБ рдХреБрдЫ рдмрд╛рддреЗрдВ рдзреНрдпрд╛рди рджреЗрдиреЗ рд▓рд╛рдпрдХ рд╣реИрдВред PYTHONDONTWRITEBYTECODE=1 Python рдХреЛ рдбрд┐рд╕реНрдХ рдкрд░ .pyc рдлрд╝рд╛рдЗрд▓реЗрдВ рд▓рд┐рдЦрдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИ, рдФрд░ PYTHONUNBUFFERED=1 рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд▓реЙрдЧреНрд╕ рдмрдлрд░ рдореЗрдВ рд░реБрдХреЗ рд░рд╣рдиреЗ рдХреЗ рдмрдЬрд╛рдп рд░реАрдпрд▓-рдЯрд╛рдЗрдо рдореЗрдВ рджрд┐рдЦреЗрдВ - рджреЛрдиреЛрдВ рд╣реА рдХрдВрдЯреЗрдирд░рд╛рдЗрдЬрд╝реНрдб рдРрдкреНрд╕ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИрдВред

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

pip install рд╕реНрдЯреЗрдк рдкрд░ --mount=type=cache рдлрд╝реНрд▓реИрдЧ Docker рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдмрд┐рд▓реНрдбреНрд╕ рдХреЗ рдмреАрдЪ рдХреИрд╢ рдХрд░реЗред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдЧреЗ рдХреЗ рдмрд┐рд▓реНрдбреНрд╕ рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реАрдЬрд╝ рдХреЛ рджреЛрдмрд╛рд░рд╛ рд╢реБрд░реВ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕рд╕реЗ рд╕реНрдкреАрдб рдмрдврд╝рддреА рд╣реИред

.dockerignore

**/.DS_Store
**/__pycache__
**/.venv
**/.env
**/.git
**/.gitignore
**/node_modules
**/Dockerfile*
**/compose.y*ml
README.md

.dockerignore рдлрд╝рд╛рдЗрд▓ рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрд╛рд╣рд░ рд░рдЦрддреА рд╣реИ рдЬреЛ рдЖрдкрдХреА рдЗрдореЗрдЬ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред рд▓реЛрдХрд▓ рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЬреИрд╕реЗ .env, рд╡рд░реНрдЬрд╝рди рдХрдВрдЯреНрд░реЛрд▓ рдлрд╝реЛрд▓реНрдбрд░ рдЬреИрд╕реЗ .git, рдФрд░ Python рдХреИрд╢ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЬреИрд╕реЗ __pycache__ рд╕рднреА рд╕реНрдХрд┐рдк рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред Dockerfile рдФрд░ compose.yaml рдЦреБрдж рднреА рдПрдХреНрд╕рдХреНрд▓реВрдб рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ - Docker рдХреЛ рдЙрд╕ рдЗрдореЗрдЬ рдХреЗ рдЕрдВрджрд░ рдЗрдирдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рдЬрд┐рд╕реЗ рд╡рд╣ рдмрдирд╛ рд░рд╣рд╛ рд╣реИред

compose.yaml

services:
  server:
    build:
      context: .
    ports:
      - 8000:8000

Compose рдлрд╝рд╛рдЗрд▓ рдЖрдкрдХреА рдРрдк рдХреЛ server рдирд╛рдо рдХреА рд╕рд░реНрд╡рд┐рд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреА рд╣реИ, рдореМрдЬреВрджрд╛ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЗ Dockerfile рд╕реЗ рдЗрд╕реЗ рдмрд┐рд▓реНрдб рдХрд░рддреА рд╣реИ, рдФрд░ рд╣реЛрд╕реНрдЯ рдХреЗ 8000 рдкреЛрд░реНрдЯ рдХреЛ рдХрдВрдЯреЗрдирд░ рдХреЗ 8000 рдкреЛрд░реНрдЯ рд╕реЗ рдореИрдк рдХрд░рддреА рд╣реИред

рддреАрдиреЛрдВ рдЬрдирд░реЗрдЯреЗрдб рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдХреБрдЫ рдХрдореЗрдВрдЯреНрд╕ рд╣реЛрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╕рд╛рдлрд╝-рд╕рдлрд╛рдИ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдпрд╣рд╛рдБ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИред

docker compose up --build рдЪрд▓рд╛рдПрдБ рдФрд░ рдЖрдкрдХреА FastAPI рдРрдк http://localhost:8000 рдкрд░ рд▓рд╛рдЗрд╡ рд╣реЛрдЧреАред

рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЪрд▓ рд░рд╣реА FastAPI рдРрдк

рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЪрд▓ рд░рд╣реА FastAPI рдРрдк

Docker init рдмрдирд╛рдо рдореИрдиреБрдЕрд▓ Dockerfile рд╕реЗрдЯрдЕрдк

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

Docker init

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

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

рд▓реЗрдХрд┐рди рд▓рдЪреАрд▓рд╛рдкрди рдПрдХ рд╕рд╡рд╛рд▓ рд╣реИред рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдЖрдо рд╕реНрдЯреИрдХреНрд╕ рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рдХрд╡рд░ рдХрд░рддреЗ рд╣реИрдВ, рдкрд░ рдЕрдВрддрддрдГ рд╡реЗ рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рд╣реА рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рд╕рдВрд░рдЪрдирд╛ рдЕрд╕рд╛рдорд╛рдиреНрдп рд╣реИ рдпрд╛ рд╡рд┐рд╢реЗрд╖ рдмрд┐рд▓реНрдб рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ рд╣реИрдВ, рддреЛ рдЖрдк docker init рдХреА рд╕реАрдорд╛рдУрдВ рддрдХ рдкрд╣реБрдБрдЪ рд╕рдХрддреЗ рд╣реИрдВред

рдореИрдиреБрдЕрд▓ рд╕реЗрдЯрдЕрдк

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

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

рдХрд┐рд╕реЗ рдЪреБрдиреЗрдВ

рдЗрд╕реЗ рд╕рд░рд▓ рддрд░реАрдХреЗ рд╕реЗ рдРрд╕реЗ рд╕реЛрдЪреЗрдВ:

Docker init рдмрдирд╛рдо рдореИрдиреБрдЕрд▓ рд╕реЗрдЯрдЕрдк рддреБрд▓рдирд╛

Docker init рдмрдирд╛рдо рдореИрдиреБрдЕрд▓ рд╕реЗрдЯрдЕрдк рддреБрд▓рдирд╛

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

Docker init рдХрдм рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ

docker init рд╣рд░ рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдЯреВрд▓ рдирд╣реАрдВ рд╣реИред рдХрдм рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рдордЭрджрд╛рд░реА рд╣реИ рдФрд░ рдХрдм рдирд╣реАрдВ, рдпрд╣ рд░рд╣рд╛:

рдЗрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ docker init рдЪреБрдиреЗрдВ:

  • рдЖрдк рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ: рдпрд╣ рдЖрдкрдХреА Docker рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдПрдХ рдорд┐рдирдЯ рд╕реЗ рдХрдо рдореЗрдВ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдЖрдк рдХрдВрдЯреЗрдирд░рд╛рдЗрдЬрд╝реЗрд╢рди рд╕реЗрдЯрдЕрдк рдХреЗ рдмрдЬрд╛рдп рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдкрд░ рдзреНрдпрд╛рди рджреЗ рд╕рдХреЗрдВ

  • рдЖрдк Docker рд╕реАрдЦ рд░рд╣реЗ рд╣реИрдВ: рдЬрдирд░реЗрдЯреЗрдб рдлрд╝рд╛рдЗрд▓реЗрдВ рдЕрдЪреНрдЫреЗ рдХрдореЗрдВрдЯреНрд╕ рд╡рд╛рд▓реА рд╣реИрдВ рдФрд░ рдмреЗрд╕реНрдЯ рдкреНрд░реИрдХреНрдЯрд┐рд╕реЗрдЬрд╝ рдлреЙрд▓реЛ рдХрд░рддреА рд╣реИрдВред рдпреЗ рдХрд┐рд╕реА рд░реИрдВрдбрдо Stack Overflow рд╕реНрдирд┐рдкреЗрдЯ рд╕реЗ рдмреЗрд╣рддрд░ рд╢реБрд░реБрдЖрддреА рдмрд┐рдВрджреБ рд╣реИрдВ

  • рдЖрдк рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдкрд┐рдВрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ: рдЬрдм рдЖрдкрдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдХрдВрдЯреЗрдирд░рд╛рдЗрдЬрд╝реНрдб рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рдЪрд╛рд╣рд┐рдП рдФрд░ рдмрд┐рд▓реНрдб рдлрд╛рдЗрди-рдЯреНрдпреВрдирд┐рдВрдЧ рдорд╛рдпрдиреЗ рдирд╣реАрдВ рд░рдЦрддреА, docker init рдЖрдкрдХреЛ рддреБрд░рдВрдд рдХрд╛рдо рдХрд░рдиреЗ рд▓рд╛рдпрдХ рд╕реЗрдЯрдЕрдк рджреЗрддрд╛ рд╣реИ

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

рдЗрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ docker init рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВ:

  • рдЖрдкрдХреЛ рдорд▓реНрдЯреА-рд╕реНрдЯреЗрдЬ рдмрд┐рд▓реНрдбреНрд╕ рдЪрд╛рд╣рд┐рдП: рдЕрдЧрд░ рдЖрдк рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реНрдЯреЗрдЬ рдореЗрдВ рдмрд┐рд▓реНрдб рдмрд╛рдБрдЯрдХрд░ рдЗрдореЗрдЬ рд╕рд╛рдЗрдЬ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░ рд░рд╣реЗ рд╣реИрдВ - рдПрдХ рдореЗрдВ рдХрдореНрдкрд╛рдЗрд▓, рджреВрд╕рд░реЗ рдореЗрдВ рд░рди - рддреЛ рд╡рд╣ рдЖрдкрдХреЛ рдореИрдиреНрдпреБрдЕрд▓реА рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред рдЬрдирд░реЗрдЯреЗрдб Dockerfile рд╕рд┐рдВрдЧрд▓-рд╕реНрдЯреЗрдЬ рд╣реЛрддрд╛ рд╣реИ

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

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, docker init рдПрдХ рд╢реБрд░реБрдЖрддреА рдмрд┐рдВрджреБ рд╣реИред рдЗрд╕рд╕реЗ рдЖрдЧреЗ рдмрдврд╝реЗрдВ, рдФрд░ рдЬрд░реВрд░рддреЛрдВ рдХреЗ рдмрдврд╝рдиреЗ рдкрд░ рдЬрдирд░реЗрдЯреЗрдб рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдПрдбрд┐рдЯ рдХрд░реЗрдВред

Docker init рдХреА рд╕реАрдорд╛рдПрдБ

рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдЖрдкрдХрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдврд╝рддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдХреБрдЫ рд╕реАрдорд╛рдПрдБ рджрд┐рдЦ рд╕рдХрддреА рд╣реИрдВред рдпрд╣рд╛рдБ рдХреБрдЫ рд╣реИрдВред

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

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

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

рдЗрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдмрд╛рдд docker init рдХреЛ рдЦрд░рд╛рдм рдЯреВрд▓ рдирд╣реАрдВ рдмрдирд╛рддреАред рдмрд╕ рдЕрдкреЗрдХреНрд╖рд╛рдПрдБ рд╕рд╣реА рд░рдЦреЗрдВ - рдпрд╣ рдмреНрд▓реИрдВрдХ-рдкреЗрдЬ рд╕рдорд╕реНрдпрд╛ рд╣рдЯрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЗ Dockerfile рдХреЛ рд╕рдордЭрдиреЗ рдХреА рдЬрд░реВрд░рдд рдХреЛ рдирд╣реАрдВред

Docker init рдХреЗ рдмрд╛рдж рдХреА рдмреЗрд╕реНрдЯ рдкреНрд░реИрдХреНрдЯрд┐рд╕реЗрдЬрд╝

docker init рдЬреЛ рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрдирд╛рддрд╛ рд╣реИ, рд╡реЗ рд╢реБрд░реБрдЖрддреА рдмрд┐рдВрджреБ рд╣реИрдВред рдЗрдиреНрд╣реЗрдВ рдкреНрд░реЛрдбрдХреНрд╢рди-рд░реЗрдбреА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдпреЗ рдХрджрдо рдЙрдард╛рдиреЗ рдЪрд╛рд╣рд┐рдПред

  • рдЬрдирд░реЗрдЯреЗрдб рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░реЗрдВ: Dockerfile, .dockerignore, рдФрд░ compose.yaml рдХреЛ рд▓рд╛рдЗрди-рджрд░-рд▓рд╛рдЗрди рдкрдврд╝реЗрдВред рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЕрдЪреНрдЫреЗ рдХрдореЗрдВрдЯреНрд╕ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЬрд╝реНрдпрд╛рджрд╛ рд╕рдордп рдирд╣реАрдВ рд▓реЗрдЧрд╛ред рдКрдкрд░ рдХреБрдЫ рдмрдирд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдк рд╕рдордЭ рд▓реЗрдВ рдХрд┐ рдЕрдВрджрд░ рдХреНрдпрд╛ рд╣реИ

  • рдЕрдкрдиреА рдЗрдореЗрдЬ рд╕рд╛рдЗрдЬ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░реЗрдВ: рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдмреЗрд╕ рдЗрдореЗрдЬ python:3.x-slim рд╣реИ, рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣рд▓реНрдХреА рд╣реИред рд▓реЗрдХрд┐рди рдЖрдк рдФрд░ рдЖрдЧреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ - рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХрд╛ .dockerignore рд╣рд░ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЪреАрдЬрд╝ рдХреЛ рдПрдХреНрд╕рдХреНрд▓реВрдб рдХрд░ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдпрд╣ рднреА рдЬрд╛рдБрдЪреЗрдВ рдХрд┐ рдЖрдк рдЗрдореЗрдЬ рдореЗрдВ рд╡реЗ рдлрд╝рд╛рдЗрд▓реЗрдВ рдХреЙрдкреА рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рдЬрд┐рдирдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ

  • рд╕реАрдХреНрд░реЗрдЯреНрд╕ рдФрд░ рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡реИрд▓реНрдпреВрдЬрд╝ рдХреЛ рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдореЗрдВ рд░рдЦреЗрдВ: API рдХреАрдЬрд╝, рдбреЗрдЯрд╛рдмреЗрд╕ URLs, рдпрд╛ рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рдлрд╝реНрд▓реИрдЧреНрд╕ рдХреЛ рдЕрдкрдиреЗ Dockerfile рдореЗрдВ рд╣рд╛рд░реНрдбрдХреЛрдб рди рдХрд░реЗрдВред рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рд▓реЛрдХрд▓ рдореЗрдВ .env рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдпрд╛ рдкреНрд░реЛрдбрдХреНрд╢рди рдореЗрдВ рдЕрдкрдиреЗ рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд╕реАрдХреНрд░реЗрдЯ рдореИрдиреЗрдЬрдореЗрдВрдЯ рд╕реЗ рдореИрдиреЗрдЬ рдХрд░реЗрдВ

  • рдХрд╣реАрдВ рдкреБрд╢ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд▓реЛрдХрд▓реА рдЯреЗрд╕реНрдЯ рдХрд░реЗрдВ: docker compose up --build рдЪрд▓рд╛рдПрдБ рдФрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдЖрдкрдХреА рдРрдк рдХрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдмрд╛рд╣рд░ рдЬреИрд╕рд╛ рд╣реА рд╣реИред рдЕрдкрдиреЗ рд▓реЙрдЧреНрд╕ рджреЗрдЦреЗрдВ, рдПрдВрдбрдкреЙрдЗрдВрдЯреНрд╕ рдкрд░ рдЬрд╛рдПрдБ, рдФрд░ рдкреЛрд░реНрдЯ рдореИрдкрд┐рдВрдЧ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВ

  • рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдврд╝рдиреЗ рдкрд░ рдмрд┐рд▓реНрдб рд╕реНрдЯреЗрдкреНрд╕ рдХреЛ рдкрд░рд┐рд╖реНрдХреГрдд рдХрд░реЗрдВ: рдЬрдирд░реЗрдЯреЗрдб Dockerfile рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реАрдЬрд╝ рдХреЛ рдПрдХ рд╣реА рд▓реЗрдпрд░ рдореЗрдВ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рддрд╛ рд╣реИред рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░рд┐рдкрдХреНрд╡ рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдпрд░ рдСрд░реНрдбрд░рд┐рдВрдЧ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдпрд╛рдиреА рдЬреЛ рд╕реНрдЯреЗрдкреНрд╕ рдХрдо рдмрджрд▓рддреЗ рд╣реИрдВ рдЙрдиреНрд╣реЗрдВ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдКрдкрд░ рд░рдЦреЗрдВ рддрд╛рдХрд┐ Docker рдЙрдиреНрд╣реЗрдВ рдХреИрд╢ рдХрд░ рд╕рдХреЗред рдпрджрд┐ рдмрд┐рд▓реНрдб рдЯрд╛рдЗрдо рдмрдврд╝рдиреЗ рд▓рдЧреЗрдВ, рддреЛ рдпрд╣реА рдкрд╣рд▓рд╛ рд╕реНрдерд╛рди рд╣реИ рджреЗрдЦрдиреЗ рдХрд╛

рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╕реНрдпрд╛рдПрдБ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг

рдЯреЗрдХ рдореЗрдВ рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рдХреБрдЫ рдмрд╛рддреЗрдВ рдЧрд▓рдд рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдпрд╣рд╛рдБ рджреЗрдЦреЗрдВ рдХреНрдпрд╛ рдЬрд╛рдБрдЪрдирд╛ рд╣реИ рдФрд░ рдХреИрд╕реЗ рдареАрдХ рдХрд░рдирд╛ рд╣реИред

рдЧрд▓рдд рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди

рдЕрдЧрд░ docker init рдЧрд▓рдд рд╕реНрдЯреИрдХ рдЪреБрди рд▓реЗрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдРрд╕реА рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрдирд╛рдПрдЧрд╛ рдЬреЛ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддреАрдВред рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рддрдм рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдорд┐рдХреНрд╕-рднрд╛рд╖рд╛ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╣реЛрдВ рдпрд╛ рд╡рд╣ рдлрд╝рд╛рдЗрд▓ рдЧрд╛рдпрдм рд╣реЛ рдЬрд┐рд╕реЗ docker init рдвреВрдВрдврддрд╛ рд╣реИ - рдЬреИрд╕реЗ Python рдХреЗ рд▓рд┐рдП requirements.txt рдпрд╛ Node.js рдХреЗ рд▓рд┐рдП package.jsonред

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

рдкреЛрд░реНрдЯ рдХреЙрдиреНрдлреНрд▓рд┐рдХреНрдЯреНрд╕

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

рдХрдиреНрдлреНрд▓рд┐рдХреНрдЯрд┐рдВрдЧ рдкреНрд░реЛрд╕реЗрд╕ рдХреЛ рдвреВрдБрдврдХрд░ рдмрдВрдж рдХрд░реЗрдВ, рдпрд╛ рдЕрдкрдиреЗ compose.yaml рдореЗрдВ рд╣реЛрд╕реНрдЯ-рд╕рд╛рдЗрдб рдкреЛрд░реНрдЯ рдмрджрд▓реЗрдВ:

ports:
  - 8001:8000  # maps host port 8001 to container port 8000

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

рдорд┐рд╕рд┐рдВрдЧ рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реАрдЬрд╝

рдЕрдЧрд░ рдЖрдкрдХрд╛ рдХрдВрдЯреЗрдирд░ рдмрд┐рд▓реНрдб рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╕реНрдЯрд╛рд░реНрдЯ рдкрд░ рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЕрдХреНрд╕рд░ рд╡рдЬрд╣ рдорд┐рд╕рд┐рдВрдЧ рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реАрдЬрд╝ рд╣реЛрддреА рд╣реИред рджреЗрдЦреЗрдВ рдХрд┐ рдЖрдкрдХрд╛ requirements.txt (рдпрд╛ рд╕рдордХрдХреНрд╖) рдкреВрд░рд╛ рдФрд░ рдЕрдкрдбреЗрдЯреЗрдб рд╣реИ рдпрд╛ рдирд╣реАрдВред рдЕрдЧрд░ рдЖрдкрдиреЗ рд▓реЛрдХрд▓реА рдХреЛрдИ рдкреИрдХреЗрдЬ рдЬреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛, рддреЛ рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╡рд╣ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

docker compose logs рдЪрд▓рд╛рдХрд░ рдПрд░рд░ рдЖрдЙрдЯрдкреБрдЯ рджреЗрдЦреЗрдВ:

docker compose logs

рдПрд░рд░ рдореИрд╕реЗрдЬ рдЖрдорддреМрд░ рдкрд░ рдмрддрд╛рдПрдЧрд╛ рдХрд┐ рдХреМрди-рд╕рд╛ рдкреИрдХреЗрдЬ рдЧрд╛рдпрдм рд╣реИред

рдХрдВрдЯреЗрдирд░ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛

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

FastAPI рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдХреБрдЫ рдРрд╕рд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:

CMD uvicorn 'app:app' --host=0.0.0.0 --port=8000

рдпрджрд┐ рдЖрдкрдХреА рдПрдВрдЯреНрд░реА рдкреНрд╡рд╛рдЗрдВрдЯ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рдЕрд▓рдЧ рд╣реИ рдпрд╛ рдореЙрдбреНрдпреВрд▓ рдкрде рдЧрд▓рдд рд╣реИ, рддреЛ рдХрдВрдЯреЗрдирд░ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдЬрд╛рдПрдЧрд╛ред CMD рдХреЛ рдареАрдХ рдХрд░реЗрдВ, docker compose up --build рд╕реЗ рджреЛрдмрд╛рд░рд╛ рдмрд┐рд▓реНрдб рдХрд░реЗрдВ, рдФрд░ рд▓реЙрдЧреНрд╕ рдлрд┐рд░ рджреЗрдЦреЗрдВред

рдирд┐рд╖реНрдХрд░реНрд╖

docker init Docker рдХреА рдЧрд╣рд░реА рд╕рдордЭ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдмреНрд▓реИрдВрдХ-рдкреЗрдЬ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдЖрдкрдХреЛ рдирд┐рдХрд╛рд▓ рджреЗрддрд╛ рд╣реИред

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

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

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

Dario Rade─Нi─З

рд▓реЗрдЦрдХ

Dario Rade─Нi─З

рдХреНрд░реЛрдПрд╢рд┐рдпрд╛ рдореЗрдВ рд╕реНрдерд┐рдд рд╕реАрдирд┐рдпрд░ рдбреЗрдЯрд╛ рд╕рд╛рдЗрдВрдЯрд┐рд╕реНрдЯред 700 рд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рдХрд╛рд╢рд┐рдд рд▓реЗрдЦреЛрдВ рдХреЗ рд╕рд╛рде рдЯреЙрдк рдЯреЗрдХ рд░рд╛рдЗрдЯрд░, рдЬрд┐рдирд╕реЗ 10M+ рд╡реНрдпреВрдЬрд╝ рдкреНрд░рд╛рдкреНрдд рд╣реБрдПред Machine Learning Automation with TPOT рдХреЗ рдкреБрд╕реНрддрдХ рд▓реЗрдЦрдХред

FAQs

docker init рдХреНрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИ?

рдпрд╣ рдПрдХ Docker CLI рдХрдорд╛рдВрдб рд╣реИ рдЬреЛ рдХрд┐рд╕реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЛ рдХрдВрдЯреЗрдирд░рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЗрдВ рдЬрдирд░реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЯрд╛рдЗрдк рдХреЗ рдЖрдзрд╛рд░ рдкрд░ Dockerfile, .dockerignore, рдФрд░ compose.yaml рдмрдирд╛рддрд╛ рд╣реИред рдЗрдиреНрд╣реЗрдВ рд╢реВрдиреНрдп рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рдХреБрдЫ рдкреНрд░реЙрдореНрдкреНрдЯреНрд╕ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдмрд╛рдХреА рдХрд╛рдо docker init рдХрд░ рджреЗрддрд╛ рд╣реИред

рдХреНрдпрд╛ docker init рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Docker рдХрд╛ рдЕрдиреБрднрд╡ рдЬрд░реВрд░реА рд╣реИ?

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

docker init рдХрд┐рди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ?

docker init рд╡рд░реНрддрдорд╛рди рдореЗрдВ Python, Node.js, Go, Java, рдФрд░ .NET рдХреЛ рд╕рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдХреЛ рд╕реНрдХреИрди рдХрд░рдХреЗ requirements.txt рдпрд╛ package.json рдЬреИрд╕реА рднрд╛рд╖рд╛-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдЖрдкрдХрд╛ рд╕реНрдЯреИрдХ рдбрд┐рдЯреЗрдХреНрдЯ рдХрд░рддрд╛ рд╣реИред рдЕрдЧрд░ рдбрд┐рдЯреЗрдХреНрд╢рди рдлреЗрд▓ рд╣реЛ рдЬрд╛рдП рдпрд╛ рдЖрдкрдХрд╛ рд╕реНрдЯреИрдХ рд╕рдкреЛрд░реНрдЯреЗрдб рди рд╣реЛ, рддреЛ рдЖрдк рдкреНрд░реЙрдореНрдкреНрдЯ рд╕реЗ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдореИрдиреНрдпреБрдЕрд▓реА рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдореИрдВ рдореМрдЬреВрджрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ docker init рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛/рд╕рдХрддреА рд╣реВрдБ?

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

рдХреНрдпрд╛ docker init рдкреНрд░реЛрдбрдХреНрд╢рди-рд░реЗрдбреА Docker рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЬрдирд░реЗрдЯ рдХрд░рддрд╛ рд╣реИ?

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

рд╡рд┐рд╖рдп