Skip to content
Dokumentatsiya
Linux serverlarga Docker o'rnatish

Linux serverlarga Docker o'rnatish

Ushu qo'llanmada biz offisial(rasmiy) Docker Engineni Linux serverlarga o'rnatishni/konfiguratsiya qilishni va o'chirib tozlalashni ko'rib chiuqamiz. Qo'llanma Ubuntu, Debian, CentOS, RockyLinux/AlmaLinux va RHEL operatsion tizimlari uchun mo'ljallangan.

Ubuntu'ga Docker Engine o'rnatish

Talablar

OS talablari

Docker Engine-ni o'rnatish uchun sizga ushbu Ubuntu versiyalaridan birining 64 bitli versiyasi kerak bo'ladi:

  • Ubuntu Oracular 24.10
  • Ubuntu Noble 24.04 (LTS)
  • Ubuntu Jammy 22.04 (LTS)
  • Ubuntu Focal 20.04 (LTS)

Ubuntu uchun Docker Engine x86_64(yoki amd64), armhf, arm64, s390x va ppc64le (ppc64el) arxitekturalari bilan mos keladi.

Docker Engine-ni yangi host machinega birinchi marta o'rnatishdan oldin Docker repozitoriysini sozlashingiz kerak bo'ladi. Shundan so'ng siz Dockerni repositorydan o'rnatishingiz va yangilashingiz mumkin.

1-> Docker Engine-ni o'rnatishdan oldin har qanday ziddiyatli paketlarni olib tashlashingiz kerak bo'ladi.Sizning Linux distribyutoringiz norasmiy(unofficial) Docker paketlarini taqdim etishi mumkin, ular Docker tomonidan taqdim etilgan rasmiy(official) paketlarga zid kelishi mumkin. Docker Enginening rasmiy versiyasini o'rnatishdan oldin ushbu paketlarni o'chirib tashlashingiz kerak.

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

2-> Repozitoriyani sozlash uchun apt paketi indeksini yangilang va aptga HTTPS orqali repositoriyadan foydalanishga ruxsat berish uchun paketlarni o'rnating:

 sudo apt-get update
 sudo apt-get install ca-certificates curl gnupg -y

3-> Dockerning rasmiy GPG kalitini qo'shing:

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

4-> Repositoriyani sozlash uchun quyidagi buyruqdan foydalaning:

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

5-> apt paketi indeksini yangilaymiz.

sudo apt-get update

6-> Docker Engine, containerd va Docker Compose-ning eng oxirgi latest versiyasini o'rnatamiz.

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-compose -y

7-> Dockerni ishga tushiramiz.

sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl status docker

Docker Engine sozlash

Docker o'rnatilgandan keyin kichik sozlashlar va uni ishlashini test qilib ko'rishimiz kerak bo'ladi.

1-> root usersiz ishlayotganda maummoalrga duch kelayotgan bo'lsangiz.

sudo usermod -aG docker $USER
sudo chmod 666 /var/run/docker.sock
sudo chown $USER:docker /var/run/docker.sock
docker info

Docker user group mavjud, lekin userlarni o'z ichiga olmaydi, shuning uchun siz Docker buyruqlarini bajarish uchun sudo-dan foydalanishingiz kerak. Imtiyozli bo'lmagan foydalanuvchilarga Docker buyruqlarini va boshqa ixtiyoriy konfiguratsiya bosqichlarini bajarishga ruxsat berish uchun yuqoridagi buyruqlarni bajarishingiz kerak.

2-> Docker Engine muvaffaqiyatli o'rnatilganini tekshirish uchun devops-journey-uz docker imageni ishga tushirib tekshirib ko'ramiz.

sudo docker run -d -p 3000:3000 --name devops-journey --restart=always devopsjourneyuz/devops-journey-uz:latest

Bu buyruq devopsjourneyuz:latest imageni yuklaydi va uni containerda ishga tushiradi. Container ishga tushganda, u tasdiqlash xabarini chop etadi va chiqadi. Agar serveringizda 3000 portda DevOps Journey platformasi ishlab turgan bo'lsa, tabriklaymiz siz Docker Engine-ni muvaffaqiyatli o'rnatdingiz va ishga tushirdingiz.

DevOps Journey platformasi 3000 portda ishga tushadi. Agar brauzer orqali 3000 portga kirolmasangiz firewallni va SElinuxni tekshirib ko'ring.

ufw uchun

sudo ufw allow 3000
sudo ufw reload
sudo ufw status

firewalld uchun

sudo firewall-cmd --zone=public --add-port=3000/tcp --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

Agar sizda SElinux bo'lsa uni tekshiring.

sudo getenforce
sudo setenforce 0

3-> Agar sizning kompaniyangizda serverlar faqat proxy orqali ishlaydigan bo'lsa siz docker uchun proxy konfiguratsiya qilishingiz kerak bo'ladi. http-proxy.conf yaratib olamiz.

DIQQAT: Serveringizda proxy ishlatish majburiy bo'lgandagina bu qadamni bajaring bo'lmasa buni o'tkizib yuboring.

sudo mkdir -p /etc/systemd/system/docker.service.d
sudo nano /etc/systemd/system/docker.service.d/http-proxy.conf

http-proxy.confni quyidagicha ko'rinishda bo'ladi.

[Service]
Environment="HTTP_PROXY=http://myproxy:port"
Environment="HTTPS_PROXY=http://myproxy:port"
Environment="NO_PROXY=localhost,127.0.0.1"

damemon reload berib dockerni qayta ishga tushiramiz.

sudo systemctl daemon-reload
sudo systemctl restart docker

Docker Engineni yangilash

Ushbu misol https://get.docker.com/ (opens in a new tab) dan skriptni yuklab oladi va uni Linuxda Dockerning so'nggi latest versiyasini o'rnatish uchun ishga tushiradi:

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

Pre-releaselarni o'rnatish test Beta versiyalar

curl -fsSL https://test.docker.com -o test-docker.sh
sudo sh test-docker.sh

Docker Engineni o'chirib tashlash

1-> Docker Engine, CLI, containerd va Docker Compose paketlarini o'chiri tashlahs uchun

sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras docker-compose

2-> Serveringizdagi imagelar, containerlar, volumelar yoki custom configuratsiya fayllari avtomatik ravishda o'chirilmaydi. Barcha imagelar, containerlar va volumelarni o'chirish uchun:

sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd

3-> Repositoriya source list va keyringlarni o'chirib tashlash uchun.

sudo rm /etc/apt/sources.list.d/docker.list
sudo rm /etc/apt/keyrings/docker.asc

Qo'shimcha

Foydalanilgan manbalar: docs.docker.com (opens in a new tab)

Sana: 2023.11.19(2023-yil 19-noyabr)

Oxirgi yangilanish: 2024.12.26(2024-yil 26-dekabr)

Muallif: Otabek Ismoilov

Telegram (opens in a new tab)Github (opens in a new tab)LinkedIn (opens in a new tab)