html
Windows рдкрд░ WSL2 рдХреЗ рд╕рд╛рде Docker рд╕реНрдерд╛рдкрдирд╛ рдореЗрдВ рдорд╣рд╛рд░рдд: рдЪрд░рдг-рджрд░-рдЪрд░рдг рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛
рд╕рд╛рдордЧреНрд░реА рд╕реВрдЪреА
- рдкрд░рд┐рдЪрдп ...................................................... 1
- Docker рдХреЛ рд╕рдордЭрдирд╛ ............................. 3
- Docker рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ .................................. 5
- Windows рдкрд░ Docker рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ ........... 7
- WSL2 рдХрд╛ рдкрд░рд┐рдЪрдп ............................. 10
- Windows рдкрд░ WSL2 рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ ............. 12
- Ubuntu рд╕рдмрд╕рд┐рд╕реНрдЯрдо рд╕реЗрдЯ рдХрд░рдирд╛ ........... 15
- Docker рдХреЛ Visual Studio Code рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд░рдирд╛ ........................................................... 18
- рдирд┐рд╖реНрдХрд░реНрд╖ ..................................................... 21
рдкрд░рд┐рдЪрдп
рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ "Windows рдкрд░ WSL2 рдХреЗ рд╕рд╛рде Docker рд╕реНрдерд╛рдкрдирд╛ рдореЗрдВ рдорд╣рд╛рд░рдд: рдЪрд░рдг-рджрд░-рдЪрд░рдг рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ред" рдЖрдЬ рдХреЗ рддреЗрдЬреА рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛ рд░рд╣реЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ, Docker рдХрдВрдЯреЗрдирд░реАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдирд┐рд╡рд╛рд░реНрдп рдЙрдкрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдЙрднрд░рд╛ рд╣реИ, рдЬреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рд╡реЗрд╢реЛрдВ рдореЗрдВ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд░реБрдХрд╛рд╡рдЯ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ, рддреИрдирд╛рдд рдХрд░рдиреЗ рдФрд░ рдЪрд▓рд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рддрд╛ рд╣реИред рдпрд╣ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рд╢реБрд░реБрдЖрддреА рдФрд░ рдмреБрдирд┐рдпрд╛рджреА рдЬреНрдЮрд╛рди рд╡рд╛рд▓реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реНрдпрд╛рдкрдХ рд╡реЙрдХрдереНрд░реВ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рд░рдЦрддреА рд╣реИ, рдЬрд┐рд╕рд╕реЗ Windows рдкрд░ Windows Subsystem for Linux 2 (WSL2) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Docker рд╕реЗрдЯрдЕрдк рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗред
Docker рдХрд╛ рдорд╣рддреНрд╡
Docker рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдФрд░ рдЙрдирдХреА рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдкреИрдХреЗрдЬ рдХрд░рдХреЗ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдХрдИ рдкрд░рд┐рд╡реЗрд╢реЛрдВ рдореЗрдВ рд╕рдВрдЧрддрд┐ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛрддреА рд╣реИред рдЪрд╛рд╣реЗ рдЖрдк рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реЛрдВ рдпрд╛ рдЙрддреНрдкрд╛рджрди рдореЗрдВ рддреИрдирд╛рдд рдХрд░ рд░рд╣реЗ рд╣реЛрдВ, Docker рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рдЪрд▓реЗрдВ, рдЪрд╛рд╣реЗ рд╡реЗ рдХрд╣реАрдВ рднреА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛ рд░рд╣реЗ рд╣реЛрдВред
Docker рдХреЗ рд▓рд╛рдн рдФрд░ рд╣рд╛рдирд┐рдпрд╛рдБ
рд▓рд╛рдн | рд╣рд╛рдирд┐рдпрд╛рдБ |
---|---|
рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдореЗрдВ рд╕рдВрдЧрдд рдкрд░рд┐рд╡реЗрд╢ | рдирдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕реАрдЦрдиреЗ рдХреА рд╡рдХреНрд░ |
рд╕рдХреНрд╖рдо рд╕рдВрд╕рд╛рдзрди рдЙрдкрдпреЛрдЧ | рд╕рдВрднрд╛рд╡рд┐рдд рд╕реБрд░рдХреНрд╖рд╛ рдЪрд┐рдВрддрд╛рдПрдБ |
рд╕рд░рд▓реАрдХреГрдд рдирд┐рд░реНрднрд░рддрд╛ рдкреНрд░рдмрдВрдзрди | рдореМрдЬреВрджрд╛ рд╡рд░реНрдХрдлрд╝реНрд▓реЛрдЬрд╝ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ |
рдмрдврд╝реА рд╣реБрдИ рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рдФрд░ рд▓рдЪреАрд▓рд╛рдкрди | рдХреБрдЫ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдУрд╡рд░рд╣реЗрдб |
Docker рдХрдм рдФрд░ рдХрд╣рд╛рдБ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
Docker рдЖрджрд░реНрд╢ рд╣реИ:
- рд╡рд┐рдХрд╛рд╕ рдкрд░рд┐рд╡реЗрд╢: рд╕реЗрдЯрдЕрдк рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдирд╛ред
- рд╕рддрдд рдПрдХреАрдХрд░рдг/рд╕рддрдд рдкрд░рд┐рдирд┐рдпреЛрдЬрди (CI/CD): рдкрд░реАрдХреНрд╖рдг рдФрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрди рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдирд╛ред
- рдорд╛рдЗрдХреНрд░реЛрд╕рд░реНрд╡рд┐рд╕реЗрдЬ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░: рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдХреБрд╢рд▓ рдкреНрд░рдмрдВрдзрдиред
- рдХреНрд▓рд╛рдЙрдб рдкрд░рд┐рдирд┐рдпреЛрдЬрди: рд╡рд┐рднрд┐рдиреНрди рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддрд╛рдУрдВ рдореЗрдВ рдкреЛрд░реНрдЯреЗрдмрд┐рд▓рд┐рдЯреА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ред
Docker рдХреЛ рд╕рдордЭрдирд╛
Docker рдХреНрдпрд╛ рд╣реИ?
Docker рдПрдХ рдУрдкрди-рд╕реЛрд░реНрд╕ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╣реИ рдЬреЛ рд╣рд▓реНрдХреЗ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдкрд░рд┐рдирд┐рдпреЛрдЬрди, рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдФрд░ рдкреНрд░рдмрдВрдзрди рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рддрд╛ рд╣реИред рдкрд╛рд░рдВрдкрд░рд┐рдХ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрдиреЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдХрдВрдЯреЗрдирд░ рд╣реЛрд╕реНрдЯ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдХрд░реНрдиреЗрд▓ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рд╡реЗ рдЕрдзрд┐рдХ рдХреБрд╢рд▓ рдФрд░ рддреИрдирд╛рддреА рдореЗрдВ рддреЗрдЬ рд╣реЛрддреЗ рд╣реИрдВред
рдореБрдЦреНрдп рдЕрд╡рдзрд╛рд░рдгрд╛рдПрдБ рдФрд░ рд╢рдмреНрджрд╛рд╡рд▓реА
- Container: рдПрдХ рд╣рд▓реНрдХрд╛, рд╕реНрд╡рддрдиреНрддреНрд░ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдкреИрдХреЗрдЬ рдЬрд┐рд╕рдореЗрдВ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рдм рдХреБрдЫ рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИред
- Image: рдПрдХ рд░реАрдб-рдУрдирд▓реА рдЯреЗрдореНрдкрд▓реЗрдЯ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдВрдЯреЗрдирд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрдореЗрдЬреЗрдВ рдХрдИ рдкрд░рддреЛрдВ рд╕реЗ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИрдВред
- Dockerfile: рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬрд┐рд╕рдореЗрдВ Docker рдЗрдореЗрдЬ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИред
- Docker Hub: рдПрдХ рдХреНрд▓рд╛рдЙрдб-рдЖрдзрд╛рд░рд┐рдд рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдЬрд╣рд╛рдБ Docker рдЗрдореЗрдЬ рд╕рдВрдЧреНрд░рд╣реАрдд рдФрд░ рд╕рд╛рдЭрд╛ рдХреА рдЬрд╛рддреА рд╣реИрдВред
Docker рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛
Docker рдбрд╛рдЙрдирд▓реЛрдбреНрд╕ рддрдХ рдкрд╣реБрдБрдЪ
Docker рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Docker рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛рдПрдБ рдФрд░ рдЕрдкрдиреЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЙрдкрдпреБрдХреНрдд рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред
рд╡рд┐рднрд┐рдиреНрди рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП Docker рд╕рдВрд╕реНрдХрд░рдг
- Windows рдФрд░ Mac: рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрдХреВрд▓ рдЗрдВрд╕реНрдЯреЙрд▓рд░ред
- Mac рд╕рдВрд╕реНрдХрд░рдг: Intel рдЪрд┐рдкреНрд╕ рдФрд░ Apple Silicon рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдзред
- Linux: рд╡рд┐рддрд░рдг-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдерд╛рдкрдирд╛ рд╡рд┐рдзрд┐рдпрд╛рдБ, рдореБрдЦреНрдпрддрдГ рдЯрд░реНрдорд┐рдирд▓ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред
рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо | рдбрд╛рдЙрдирд▓реЛрдб рд▓рд┐рдВрдХ | рд╕реНрдерд╛рдкрдирд╛ рд╡рд┐рдзрд┐ |
---|---|---|
Windows | Docker for Windows | рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп |
Mac (Intel) | Docker for Mac Intel | рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп |
Mac (Apple Silicon) | Docker for Mac Apple Chip | рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп |
Linux | рд╡рд┐рддрд░рдг рдХреЗ рдЕрдиреБрд╕рд╛рд░ рднрд┐рдиреНрди (Ubuntu, Fedora, рдЖрджрд┐) | рдЯрд░реНрдорд┐рдирд▓ рдХрдорд╛рдВрдб |
Windows рдкрд░ Docker рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛
рдкреВрд░реНрд╡-рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ
Windows рдкрд░ Docker рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХреЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ рдкреВрд░реА рд╣реИрдВ:
- рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо: Windows 10 64-рдмрд┐рдЯ: Pro, Enterprise, рдпрд╛ Education (Build 1903 рдпрд╛ рдмрд╛рдж рдХрд╛)ред
- рд╣рд╛рд░реНрдбрд╡реЗрдпрд░:
- рдХрдо рд╕реЗ рдХрдо 4GB RAMред
- BIOS рдореЗрдВ рд╡рд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдЪрд░рдг
- Docker рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ:
Docker Desktop for Windows рдкреЗрдЬ рдкрд░ рдЬрд╛рдПрдБ рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред - рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдЪрд▓рд╛рдПрдБ:
рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЧрдП Docker Desktop Installer.exe рдлрд╝рд╛рдЗрд▓ рдХреЛ рдвреВрдВрдвреЗрдВ рдФрд░ рдЙрд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВред - рд╕реЗрдЯрдЕрдк рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ:
- рд▓рд╛рдЗрд╕реЗрдВрд╕ рдЕрдиреБрдмрдВрдз рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВред
- рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рд╕реНрдерд╛рдкрдирд╛ рд╡рд┐рдХрд▓реНрдк рдЪреБрдиреЗрдВред
- рдЗрдВрд╕реНрдЯреЙрд▓рд░ Docker рдФрд░ WSL2 рдШрдЯрдХреЛрдВ рдХреЛ рд╕реЗрдЯ рдХрд░реЗрдЧрд╛ред
- Docker Desktop рд╢реБрд░реВ рдХрд░реЗрдВ:
рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж, Docker Desktop рдЕрдкрдиреЗ рдЖрдк рд▓реЙрдиреНрдЪ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдЕрдЧрд░ рдпрд╣ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓реА рд╕реНрдЯрд╛рд░реНрдЯ рдореЗрдиреВ рд╕реЗ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред - рд╕реНрдерд╛рдкрдирд╛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ:
PowerShell рдЦреЛрд▓реЗрдВ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:
1 |
docker --version |
рдЕрдкреЗрдХреНрд╖рд┐рдд рдЖрдЙрдЯрдкреБрдЯ:
1 |
Docker version 20.10.7, build f0df350 |
WSL2 рдХрд╛ рдкрд░рд┐рдЪрдп
WSL2 рдХреНрдпрд╛ рд╣реИ?
Windows Subsystem for Linux 2 (WSL2) WSL1 рдХрд╛ рдЙрдиреНрдирдпрди рд╣реИ, рдЬреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░ рдФрд░ рдкреВрд░реНрдг рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рд╕рдВрдЧрддрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ Windows рдкрд░ Linux рдмрд╛рдЗрдирд░реАрдЬ рдХреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рдЪрд▓рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ Windows рдФрд░ Linux рд╡рд┐рдХрд╛рд╕ рдкрд░рд┐рд╡реЗрд╢реЛрдВ рдХреЗ рдмреАрдЪ рдХреА рдЦрд╛рдИ рдХреЛ рдкрд╛рдЯрддрд╛ рд╣реИред
Docker рдХреЗ рд╕рд╛рде WSL2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдн
- рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди: рддреЗрдЬ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╕рдВрдЪрд╛рд▓рди рдФрд░ рд╕реБрдзрд░реА рд╣реБрдИ рд╕рдВрд╕рд╛рдзрди рдкреНрд░рдмрдВрдзрдиред
- рдкреВрд░реНрдг Linux рдХрд░реНрдиреЗрд▓: рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдФрд░ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рд╕рдорд░реНрдердиред
- рд╕рд╣рдЬ рдПрдХреАрдХрд░рдг: Windows рдФрд░ Linux рдкрд░рд┐рд╡реЗрд╢реЛрдВ рдХреЗ рдмреАрдЪ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ред
Windows рдкрд░ WSL2 рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛
рдЪрд░рдг-рджрд░-рдЪрд░рдг рд╕реНрдерд╛рдкрдирд╛ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛
- Administrator рдХреЗ рд░реВрдк рдореЗрдВ PowerShell рдЦреЛрд▓реЗрдВ:
рд╕реНрдЯрд╛рд░реНрдЯ рдмрдЯрди рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ "Windows PowerShell (Admin)" рдЪреБрдиреЗрдВред - WSL рд╕рдХреНрд╖рдо рдХрд░реЗрдВ:
1 |
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart |
- рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдлреАрдЪрд░ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ:
1 |
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart |
- рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ:
рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдо рд░реАрдмреВрдЯ рдЖрд╡рд╢реНрдпрдХ рд╣реИред - WSL2 рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рдХрд░реЗрдВ:
рдкреБрдирд░рд╛рд░рдВрдн рдХреЗ рдмрд╛рдж, PowerShell рдЦреЛрд▓реЗрдВ рдФрд░ рдЪрд▓рд╛рдПрдБ:
1 |
wsl --set-default-version 2 |
- Linux рдХрд░реНрдиреЗрд▓ рдЕрдкрдбреЗрдЯ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
WSL2 Linux рдХрд░реНрдиреЗрд▓ рдЕрдкрдбреЗрдЯ рдкреИрдХреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред
WSL2 рд╕реНрдерд╛рдкрдирд╛ рдХреА рд╕рддреНрдпрд╛рдкрдирд╛
PowerShell рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:
1 |
wsl --list --verbose |
рдЕрдкреЗрдХреНрд╖рд┐рдд рдЖрдЙрдЯрдкреБрдЯ:
1 2 |
NAME STATE VERSION * Ubuntu-20.04 Running 2 |
Ubuntu рд╕рдмрд╕рд┐рд╕реНрдЯрдо рд╕реЗрдЯ рдХрд░рдирд╛
Microsoft Store рд╕реЗ Ubuntu рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛
- Microsoft Store рдЦреЛрд▓реЗрдВ:
рд╕реНрдЯрд╛рд░реНрдЯ рдореЗрдиреВ рдореЗрдВ "Microsoft Store" рдЦреЛрдЬреЗрдВ рдФрд░ рдЙрд╕реЗ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВред - Ubuntu рдЦреЛрдЬреЗрдВ:
рдЦреЛрдЬ рдмрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Ubuntu рд╡рд┐рддрд░рдг рдЦреЛрдЬреЗрдВред - Ubuntu рдЪреБрдиреЗрдВ рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
рд╡рд╛рдВрдЫрд┐рдд Ubuntu рд╕рдВрд╕реНрдХрд░рдг (рдЬреИрд╕реЗ, Ubuntu 22.04) рдЪреБрдиреЗрдВ рдФрд░ "Install" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред - Ubuntu рдХреЛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХрд░рдирд╛:
рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж, рд╕реНрдЯрд╛рд░реНрдЯ рдореЗрдиреВ рд╕реЗ Ubuntu рд▓реЙрдиреНрдЪ рдХрд░реЗрдВред рдЖрдкрдХреЛ рдПрдХ рдирдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЦрд╛рддрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред
Docker рдХреЗ рд▓рд┐рдП Ubuntu рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛
рдПрдХ рдмрд╛рд░ Ubuntu рд╕реНрдерд╛рдкрд┐рдд рд╣реЛ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдЗрд╕реЗ Docker рдХреЗ рд╕рд╛рде рд╕рд╣рдЬрддрд╛ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
- Ubuntu рдЯрд░реНрдорд┐рдирд▓ рдЦреЛрд▓реЗрдВ:
рд╕реНрдЯрд╛рд░реНрдЯ рдореЗрдиреВ рд╕реЗ Ubuntu рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░реЗрдВред - рдкреИрдХреЗрдЬ рд╕реВрдЪрд┐рдпрд╛рдБ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ:
1 |
sudo apt update |
- Ubuntu рдХреЗ рдЕрдВрджрд░ Docker рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ (рд╡реИрдХрд▓реНрдкрд┐рдХ):
рдЬрдмрдХрд┐ Docker Desktop WSL2 рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рд╣реИ, рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдиреЗ рдкрд░ рдЖрдк Ubuntu рд╕рдмрд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЕрдВрджрд░ рд╕реАрдзреЗ Docker рднреА рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
Docker рдХреЛ Visual Studio Code рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд░рдирд╛
Docker рдХреЗ рд▓рд┐рдП Visual Studio Code рд╕реЗрдЯ рдХрд░рдирд╛
- Visual Studio Code рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
Visual Studio Code рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред - Docker рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
- Visual Studio Code рдЦреЛрд▓реЗрдВред
- рдПрдХреНрд╕рдЯреЗрдВрд╢рдиреНрд╕ рд╡реНрдпреВ (Ctrl+Shift+X) рдкрд░ рдЬрд╛рдПрдБред
- "Docker" рдЦреЛрдЬреЗрдВ рдФрд░ Microsoft рджреНрд╡рд╛рд░рд╛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Docker рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред
VS Code рдореЗрдВ WSL2 рдХреЗ рд╕рд╛рде Docker рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
- VS Code рдореЗрдВ рдПрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЦреЛрд▓реЗрдВ:
File > Open Folder рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЛ рдЦреЛрд▓реЗрдВред - рдЯрд░реНрдорд┐рдирд▓ рддрдХ рдкрд╣реБрдБрдЪ:
- рдПрдХреАрдХреГрдд рдЯрд░реНрдорд┐рдирд▓ рдЦреЛрд▓рдиреЗ рдХреЗ рд▓рд┐рдП Ctrl+Shift+ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
- рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдпрд╣ PowerShell рдЦреЛрд▓рддрд╛ рд╣реИред “Ubuntu 22.04 WSL” рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреНрд░реЙрдкрдбрд╛рдЙрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
- Docker рдХрдорд╛рдВрдб рдЪрд▓рд╛рдирд╛:
1 |
docker run hello-world |
рдирдореВрдирд╛ рдЖрдЙрдЯрдкреБрдЯ:
1 2 |
Hello from Docker! This message shows that your installation appears to be working correctly. |
рдирдореВрдирд╛ Dockerfile рдФрд░ рд╡реНрдпрд╛рдЦреНрдпрд╛
Docker рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ Dockerfile рдмрдирд╛рдПрдБред
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# Use the official Python image from the Docker Hub FROM python:3.8-slim # Set the working directory in the container WORKDIR /app # Copy the current directory contents into the container at /app COPY . /app # Install any needed packages specified in requirements.txt RUN pip install --no-cache-dir -r requirements.txt # Make port 80 available to the world outside this container EXPOSE 80 # Define environment variable ENV NAME World # Run app.py when the container launches CMD ["python", "app.py"] |
рд╡реНрдпрд╛рдЦреНрдпрд╛:
- FROM python:3.8-slim:
рдмреЗрд╕ рдЗрдореЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ Python 3.8 рдХреЗ рд╕рд╛рде рдПрдХ рдкрддрд▓реА рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред - WORKDIR /app:
рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдХрд╛рд░реНрдпрд╢реАрд▓ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЛ /app рдкрд░ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред - COPY . /app:
рд╡рд░реНрддрдорд╛рди рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреА рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдХрдВрдЯреЗрдирд░ рдХреА /app рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдХреЙрдкреА рдХрд░рддрд╛ рд╣реИред - RUN pip install –no-cache-dir -r requirements.txt:
requirements.txt рдореЗрдВ рд╕реВрдЪреАрдмрджреНрдз Python рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред - EXPOSE 80:
рдкреЛрд░реНрдЯ 80 рдХреЛ рдЗрд╕ рдХрдВрдЯреЗрдирд░ рд╕реЗ рдмрд╛рд╣рд░реА рджреБрдирд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рддрд╛ рд╣реИред - ENV NAME World:
рдПрдХ рдкрд░реНрдпрд╛рд╡рд░рдгреАрдп рдЪрд░ NAME рдХреЛ рдореВрд▓реНрдп World рдХреЗ рд╕рд╛рде рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред - CMD [“python”, “app.py”]:
рдРрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ Python рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИред
Docker рдХрдВрдЯреЗрдирд░ рдЪрд▓рд╛рдирд╛
- Docker рдЗрдореЗрдЬ рдмрдирд╛рдПрдВ:
1 |
docker build -t my-python-app . |
- Docker рдХрдВрдЯреЗрдирд░ рдЪрд▓рд╛рдПрдВ:
1 |
docker run -p 4000:80 my-python-app |
рдЖрдЙрдЯрдкреБрдЯ рд╡реНрдпрд╛рдЦреНрдпрд╛:
рдЕрдиреБрдкреНрд░рдпреЛрдЧ http://localhost:4000/ рдкрд░ рд╕реБрд▓рдн рд╣реЛрдЧрд╛, рдЬреЛ app.py рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд Python рдРрдк рдХреЛ рдЪрд▓рд╛ рд░рд╣рд╛ рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖
рдЗрд╕ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдореЗрдВ, рд╣рдордиреЗ Windows рд╕рд┐рд╕реНрдЯрдо рдкрд░ WSL2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Docker рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЬрдЯрд┐рд▓рддрд╛рдУрдВ рдХреЛ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд┐рдпрд╛ рд╣реИред Docker рдХреЛ WSL2 рдФрд░ Visual Studio Code рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд░рдХреЗ, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдПрдХ рд╕рд╣рдЬ рдФрд░ рдХреБрд╢рд▓ рд╡рд┐рдХрд╛рд╕ рдкрд░рд┐рд╡реЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ Windows рдФрд░ Linux рджреЛрдиреЛрдВ рдХреА рддрд╛рдХрддреЛрдВ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рддрд╛ рд╣реИред рдЪрд╛рд╣реЗ рдЖрдк рдПрдХ рд╢реБрд░реБрдЖрддреА рд╣реЛрдВ рдпрд╛ рдЕрдиреБрднрд╡реА рдбреЗрд╡рд▓рдкрд░, Docker рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░рдирд╛ рдЖрдкрдХреЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрджрдо рд╣реИред
SEO рдХреАрд╡рд░реНрдбреНрд╕
Windows рдкрд░ Docker рд╕реНрдерд╛рдкрдирд╛, WSL2 рд╕реЗрдЯрдЕрдк, Docker Desktop, Windows рдкрд░ Ubuntu, Visual Studio Code Docker рдПрдХреАрдХрд░рдг, Docker рд╢реБрд░реБрдЖрддреА рдХреЗ рд▓рд┐рдП, Docker рдХреЗ рд╕рд╛рде рдХрдВрдЯреЗрдирд░реАрдХрд░рдг, Docker рдФрд░ WSL2 рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓, Windows 10 рдкрд░ Docker рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ, Docker рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг, Docker рдФрд░ Linux рдПрдХреАрдХрд░рдг, WSL2 рд▓рд╛рдн, Docker рд╕реЗрдЯрдЕрдк рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛, Windows рдХреЗ рд▓рд┐рдП Docker рдХрдорд╛рдВрдбреНрд╕, Docker рд╡рд┐рдХрд╛рд╕ рдкрд░рд┐рд╡реЗрд╢
рдиреЛрдЯ: рдпрд╣ рд▓реЗрдЦ AI рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
`