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
- Debian
- CentOS
- RHEL
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.conf
ni 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
- Ubuntu
- Debian
- CentOS
- RHEL
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) |
---|