Docker nima: «mening kompyuterimda ishlayapti» muammosi
Konteyner va virtual mashina, image va container, o‘rnatish
Tanish holat: dastur sizning kompyuteringizda ishlaydi, serverda esa — yo'q. Sababi: boshqa Python versiyasi, boshqa kutubxona, boshqa sozlama. Docker bu muammoni hal qiladi: dasturni u ishlashi uchun kerak bo'lgan hamma narsa bilan birga «qutiga» joylaydi. Quti qayerda ochilsa — bir xil ishlaydi. Docker 2013-yilda paydo bo'lgan va bugun serverda dastur ishga tushirishning standart usullaridan biriga aylangan.
Konteyner va virtual mashina
| Virtual mashina | Konteyner | |
|---|---|---|
| Ichida | to'liq operatsion tizim | faqat dastur va uning kutubxonalari |
| Hajmi | gigabaytlar | ko'pincha o'nlab–yuzlab MB |
| Ishga tushishi | daqiqalar | soniyalar |
| Yadro | o'zining | asosiy tizim (host) bilan umumiy |
Konteyner — yengil: bitta serverda o'nlab konteyner bemalol ishlaydi.
Ikki asosiy tushuncha
| Tushuncha | O'xshatish | Ma'nosi |
|---|---|---|
| Image (obraz) | retsept / qolip | dastur va muhitning o'zgarmas «surati» |
| Container (konteyner) | tayyorlangan taom | image'dan ishga tushirilgan jonli nusxa |
Bitta image'dan istalgancha konteyner ishga tushirish mumkin. Tayyor image'lar Docker Hub da saqlanadi: python,
nginx, postgres va minglab boshqalar.
O'rnatish
- Windows / macOS: Docker Desktop (Windows'da WSL 2 bilan ishlaydi).
- Linux (Ubuntu): rasmiy hujjatdagi ko'rsatmaga ko'ra
docker-cepaketi.
Tekshirish:
$ docker --version
$ docker run hello-world
Hello from Docker!
This message shows that your installation appears to be working correctly.
💡 Bitta serverda bir nechta loyiha (masalan, sayt va bir nechta Telegram bot) alohida konteynerlarda ishlasa — ular bir-biriga xalaqit bermaydi: har birida o'z Python versiyasi va kutubxonalari.