Linux serverlarga Docker o'rnatish
Kirish
Docker Engine — bu konteynerlarni yaratish va boshqarish uchun ochiq kodli(open-source) platforma. U ilovalarni barcha dependency'lari bilan birga yengil, portativ konteynerlarga joylab, istalgan serverda bir xil ishlashini ta'minlaydi.
Ushbu qo'llanmada biz Docker Engine'ni rasmiy Docker repository orqali Ubuntu, Debian, Fedora va RHEL operatsion tizimlariga o'rnatamiz. Shuningdek, o'rnatishdan keyingi sozlashlar, yangilash va o'chirib tashlashni ham ko'rib chiqamiz.
Firewall haqida muhim eslatma
Docker konteyner portlarini ochganda, bu portlar ufw yoki firewalld qoidalarini chetlab o'tadi. Ya'ni siz ufw deny 8080 deb yozsangiz ham, Docker orqali ochilgan 8080 port tashqaridan kirish mumkin bo'lib qoladi.
Docker faqat iptables-nft va iptables-legacy bilan mos ishlaydi. nft bilan yaratilgan firewall qoidalari Docker o'rnatilgan tizimda ishlamaydi.
Batafsil: Docker and ufw (opens in a new tab)
Docker Engine o'rnatish
- Ubuntu
- Debian
- Fedora
- RHEL
Ubuntu'ga Docker Engine o'rnatish
OS talablari
Docker Engine'ni o'rnatish uchun quyidagi Ubuntu versiyalarining 64 bitli versiyasi kerak:
- Ubuntu Questing 25.10
- Ubuntu Noble 24.04 (LTS)
- Ubuntu Jammy 22.04 (LTS)
Qo'llab-quvvatlanadigan arxitekturalar: x86_64 (amd64), armhf, arm64, s390x, ppc64le (ppc64el)
Linux Mint kabi Ubuntu-ga asoslangan distributivlarda Docker rasman qo'llab-quvvatlanmaydi (ishlashi mumkin, lekin kafolatlanmaydi).
Eski versiyalarni o'chirish
Docker'ning rasmiy versiyasini o'rnatishdan oldin, tizimda bo'lishi mumkin bo'lgan norasmiy Docker paketlarini olib tashlash kerak — ular ziddiyat keltirib chiqarishi mumkin:
sudo apt remove $(dpkg --get-selections docker.io docker-compose docker-compose-v2 docker-doc podman-docker containerd runc | cut -f1)apt bu paketlarning hech biri o'rnatilmaganligini aytishi mumkin — bu normal holat.
/var/lib/docker/ papkasidagi imagelar, konteynerlar va volumelar Docker o'chirilganda avtomatik o'chirilmaydi.
APT repository orqali o'rnatish
1-> Docker'ning rasmiy GPG kaliti va APT repository'sini qo'shamiz:
# Docker'ning rasmiy GPG kalitini qo'shish
sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# APT source ro'yxatiga Docker repository'ni qo'shish
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt updateBu buyruqlar nima qiladi?
- GPG kalit — yuklab olinadigan paketlar haqiqiy Docker'dan ekanligini tasdiqlaydi
- APT source —
aptpaket menejeriga Docker'ning rasmiy repository manzilini beradi ${UBUNTU_CODENAME:-$VERSION_CODENAME}— tizimingizning kodnomasini avtomatik aniqlaydi (masalan,noble,jammy)
2-> Docker Engine va uning komponentlarini o'rnatamiz:
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -yBu yerda:
docker-ce— Docker Engine (asosiy dvigatel)docker-ce-cli— Docker CLI (buyruq qatori interfeysi)containerd.io— konteyner runtimedocker-buildx-plugin— kengaytirilgan build imkoniyatlaridocker-compose-plugin—docker composebuyrug'i (multi-container ilovalar uchun)
3-> Docker'ni ishga tushiramiz va tekshiramiz:
sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl status docker4-> O'rnatish muvaffaqiyatli bo'lganini tekshiramiz:
sudo docker run hello-worldBu buyruq test image yuklab, konteynerda ishga tushiradi. Ekranda "Hello from Docker!" xabari chiqsa — hammasi to'g'ri ishlayapti.
O'rnatishdan keyingi sozlashlar
Docker o'rnatilgandan keyin bir nechta muhim sozlash qilish kerak.
Root'siz Docker ishlatish
Default holatda Docker faqat root yoki sudo bilan ishlaydi. Oddiy foydalanuvchi sifatida Docker buyruqlarini bajarish uchun, foydalanuvchini docker guruhiga qo'shing:
sudo usermod -aG docker $USERBu o'zgarish kuchga kirishi uchun yangi terminal sessiyasi ochish yoki tizimga qayta kirish kerak. Yoki hoziroq qo'llash uchun:
newgrp dockerKeyin tekshiring — sudo siz ishlashi kerak:
docker run hello-worldDocker o'rnatishni tekshirish
DevOps Journey platformasi imageni ishga tushirib, Docker to'g'ri ishlayotganini tekshirib ko'ring:
docker run -d -p 3000:3000 --name devops-journey --restart=always devopsjourneyuz/devops-journey-uz:latestBrauzerda http://server_ip:3000 ochsangiz, DevOps Journey platformasi ko'rinishi kerak.
Agar sahifa ochilmasa, firewall tekshiring:
ufw (Ubuntu/Debian):
sudo ufw allow 3000
sudo ufw reloadfirewalld (RHEL/Fedora):
sudo firewall-cmd --zone=public --add-port=3000/tcp --permanent
sudo firewall-cmd --reloadSELinux (RHEL/Fedora) — agar enforcing rejimda bo'lsa:
sudo getenforce
# Vaqtincha o'chirish (test uchun):
sudo setenforce 0Docker uchun proxy sozlash
Bu qadamni faqat serveringiz proxy orqali internetga chiqadigan bo'lsagina bajaring.
Agar kompaniyangizda serverlar proxy orqali ishlasa, Docker'ga ham proxy sozlamalarini berish kerak:
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo nano /etc/systemd/system/docker.service.d/http-proxy.confFayl tarkibi:
[Service]
Environment="HTTP_PROXY=http://myproxy:port"
Environment="HTTPS_PROXY=http://myproxy:port"
Environment="NO_PROXY=localhost,127.0.0.1"Qo'llaymiz:
sudo systemctl daemon-reload
sudo systemctl restart dockerTekshirish:
docker info | grep -i proxyDocker Engine'ni yangilash
APT orqali (Ubuntu/Debian)
Agar Docker'ni APT repository orqali o'rnatgan bo'lsangiz, yangilash oddiy:
sudo apt update
sudo apt upgrade docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginDNF orqali (Fedora/RHEL)
sudo dnf upgrade docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginConvenience script orqali
Docker tez o'rnatish uchun skript ham taqdim etadi. Bu faqat test va development muhitlari uchun tavsiya etiladi:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.shProduction muhitda bu skriptdan foydalanmang! U parametrlarni moslash imkonini bermaydi va kutilmagan major version yangilanishlariga olib kelishi mumkin.
Skript nima qilishini oldindan ko'rish uchun:
sudo sh ./get-docker.sh --dry-runPre-release (beta) versiyalarni o'rnatish uchun:
curl -fsSL https://test.docker.com -o test-docker.sh
sudo sh test-docker.shDocker Engine'ni o'chirib tashlash
- Ubuntu/Debian
- Fedora/RHEL
1-> Docker paketlarini o'chiramiz:
sudo apt purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras2-> Imagelar, konteynerlar va volumelarni o'chiramiz:
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd3-> Repository source va GPG kalitini o'chiramiz:
sudo rm /etc/apt/sources.list.d/docker.sources
sudo rm /etc/apt/keyrings/docker.ascQo'shimcha
Foydalanilgan manbalar: docs.docker.com (opens in a new tab)
Sana: 2023.11.19(2023-yil 19-noyabr)
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) |
|---|