Docker — bu dasturlarni konteynerlarda ishga tushirish uchun foydalaniladigan ochiq kodli platforma. Docker yordamida dasturlarni barcha kerakli kutubxonalar va bog'liqliklar bilan birga qadoqlab, turli muhitlarda bir xil ishlashini ta'minlash mumkin
docker -v
docker info
docker login
docker logout
docker search image_name
docker pull image_name
Docker Container - Bu Docker Image asosida ishlaydigan izolaysiyalangan muhitdir. Har bir kontenyer o'z operatsion tizim kutubxonalari va bo'gliqliklari bilan birga keldi.
- Management command
- Commands
docker container ls -a
- image bu darturimiz filelar
- container image ishlab turgan xolati Yani ishlab turgan image bu CONTAINER
docker container run image_name
docker restart container_id
docker container start container_id
-
docker container stop container_id
-
docker container kill container_id
docker container attach container_id
docker container rm kontainer_id
docker container prune
docker logs container_id
Docker Images - Bu docker containerlarni yaratish uchun ishlatiladigan statik andozalar. Ular dastur va uning barcha bog'liqliklarining o'z ichiga oladi. Docker images Docker HUB yoki boshqa Docker registerlaridan yuklanishi mumkin
docker image run image_name
docker image rmi image_name
docker image prune
docker images
Docker Volumes (Xotira hajmi) - kontaynerda ishlatiladigan malumotlarni saqlash va boshqarish uchun ishlatiladi. Kontaynerlar odatda efemeral (muddati cheklangan) boladi. Yani kontayber ochganda yoki qayta ishga tushurilganda malumotlar yoqoladi. Docker Volumes esa malumotlarni uzoq mudatli saqlash imkonini beradi.
Docker Volumes-ni asosiy maqsadi - Konteynerlarning o'zgaruvchan malumotlarini saqlash va konteynerlar o'rtasida umumiy malumotlarni ulashishdir
Docker Volumes asosiy xususiyatlari
- Persistent Storage (Doimiy xotira)
- Volumes yordamida saqlangan ma'lumotlar konteyner o‘chirilgandan so‘ng ham saqlanadi.
- Konteyner qayta ishga tushirilganda ma'lumotlar o‘z holatida qoladi.
- Data Sharing (Ma'lumot ulashish)
- Bir nechta konteynerlar bir xil volume-ni ulashishi mumkin.
- Bu konteynerlar orasida umumiy ma'lumotlar bilan ishlashni osonlashtiradi.
- Backup and Restore (Zaxira nusxalarini olish va tiklash)
- Volume malumotlarni zaxiralash va qayta tiklashni soddalashtiradi.
- Ma'lumotlar volume-lardan osongina eksport va import qilinishi mumkin.
- Performance (Ishlash tezligi)
- Volumes odatda host tizimida saqlanadi, bu esa yuqori ish tezligini ta'minlaydi.
- Konteyner ichida saqlangan ma'lumotlardan ko‘ra volumes ma'lumotlari tezroq va samaraliroq ishlaydi.
docker volume ls
docker volume create volume_name
docker volume rm volume_name
docker volume prune
Docker tarmog'ida 3 asosiy tarmoq turi mavjud
- Bridge Network (Ko'plik tarmo'gi)
- Bu Docker-da yaratilgan asosiy tarmoq turi
- Ushbu tarmoq turi Default bridge deb ham ataladi.
- Konteynerlar faqat bir xil hostda bo‘lganda bir-biri bilan aloqa qila oladi.
- Host Network (Host tarmo'gi)
- Bu tarmoq turi konteynerlarni Docker host tarmog‘iga bevosita ulaydi.
- u tarmoqda konteynerlar hostning IP-manzilini va portlarini ishlatadi.
- Konteynerlar bir xil hostda joylashgan barcha xizmatlar bilan bevosita aloqa o‘rnatishi mumkin.
- Overlay Network (Overlay tarmog‘i)
- Bu tarmoq turi Docker swarm yoki Docker Enterprise-da foydalaniladi.
- Bir nechta Docker hostlari orasida tarqalgan konteynerlarni ulaydi.
- Bu tarmoq distributed environment (taqsimlangan muhit) uchun juda foydali.
docker network ls
docker network create network_name
docker neteork rm network_name
docker network prune
Docker Compose - Bu bir nechta docker konteynerlarni birgalikda boshqarish uchun ishlatiladigan vosita. Docker Compose yordamida bir nechta xizmatlarni bitta konfiguratsiya fayli yordamida sozlash va ishga tushurish mumkin
docker-compose up
docker-compose down
docker-compose ps