GoDasturchi
Your First Container

Your First Container

Birinchi konteyneringiz

Konteyner ishlatishni telefonga ilova o'rnatishga o'xshating: siz ilovaning o'zini yozmaysiz, uni "do'kon"dan (bu yerda — Docker Hub) yuklab olasiz va darhol ishga tushirasiz. Docker'da ham xuddi shunday: minglab tayyor "image"lar (masalan, Go, Python, MySQL uchun) bor, ularni yuklab, bir zumda ishga tushirish mumkin.

terminal
$ docker run hello-world

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

docker run hello-world buyrug'i uchta ishni ketma-ket bajaradi: (1) hello-world nomli imageni ("qandaydir dasturning tayyor nusxasi, xuddi o'rnatish fayli kabi") kompyuteringizda qidiradi; (2) topilmasa, Docker Hub'dan (Docker'ning "ilovalar do'koni") avtomatik yuklab oladi; (3) o'sha image'dan yangi konteyner yaratib, uni ishga tushiradi. Konteyner — image'ning "jonlangan", ishlab turgan nusxasi.

Image va konteyner orasidagi farq — retsept va tayyor taom orasidagi farqqa o'xshaydi: image — statik "retsept" (fayllar, sozlamalar), konteyner esa shu retseptdan tayyorlangan, hozir "iste'mol qilinayotgan" (ishlab turgan) taom. Bitta image'dan bir nechta konteyner yaratish mumkin — xuddi bitta retseptdan bir necha marta taom pishirish mumkin bo'lgani kabi.

terminal
$ docker ps          # ishlab turgan konteynerlarni ko'rsatadi
$ docker ps -a        # HAMMA konteynerlarni (to'xtaganlarini ham) ko'rsatadi
$ docker images       # kompyuterda yuklangan barcha image'larni ko'rsatadi

Key Takeaway

Key Takeaway:

docker run <image> — image'ni yuklab (agar mavjud bo'lmasa) va undan konteyner yaratib ishga tushiradi; image — "retsept", konteyner — shu retseptdan tayyorlangan, ishlab turgan nusxa.

NEXT UP

Building Docker Images

Your First Container

Birinchi konteyneringiz

Konteyner ishlatishni telefonga ilova o'rnatishga o'xshating: siz ilovaning o'zini yozmaysiz, uni "do'kon"dan (bu yerda — Docker Hub) yuklab olasiz va darhol ishga tushirasiz. Docker'da ham xuddi shunday: minglab tayyor "image"lar (masalan, Go, Python, MySQL uchun) bor, ularni yuklab, bir zumda ishga tushirish mumkin.

terminal
$ docker run hello-world

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

docker run hello-world buyrug'i uchta ishni ketma-ket bajaradi: (1) hello-world nomli imageni ("qandaydir dasturning tayyor nusxasi, xuddi o'rnatish fayli kabi") kompyuteringizda qidiradi; (2) topilmasa, Docker Hub'dan (Docker'ning "ilovalar do'koni") avtomatik yuklab oladi; (3) o'sha image'dan yangi konteyner yaratib, uni ishga tushiradi. Konteyner — image'ning "jonlangan", ishlab turgan nusxasi.

Image va konteyner orasidagi farq — retsept va tayyor taom orasidagi farqqa o'xshaydi: image — statik "retsept" (fayllar, sozlamalar), konteyner esa shu retseptdan tayyorlangan, hozir "iste'mol qilinayotgan" (ishlab turgan) taom. Bitta image'dan bir nechta konteyner yaratish mumkin — xuddi bitta retseptdan bir necha marta taom pishirish mumkin bo'lgani kabi.

terminal
$ docker ps          # ishlab turgan konteynerlarni ko'rsatadi
$ docker ps -a        # HAMMA konteynerlarni (to'xtaganlarini ham) ko'rsatadi
$ docker images       # kompyuterda yuklangan barcha image'larni ko'rsatadi

Key Takeaway

Key Takeaway:

docker run <image> — image'ni yuklab (agar mavjud bo'lmasa) va undan konteyner yaratib ishga tushiradi; image — "retsept", konteyner — shu retseptdan tayyorlangan, ishlab turgan nusxa.

NEXT UP

Building Docker Images