Docker

Docker o'rnatish va birinchi konteyner

Nazariyani bildik โ€” endi amalga o'tamiz. Ushbu darsda Docker'ni kompyuteringizga o'rnatishni, uning ishlayotganini tekshirishni va birinchi konteynerlaringizni ishga tushirishni o'rganamiz. Barcha buyruqlarni o'z terminalingizda sinab ko'ring.

Docker'ni o'rnatish

O'rnatish operatsion tizimga bog'liq. Ikkita asosiy yo'l bor:

Ubuntu/Debian kabi Linux tizimlarida rasmiy skript orqali o'rnatish eng oson usul:

# Rasmiy o'rnatish skriptini yuklab, ishga tushirish
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# O'zingizni docker guruhiga qo'shish (sudo'siz ishlatish uchun)
sudo usermod -aG docker $USER
Linux'da usermod buyrug'idan so'ng tizimdan chiqib, qayta kirishingiz (yoki qayta yuklashingiz) kerak โ€” shundagina docker buyruqlarini sudosiz ishlatasiz. Windows/macOS'da Docker Desktop'ni o'rnatib, ishga tushirish kifoya.

Docker ishlayotganini tekshirish

O'rnatilgach, birinchi ish โ€” Docker to'g'ri o'rnatilganini tekshirish. Buning uchun versiyasini so'raymiz:

docker --version

Agar hammasi joyida bo'lsa, taxminan shunday javob ko'rasiz:

Docker version 27.3.1, build ce12230

Batafsilroq ma'lumot uchun docker info buyrug'ini ham ishlatish mumkin โ€” u o'rnatilgan Docker haqidagi to'liq holatni ko'rsatadi.

Agar 'Cannot connect to the Docker daemon' kabi xatolik chiqsa, bu Docker fon xizmati (daemon) ishlamayotganini bildiradi. Windows/macOS'da Docker Desktop dasturini ishga tushiring; Linux'da sudo systemctl start docker buyrug'ini bering.

Birinchi konteyner: hello-world

Docker o'rnatilganini tekshirishning rasmiy usuli โ€” maxsus hello-world image'ini ishga tushirish. Bu kichkina image faqat bitta xabar chiqarib, tugaydi:

docker run hello-world

Bu buyruq quyidagilarni bajaradi: avval mahalliy kompyuterda hello-world image'ini qidiradi, topilmasa Docker Hub'dan avtomatik yuklab oladi, so'ng undan konteyner yaratib ishga tushiradi. Natijada shunday xabar ko'rasiz:

Hello from Docker!
This message shows that your installation appears to be working correctly.
...
docker run โ€” Docker'dagi eng muhim buyruq. U ikki ishni birga bajaradi: agar kerak bo'lsa image'ni yuklab oladi (pull) va undan konteyner yaratib ishga tushiradi (create + start).

Ubuntu konteynerini ishga tushirish

Endi haqiqiy operatsion tizim konteynerini sinab ko'ramiz. Ubuntu image'ini ishga tushirib, uning ichiga kirib, buyruqlar bera olamiz. Buning uchun -it bayroqlaridan foydalanamiz (interaktiv terminal):

docker run -it ubuntu bash

Bu buyruq Ubuntu konteynerini ishga tushiradi va sizni uning ichidagi bash terminaliga olib kiradi. Endi siz konteyner ichidasiz โ€” bu izolyatsiyalangan alohida Linux muhiti:

root@a1b2c3d4:/# ls
bin  boot  dev  etc  home  lib  ...
root@a1b2c3d4:/# cat /etc/os-release
NAME="Ubuntu"
...
root@a1b2c3d4:/# exit

exit buyrug'i konteynerdan chiqadi va konteyner to'xtaydi. Diqqat: bu Ubuntu asosiy kompyuteringizdan butunlay ajratilgan โ€” unda o'zgartirilgan narsalar sizning tizimingizga ta'sir qilmaydi.

Nginx veb-serverini ishga tushirish

Endi haqiqiy foydali misol โ€” nginx veb-serverini konteynerda ishga tushiramiz. Bunda bir nechta muhim bayroqlarni ishlatamiz:

docker run -d -p 8080:80 --name mening-serverim nginx

Bu buyruqni bo'laklarga ajratamiz:

Endi brauzeringizda http://localhost:8080 manzilini ochsangiz, nginx'ning standart sahifasini ko'rasiz. Konteyner fonda ishlab turadi. Uni to'xtatish uchun:

docker stop mening-serverim

Asosiy bayroqlar: -d, -p, --name

Yuqorida ishlatgan uchta bayroq amalda eng ko'p uchraydi. Ularni yaxshi eslab qoling:

Port bog'lash (-p) muhim tushuncha: konteyner izolyatsiyalangani sababli, uning ichidagi xizmatga tashqaridan kirish uchun portni maxsus 'ochish' kerak. -p 8080:80 degani โ€” 'kompyuterimning 8080-portiga kelgan so'rovni konteynerning 80-portiga yubor'.

Xulosa