Mastering Docker: Buyruqlar bilan ishlash to'liq qo'llanmasi
Docker — bu applicationlarni izolyatsiyalangan container'larda ishga tushirish imkoniyatini beruvchi platforma bo'lib, bugungi kunda keng qo'llaniladi. Docker container'lari applicationlarni tez va ishonchli ravishda ishga tushirish, deploy qilish va boshqarish uchun ishlatiladi. Container'lar bir xil operatsion tizim kernel'idan foydalangan holda izolyatsiyalangan muhitda applicationlarni ishga tushirish imkonini beradi.
Ushbu qo'llanma Docker bilan ishlashda eng ko'p qo'llaniladigan buyruqlarni o'z ichiga oladi — image'lar bilan ishlash, container'larni boshqarish, network va volume sozlash, Docker Compose, registry bilan ishlash va tizimni tozalash. Bu buyruqlarni tushunib olish sizga Docker bilan samarali ishlashda yordam beradi.
-
Bu qo'llanmani o'qishdan oldin siz Docker bilan tanish bo'lishingiz kerak. Agar tanish bo'lmasangiz quyidagi qo'llanmani o'qib chiqishingizni tavsiya beramiz — Dockerga Kirish (opens in a new tab).
-
Bu qo'llanmani to'liq o'zlashtirishingiz uchun sizda Docker o'rnatilgan bo'lishi kerak. Agar o'rnatilmagan bo'lsa ushbu qo'llanmani ko'rib chiqib Docker o'rnatib oling — Linux serverlarga Docker o'rnatish (opens in a new tab)
-
Dockerfile yozishni ham bilishingiz bu qo'llanmada sizga asqotadi — Dockerfile yozish (opens in a new tab)
Docker asosiy buyruqlari
docker version
Bu buyruq Docker'ning o'rnatilgan versiyasini tekshirish uchun ishlatiladi. U Docker Client va Server (Docker daemon) haqidagi versiya ma'lumotlarini ko'rsatadi.
docker versionNatijada quyidagi ma'lumotlar ko'rsatiladi:
- Client va Server versiya raqamlari
- API versiyasi
- Git commit raqami
- Go versiyasi
- Build sanasi va OS (operatsion tizim)
docker info
Bu buyruq Docker daemon haqida batafsil ma'lumot beradi.
docker infoNatijada quyidagi ma'lumotlar ko'rsatiladi:
- Docker versiyasi
- Mavjud container'lar va image'lar soni
- Docker Engine'ning ishlash holati va memory cheklovlari
- Network'lar, volume'lar, storage driver'lar haqida ma'lumot
docker --help
Bu buyruq har qanday Docker buyruqlari uchun yordamchi ma'lumot olish uchun ishlatiladi. Agar qaysidir buyruqning barcha parametr va variantlarini bilishni xohlasangiz, ushbu buyruq yordamida qo'shimcha ma'lumot olasiz.
docker --help
# Muayyan buyruq uchun yordam
docker run --help
docker build --helpImage'lar bilan ishlash
docker images
Bu buyruq hozirgi tizimda mavjud bo'lgan Docker image'lar ro'yxatini ko'rsatadi.
docker imagesNatijada har bir image uchun quyidagi ustunlar ko'rsatiladi:
- REPOSITORY — image nomi
- TAG — versiya tag'i
- IMAGE ID — image'ning unique identifikatori
- CREATED — yaratilgan vaqti
- SIZE — hajmi
# Faqat image ID'larini ko'rish
docker images -q
# Barcha image'lar (oraliq layer'lar bilan)
docker images -a
# Filter bilan
docker images --filter "dangling=true"docker pull
Bu buyruq Docker Hub yoki boshqa registry'dan image yuklab olish uchun ishlatiladi. Tag ko'rsatilmagan bo'lsa, Docker latest tag'li image'ni avtomatik yuklaydi.
docker pull image-nomi:tagNatijada:
- Image layer'larining yuklanishi haqida ma'lumot
- Yuklanish muvaffaqiyatli bo'lsa, tasdiqlovchi xabar
docker search
Docker Hub'dan image qidirish uchun ishlatiladi.
# Image qidirish
docker search nginx
# Faqat official image'lar
docker search --filter is-official=true nginx
# Stars soni bo'yicha filter
docker search --filter stars=100 nginxdocker build
Bu buyruq Dockerfile asosida image yaratish uchun ishlatiladi. Bu buyruq Dockerfile joylashgan directory'ni ko'rsatadi va unga asoslangan yangi image'ni yaratadi.
docker build -t image-nomi:tag .Agar Dockerfile buyruqni ishga tushirayotgan directory'da bo'lmasa, -f flag bilan path beriladi:
docker build -f /path/to/Dockerfile -t image-nomi:tag .Natijada:
- Dockerfile'ni o'qish va har bir layer uchun bajarilish holati
- Image yaratish muvaffaqiyati va identifikatori (sha256)
Foydali flag'lar:
# Build cache'siz yaratish
docker build --no-cache -t image-nomi:tag .
# Build argument berish
docker build --build-arg VERSION=1.0 -t image-nomi:tag .
# Target stage (multi-stage build)
docker build --target builder -t image-nomi:tag .docker tag
Bu buyruq image'ga yangi nom va tag berish uchun ishlatiladi. Bu image'ni klonlamaydi, shunchaki yangi nom (reference) beradi.
docker tag image-nomi yangi-image-nomi# Registry uchun tag berish
docker tag myapp:latest registry.example.com/myapp:v1.0docker rmi
Bu buyruq image'ni tizimdan o'chirish uchun ishlatiladi. Agar image biron container tomonidan ishlatilayotgan bo'lsa, o'chirib bo'lmaydi.
docker rmi image-nomi:tag# Majburiy o'chirish (force)
docker rmi -f image-nomi:tag
# Bir nechta image o'chirish
docker rmi image1:tag image2:tag
# Barcha image'larni o'chirish
docker rmi $(docker images -q)docker save va docker load
docker save — image'ni .tar arxiv fayli sifatida saqlash uchun ishlatiladi.
docker save -o image-file.tar image-nomi:tagBu buyruq ko'pincha internet bo'lmagan (air-gapped) serverlarda image'larni .tar arxiv qilib ko'chirib o'tkazish uchun ishlatiladi.
docker load — oldindan saqlangan .tar faylini qayta Docker image sifatida yuklash uchun ishlatiladi.
docker load -i image-file.tar# Pipe orqali ham ishlatish mumkin
docker save myapp:latest | gzip > myapp.tar.gz
gunzip -c myapp.tar.gz | docker loaddocker history
Bu buyruq image yaratishda ishlatilgan layer'larning tarixini ko'rish imkonini beradi. Har bir layer Dockerfile'ning bir instruksiyasiga mos keladi.
docker history image-nomi:tag# To'liq buyruqlarni ko'rish (truncate qilmasdan)
docker history --no-trunc image-nomi:tagdocker inspect
Bu buyruq image yoki container haqida batafsil texnik ma'lumot olish uchun ishlatiladi. Natija JSON formatida qaytariladi.
docker inspect image-nomi:tag# Muayyan ma'lumotni olish (Go template)
docker inspect --format='{{.Config.ExposedPorts}}' image-nomi
# Image hajmini ko'rish
docker inspect --format='{{.Size}}' image-nomiContainer'lar bilan ishlash
docker ps
Bu buyruq faol holatdagi container'lar ro'yxatini ko'rsatadi.
docker psNatijada siz har bir container uchun ID, IMAGE, COMMAND, CREATED, STATUS, PORTS va NAMES ustunlarini ko'rishingiz mumkin.
Barcha container'larni (faollari va to'xtatilganlari) ko'rsatish uchun -a flag ishlatiladi:
docker ps -aNatijada to'xtatilgan container'lar ham ko'rsatiladi. Bu holatda redis to'xtatilgan container hisoblanadi.
# Faqat container ID'larini ko'rish
docker ps -q
# Oxirgi yaratilgan container
docker ps -l
# Filter bilan
docker ps --filter "status=exited"
docker ps --filter "name=redis"
# Custom format
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"docker run
Bu buyruq yangi container'ni image'dan yaratish va ishga tushirish uchun ishlatiladi. Agar image tizimda mavjud bo'lmasa, default holda avval docker pull orqali Docker Hub'dan yuklanadi.
docker run image-nomi:tagContainer yaratiladi va terminal'ga biriktiriladi.
Detached mode (-d)
Container'ni background'da (detach) ishga tushirish uchun -d flag ishlatiladi — terminal bilan bog'lanmagan holda ishlaydi.
docker run -d image-nomi:tagContainer background'da ishga tushadi va terminal'da container ID'si ko'rsatiladi. docker ps orqali ko'rishingiz mumkin.
Interactive mode (-it)
Interactive rejimda container'ni ishga tushiradi va terminal'ni container'ga biriktiradi. Container ichida console ochiladi.
docker run -it image-nomi /bin/bash
# yoki
docker run -it image-nomi /bin/shContainer ichida interactive sessiya ochiladi, bu orqali container'da buyruqlarni bajarasiz.
Port mapping (-p)
Host portini container portiga ulash:
# host_port:container_port
docker run -d -p 8080:80 nginx
# Bir nechta port
docker run -d -p 8080:80 -p 8443:443 nginx
# Faqat localhost'da ochish
docker run -d -p 127.0.0.1:8080:80 nginx
# Random host port
docker run -d -p 80 nginxVolume mount (-v)
Container'ga volume ulash:
docker run -v volume:/path image-nomiEnvironment variables (-e)
Container ishga tushganda environment variable'lar o'rnatish:
docker run --name mysql-server -e MYSQL_ROOT_PASSWORD=FL20315dl2w132 -d mysql:latest-e MYSQL_ROOT_PASSWORD=FL20315dl2w132 — MySQL root foydalanuvchisi uchun parolni belgilaydi.
# Bir nechta environment variable
docker run -e DB_HOST=localhost -e DB_PORT=5432 image-nomi
# Fayldan environment variable'larni yuklash
docker run --env-file .env image-nomi--env-file flag juda foydali — production'da parol va secret'larni command line'da ko'rsatmaslik uchun .env fayldan yuklash xavfsizroq.
Name (--name)
Container'ga nom berish:
docker run -d --name my-redis redis:latestRestart policy (--restart)
Container to'xtab qolsa nima qilish kerakligini belgilaydi:
docker run -d --restart always image-nomi| Policy | Tavsif |
|---|---|
no | Restart qilmaydi (default) |
on-failure | Faqat xato bilan to'xtasa restart qiladi |
on-failure:5 | Maksimum 5 marta restart qiladi |
always | Har doim restart qiladi (Docker daemon restart bo'lganda ham) |
unless-stopped | always kabi, lekin qo'lda to'xtatilgan bo'lsa restart qilmaydi |
Auto-remove (--rm)
Container to'xtaganda avtomatik o'chiriladi — test va vaqtinchalik ishlar uchun juda foydali:
docker run --rm -it ubuntu:24.04 /bin/bashResource limits
Container uchun CPU va memory cheklash:
docker run -d --cpus 2 --memory 512m --memory-swap 1g image-nomiMurakkab docker run namunalari
sudo docker run -d -p 3000:3000 --name devops-journey --restart always devopsjourneyuz/devops-journey-uz:latestBu buyruq bir nechta parametrlar bilan ishlaydi:
-d— container'ni background'da ishga tushiradi-p 3000:3000— lokal mashinaning 3000-portini container'ning 3000-portiga ulaydi--name devops-journey— container'ga "devops-journey" nomini beradi--restart always— container to'xtab qolsa, avtomatik qayta ishga tushiradidevopsjourneyuz/devops-journey-uz:latest— Docker Hub'dandevops-journey-uz:latestimage'ni yuklab ishga tushiradi
Volume bilan murakkab namuna:
Bu buyruq bir nechta parametrlar bilan ishlaydi:
-d (detach mode)— container'ni background'da ishga tushiradi-p 8081:8081— lokal host'ning 8081 portini container ichidagi 8081 portiga ulaydi. Bu orqali host tizimingizdahttp://localhost:8081manzili orqali container web-interfeysiga kirish mumkin--name nexus— container'ganexusnomini beradi-v /mnt/nexus-data:/nexus-data— host tizimdagi/mnt/nexus-datadirectory'sini container ichidagi/nexus-datadirectory'siga ulaydi. Bu persistent storage'ni ta'minlaydi — container o'chirilganda ham ma'lumotlar saqlanib qoladisonatype/nexus3— Nexus Repository Manager'ning 3-versiyasiga tegishli image
docker stop / docker start / docker restart
docker stop — faol container'ni tartibli to'xtatish uchun ishlatiladi. Container'ga SIGTERM signal yuboriladi va graceful shutdown qiladi.
docker stop container-nomi# Timeout bilan (default 10 soniya)
docker stop -t 30 container-nomi
# Bir nechta container'ni to'xtatish
docker stop container1 container2 container3
# Barcha container'larni to'xtatish
docker stop $(docker ps -q)docker start — to'xtatilgan container'ni qayta ishga tushirish uchun ishlatiladi.
docker start container-nomiNatijada container yana faol holatda ishlay boshlaydi.
docker restart — container'ni qayta ishga tushirish (stop + start) uchun ishlatiladi.
docker restart container-nomiNatijada container to'xtatiladi va darhol qayta ishga tushiriladi.
docker kill
Container'ni darhol majburiy to'xtatish uchun ishlatiladi. Bu buyruq SIGKILL signal yuboradi — container graceful shutdown qilmasdan to'xtaydi.
docker kill container-nomidocker stop vs docker kill farqi:
docker stop—SIGTERMyuboradi, container graceful shutdown qilishi uchun vaqt beradi (default 10s). Agar shu vaqt ichida to'xtamasa,SIGKILLyuboriladidocker kill— darholSIGKILLyuboradi, container majburan to'xtatiladi- Odatda
docker stopishlatiladi.docker killfaqat container javob bermay qolgan holatlarda ishlatiladi
docker rm
To'xtatilgan container'ni tizimdan o'chirish uchun ishlatiladi. Faol container'ni o'chirib bo'lmaydi — avval docker stop yoki docker kill bilan to'xtatish kerak.
docker rm container-nomi# Majburiy o'chirish (ishlayotgan bo'lsa ham)
docker rm -f container-nomi
# Barcha to'xtatilgan container'larni o'chirish
docker rm $(docker ps -aq --filter "status=exited")docker exec
Ishlayotgan container ichiga kirib buyruqlarni bajarish imkonini beradi. Agar container'da bash yo'q bo'lsa, sh ishlatiladi.
docker exec -it container-nomi /bin/bash
# yoki
docker exec -it container-nomi /bin/shNatijada container ichida interactive terminal sessiyasi ochiladi.
# Bitta buyruq bajarish (interactive bo'lmasdan)
docker exec container-nomi ls -la /app
# Root sifatida kirish
docker exec -u root -it container-nomi /bin/bash
# Environment variable bilan
docker exec -e MY_VAR=hello container-nomi env
# Working directory belgilash
docker exec -w /app container-nomi pwddocker logs
Container'ning log'larini ko'rish imkonini beradi. Application ishlamay qolsa yoki debug qilish kerak bo'lsa, bu buyruq juda kerak.
docker logs container-nomiRasmda redis container'i log'lari ko'rsatilgan.
# Real-time log'larni kuzatish (follow)
docker logs -f container-nomi
# Oxirgi N qator
docker logs --tail 100 container-nomi
# Vaqt bo'yicha filter
docker logs --since 2h container-nomi
docker logs --since "2024-01-01T00:00:00" container-nomi
# Timestamp bilan
docker logs -t container-nomi
# Follow + tail kombinatsiyasi
docker logs -f --tail 50 container-nomidocker logs -f — eng ko'p ishlatiladigan variant. Real-time'da container log'larini kuzatish uchun juda foydali. Ctrl+C bilan chiqish mumkin.
docker port
Container'ning port mapping'larini ko'rish uchun:
docker port container-nomiNatijada container'ning qaysi port'lari host'ning qaysi port'lariga ulanganligi ko'rsatiladi.
Volume'lar bilan ishlash
Volume'lar Docker'da container'larga persistent storage imkonini beradi. Volume'lar container'lar o'chirilganda yoki qayta ishga tushirilganda ham ma'lumotlarni saqlab qoladi.
docker volume ls
Tizimda yaratilgan barcha volume'lar ro'yxatini ko'rsatadi.
docker volume lsdocker volume create
Yangi volume yaratish uchun ishlatiladi.
docker volume create volume-nomidocker volume rm
Mavjud volume'ni tizimdan o'chirish uchun ishlatiladi. Agar volume biron container tomonidan ishlatilayotgan bo'lsa, o'chirib bo'lmaydi.
docker volume rm volume-nomidocker volume prune
Foydalanilmayotgan volume'larni o'chiradi. Agar volume biror container tomonidan ishlatilmayotgan bo'lsa, tizimdan olib tashlanadi.
docker volume pruneBarcha volume'larni o'chirish:
docker volume rm $(docker volume ls -q)docker volume inspect
Volume haqida texnik ma'lumotlar — joylashuvi, mountpoint'lari kabi ma'lumotlarni ko'rsatadi.
docker volume inspect volume-nomiVolume'ni container'ga ulash
Named volume
Named volume yaratib container'ga ulash — eng tavsiya etiladigan usul:
docker run -v volume-nomi:/data busyboxBu misolda mysql-volume volume container'dagi /var/lib/mysql directory'siga ulanadi va container'dagi barcha ma'lumotlar volume'da saqlanadi.
Bind mount (Host Path)
Host'dagi directory'ni container'dagi directory'ga ulash uchun bind mount ishlatiladi:
docker run -v /host/path:/container/path image-nomiBu holatda host tizimdagi /mnt/nexus-data directory'si container'dagi /nexus-data directory'siga ulanadi. Bind mount yordamida container va host tizim o'rtasida real-time ma'lumot almashinuvini tashkil qilish mumkin.
Named volume vs Bind mount:
- Named volume — Docker tomonidan boshqariladi, portable, backup qilish oson. Production uchun tavsiya etiladi
- Bind mount — host filesystem'ga to'g'ridan-to'g'ri bog'lanadi, development'da source code mount qilish uchun qulay
- Read-only mount:
-v /host/path:/container/path:ro— container ichidan faqat o'qish mumkin
Docker Network bilan ishlash
Docker network'lari container'lar orasidagi aloqani ta'minlash va izolyatsiyalangan muhitda applicationlarni ishga tushirish uchun ishlatiladi.
Docker Network'ni yaxshi tushunish uchun quyidagi video qo'llanmani ko'rishni tavsiya qilaman — Docker Networking Tutorial (Bridge - None - Host - IPvlan - Macvlan - Overlay) (opens in a new tab)
Docker network driver'lari
| Driver | Tavsif |
|---|---|
bridge | Default network. Bitta host'dagi container'lar o'zaro aloqa qiladi |
host | Container host'ning network'ini to'g'ridan-to'g'ri ishlatadi (port mapping kerak emas) |
none | Network'siz. Container tashqi dunyo bilan aloqa qilmaydi |
overlay | Multi-host network (Docker Swarm). Turli server'lardagi container'lar aloqa qiladi |
macvlan | Container'ga o'zining MAC address beriladi, fizik network'ga to'g'ridan-to'g'ri ulanadi |
docker network ls
Tizimda mavjud bo'lgan barcha network'lar ro'yxatini ko'rsatadi.
docker network lsNatijada network'larning NETWORK ID'si, nomi (NAME), turi (DRIVER) va scope'ini ko'rasiz.
docker network create
Yangi network yaratish uchun ishlatiladi.
docker network create network-nomi# Subnet bilan yaratish
docker network create --subnet=172.20.0.0/16 network-nomi
# Driver belgilash
docker network create --driver overlay network-nomidocker network inspect
Network haqida batafsil texnik ma'lumot beradi — ulangan container'lar ro'yxati va network sozlamalari.
docker network inspect network-nomiNatijada Docker network'ning JSON formatidagi texnik ma'lumotlari, ulangan container'lar va boshqa tafsilotlarni ko'rishingiz mumkin.
docker network connect / disconnect
Container'ni mavjud network'ga ulash:
docker network connect network-nomi container-nomiNatijada redis container'i redis-network network'iga ulanadi. docker network inspect network-nomi orqali tekshirishingiz mumkin.
Container'ni network'dan uzish:
docker network disconnect network-nomi container-nomiNatijada redis container'i redis-network network'idan uziladi.
docker network rm
Foydalanilmayotgan network'ni tizimdan o'chirish uchun ishlatiladi.
docker network rm network-nomiContainer'ni network bilan ishga tushirish
# Muayyan network'da container ishga tushirish
docker run -d --name redis --network my-network redis:latest
# Container'ga static IP berish
docker run -d --name redis --network my-network --ip 172.20.0.10 redis:latestMuhim: Bitta network'dagi container'lar bir-birini container nomi orqali topa oladi (DNS resolution). Masalan, my-network network'ida redis nomli container bor bo'lsa, boshqa container redis:6379 orqali unga ulanishi mumkin.
Docker Compose bilan ishlash
Docker Compose bir nechta service'larni bir vaqtda boshqarish uchun ishlatiladi. Docker Compose yordamida applicationlarning barcha komponentlarini (masalan, web, db, cache) bir joyda boshqarish mumkin.
Docker Compose'ni yaxshi tushunish uchun quyidagi video qo'llanmani ko'rishni tavsiya qilaman — Docker Compose Tutorial for Beginners (Networks - Volumes - Secrets - Postgres - Letsencrypt) (opens in a new tab)
docker compose up
docker-compose.yml fayli asosida barcha service'larni ishga tushiradi. Image'lar yaratilib, container'lar ishga tushiriladi. Bu buyruqni docker-compose.yml fayli bor directory'da ishga tushirish kerak.
docker compose up
# Background'da ishga tushirish
docker compose up -dNatijada docker-compose.yml da yozgan service'laringiz ishga tushganini ko'rishingiz mumkin.
# Faqat muayyan service'ni ishga tushirish
docker compose up -d redis
# Image'larni qayta build qilib ishga tushirish
docker compose up -d --build
# Scale qilish
docker compose up -d --scale web=3docker compose down
Barcha service'larni to'xtatadi va ularning container'larini o'chiradi. Network'lar ham o'chiriladi, lekin volume'lar saqlanib qoladi.
docker compose down# Volume'larni ham o'chirish
docker compose down -v
# Image'larni ham o'chirish
docker compose down --rmi alldocker compose ps
Faol holatdagi barcha service container'larini ko'rsatadi.
docker compose psdocker compose logs
Barcha container'larning log'larini ko'rish imkonini beradi.
docker compose logs# Real-time follow
docker compose logs -f
# Muayyan service log'lari
docker compose logs -f web
# Oxirgi N qator
docker compose logs --tail 50docker compose exec
Muayyan service container'iga kirib buyruqlarni bajarish imkonini beradi.
docker compose exec web /bin/bashdocker compose stop
Barcha service'larni to'xtatish uchun ishlatiladi. Container'lar saqlanadi, lekin service'lar to'xtaydi.
docker compose stopdocker compose build
Service'lar uchun image'larni build qilish:
# Barcha service'larni build qilish
docker compose build
# Muayyan service'ni build qilish
docker compose build web
# Cache'siz build
docker compose build --no-cachedocker compose pull
Registry'dan image'larni yangilash:
docker compose pulldocker compose config
docker-compose.yml faylini validatsiya qilish va yakuniy konfiguratsiyani ko'rish:
docker compose configBu buyruq YAML syntax xatolarini topishda juda foydali.
Docker Registry bilan ishlash
Docker Registry — bu Docker image'larini saqlash, yuklash va ulardan foydalanish uchun mo'ljallangan tizim. Docker Hub eng mashhur public Docker registry hisoblanadi, lekin siz private Docker registry ham o'rnatishingiz mumkin — masalan Harbor, Nexus yoki cloud provider'lar (GCR, ECR, ACR).
docker login
Docker registry'ga kirish uchun ishlatiladi. Login va parol so'raladi.
docker login -u user-namePrivate Container Registry uchun:
docker login registry.example.com -u user-namedocker logout
Docker registry'dan chiqish uchun ishlatiladi.
docker logoutdocker push
Docker image'ni registry'ga yuklash uchun ishlatiladi. Image nomi registry/repository:tag formatida bo'lishi kerak.
docker push registry/repo-name/image-nomi:tagRasmda redis:latest image'ga ismoilovdev/redis-test:latest tag berib Docker Hub'ga push qilish ko'rsatilgan:
Container Registry'ga docker image push qilish:
Docker image'ni push qilganingizdan keyin Container Registry'da paydo bo'lishi kerak — bizning holatda Docker Hub'da:
docker pull (Registry'dan)
Docker registry'dan image yuklab olish uchun ishlatiladi. Tag ko'rsatilmasa, latest tag yuklanadi.
docker pull repo-name/image-nomi:tagDocker Hub'dan pull qilish:
GCR (Google Container Registry) dan pull qilish — registry-manzili/repo-nomi/image-nomi:tag formatida:
Docker tozalash (Clean up)
Docker tizimida foydalanilmayotgan yoki keraksiz resource'larni tozalash uchun bir nechta buyruqlar mavjud. Ular tizimni optimallashtirish va disk joyini bo'shatish uchun ishlatiladi.
docker system prune
Docker tizimida keraksiz bo'lgan barcha resource'larni — to'xtatilgan container'lar, foydalanilmayotgan image'lar va network'larni tozalash uchun ishlatiladi.
docker system prunedocker container prune
To'xtatilgan barcha container'larni tizimdan o'chiradi.
docker container prunedocker volume prune
Foydalanilmayotgan volume'larni o'chirish uchun ishlatiladi.
docker volume prunedocker image prune
Foydalanilmayotgan image'larni tizimdan o'chiradi.
docker image prunedocker network prune
Foydalanilmayotgan network'larni o'chirish uchun ishlatiladi.
docker network prunedocker system prune -af
Barcha keraksiz resource'larni — container'lar, image'lar, volume'lar va network'larni to'liq tozalash uchun:
-a (all)— foydalanilmagan barcha image'larni ham o'chiradi (faqat dangling emas, balki barchasi)-f (force)— tasdiqlash so'rovisiz majburiy bajaradi
docker system prune -afBu buyruq diskdagi bo'sh joyni maksimal darajada bo'shatadi, lekin ishlayotgan container'lar va ularga tegishli resource'larga zarar yetkazmaydi.
Ehtiyot bo'ling! docker system prune -af barcha foydalanilmayotgan image'larni o'chiradi. Agar siz image'larni qayta yuklashni xohlamasangiz, avval docker images bilan tekshirib oling.
Boshqa foydali buyruqlar
docker stats
Container'larning ishlash ko'rsatkichlarini real-time'da ko'rish imkonini beradi — CPU, memory, network va disk I/O.
docker stats# Muayyan container
docker stats container-nomi
# Bir marotaba ko'rish (stream qilmasdan)
docker stats --no-streamdocker top
Container ichida ishlayotgan process'larni ko'rsatadi.
docker top container-nomidocker cp
Container'dan host tizimiga yoki host'dan container'ga fayl va directory'larni copy qilish uchun ishlatiladi.
# Container'dan host'ga
docker cp container-nomi:/app/data /home/user/path
# Host'dan container'ga
docker cp /home/user/file.txt container-nomi:/app/docker rename
Ishlayotgan container'ning nomini o'zgartirish uchun ishlatiladi.
docker rename eski-container-nomi yangi-container-nomidocker pause / docker unpause
docker pause — container'dagi barcha process'larni vaqtincha to'xtatadi. Process'larga SIGSTOP signal yuboriladi — ular memory'da qoladi, lekin CPU ishlatmaydi.
docker pause container-nomidocker unpause — vaqtincha to'xtatilgan container'ni qayta tiklaydi. Process'larga SIGCONT signal yuboriladi.
docker unpause container-nomidocker update
Container ishlayotgan paytda resource limit'larni yangilash uchun ishlatiladi.
docker update --cpus 2 --memory 2g --memory-swap 3g container-nomi# Restart policy yangilash
docker update --restart unless-stopped container-nomidocker system df
Docker resource'lari (image'lar, container'lar, network'lar, volume'lar) tomonidan egallangan disk hajmini ko'rish:
docker system df# Batafsil ma'lumot
docker system df -vdocker diff
Container'da host filesystem'ga nisbatan o'zgargan fayllarni ko'rsatadi:
docker diff container-nomiNatijada:
A— qo'shilgan (Added) faylC— o'zgartirilgan (Changed) faylD— o'chirilgan (Deleted) fayl
docker events
Docker daemon event'larini real-time'da kuzatish:
# Real-time event'lar
docker events
# Vaqt bo'yicha filter
docker events --since 1h
# Container event'lari
docker events --filter type=containerdocker wait
Container to'xtagunicha kutadi va exit code'ni qaytaradi:
docker wait container-nomiBu buyruq CI/CD pipeline'larda yoki script'larda container ishini kutish uchun foydali.
Qo'shimcha
Qo'shimcha resurslar
- Docker rasmiy dokumentatsiya (opens in a new tab)
- Docker CLI reference (opens in a new tab)
- Docker Compose reference (opens in a new tab)
- Dockerga Kirish (opens in a new tab)
- Linux Serverlarga Docker o'rnatish (opens in a new tab)
- Dockerfile yozish (opens in a new tab)
- Docker Compose (opens in a new tab)
Sana: 2024.10.19(2024-yil 19-oktabr)
Oxirgi yangilanish: 2026.02.12(2026-yil 12-fevral)
Muallif: Otabek Ismoilov
| Telegram (opens in a new tab) | GitHub (opens in a new tab) | LinkedIn (opens in a new tab) |
|---|