Ubuntu-da Docker necə quraşdırılır
Bu səhifədə
Docker tətbiqləri konteynerlərdə işlədir: hər biri ehtiyac duyduğu hər şeyi özü ilə gətirir, ona görə də noutbukunuzda da, serverdə də eyni cür işləyir. Veb saytlar, verilənlər bazaları, botlar və oyun serverləri bir əmrlə və ya bir Compose faylı ilə işə salına bilər.
Bu bələdçi Docker Engine və Docker Compose-u Docker-in rəsmi repozitoriyasından Ubuntu 24.04 və ya 22.04-ə quraşdırır, sonra real serverdə vacib olan ayarları izah edir: icazələr, loglar və firewall.
Başlamazdan əvvəl
- Dəstəklənən Ubuntu: Docker Ubuntu 26.04, 24.04 və 22.04 LTS-in 64-bit versiyalarını dəstəkləyir. Öz versiyanızı
cat /etc/os-releaseilə yoxlayın. - Konteyner yox, KVM server: Docker-ə öz nüvə (kernel) imkanları lazımdır. İstənilən KVM VPS üzərində işləyir, lakin konteyner əsaslı (OpenVZ və ya LXC) planlarda çox vaxt işləmir.
- Root və ya sudo hüquqlu istifadəçi. Aşağıdakı əmrlər
sudoistifadə edir; root kimi daxil olmusunuzsa, onu buraxa bilərsiniz.
Serverlərdə Ubuntu-nun öz repozitoriyasındakı docker.io paketindən və Snap versiyasından qaçın: yeni versiyalar əvvəlcə Docker-in repozitoriyasına gəlir və Docker-in öz sənədləri də onu istifadə edir.
Docker-ə əsl virtual maşın lazımdır: Ubuntu və tam root girişli HytHost KVM VPS planları aylıq €2.92-dən başlayır.
VPS planlarına baxınAddım 1: Ziddiyyətli paketləri silin
Əgər Docker-i əvvəllər başqa mənbədən quraşdırmısınızsa, əvvəlcə həmin paketləri silin. Yeni serverdə apt sadəcə heç birinin quraşdırılmadığını bildirir:
sudo apt remove $(dpkg --get-selections docker.io docker-compose docker-compose-v2 docker-doc docker-buildx podman-docker containerd runc | cut -f1)
/var/lib/docker/ içindəki image-lər və volume-lar bununla silinmir.
Addım 2: Docker-in repozitoriyasını əlavə edin
Docker-in sənədlərindən götürülmüş bu əmrlər Docker-in imza açarını və Ubuntu versiyanız üçün onun apt repozitoriyasını əlavə edir:
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
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
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt update
Addım 3: Docker və Compose-u quraşdırın
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Bu, Docker Engine-i, komanda sətri alətini, Buildx builder-i və Compose plaginini quraşdırır. İşlədiyini yoxlayın:
sudo docker run hello-world docker compose version
Birinci əmr kiçik test image-i yükləyir və salamlama mesajı çap edir. Ubuntu-da Docker sistem açılanda avtomatik başlayır, ona görə də heç nəyi aktivləşdirməyə ehtiyac yoxdur.
Compose boşluqlu docker compose əmridir. Defisli köhnə docker-compose istifadədən çıxarılmış ilk versiyadır; onu hələ də istifadə edən bələdçilər yeni əmrlə də işləyir.
Addım 4: İcazələr və log rotasiyası
docker-i sudo olmadan işlətmək. İstifadəçinizi docker qrupuna əlavə edin, sonra çıxıb yenidən daxil olun:
sudo usermod -aG docker $USER
Nəzərə alın ki, Docker özü bu qrupun root səviyyəli imtiyazlar verdiyini xəbərdar edir: oradakı hər kəs bütün serveri idarə edə bilər. Yalnız root verəcəyiniz istifadəçiləri əlavə edin.
Log ölçüsünü məhdudlaşdırın. Standart olaraq konteyner logları limitsiz böyüyür və diski doldura bilər. /etc/docker/daemon.json faylını yaradın:
{
"log-driver": "json-file",
"log-opts": { "max-size": "10m", "max-file": "3" }
}
Sonra sudo systemctl restart docker işlədin. Limit dəyişiklikdən sonra yaradılan konteynerlərə tətbiq olunur, ona görə də mövcud olanları yenidən yaradın.
İlk Compose faylı
Compose konteynerlərinizi bir faylda təsvir edir. İçində compose.yaml olan bir qovluq yaradın:
services:
web:
image: nginx:stable
ports:
- "127.0.0.1:8080:80"
restart: unless-stopped
Onu docker compose up -d ilə başladın, docker compose ps ilə yoxlayın və loglarını docker compose logs ilə oxuyun. restart: unless-stopped çökmədən və ya yenidən başlatmadan sonra konteyneri geri qaytarır. Növbəti bölmədə izah edildiyi kimi, port qəsdən 127.0.0.1 ünvanına bağlanıb.
Docker və ufw: firewall tələsi
Bu, demək olar ki, hər kəsin başına gəlir. Port dərc etdikdə, məsələn -p 8080:80, Docker ufw qaydalarından əvvəl tətbiq olunan öz firewall qaydalarını əlavə edir. ufw bağlı desə belə, port internetə açıqdır.
- Portları localhost-a bağlayın, əgər onlar yalnız serverin özünə lazımdırsa, məsələn verilənlər bazası və ya reverse proxy arxasındakı tətbiq üçün:
127.0.0.1:8080:80. - Verilənlər bazası portlarını ümumiyyətlə dərc etməyin; əvəzində konteynerlər bir-birinə Docker şəbəkəsi üzərindən çatsın.
- Mənbə ünvanına görə filtrləmək üçün Docker-in öz qaydalarından əvvəl yoxladığı
DOCKER-USERiptables zəncirinə qaydalar əlavə edin.
Eyni şey Docker-də işləyən oyun serverlərinə də aiddir; baxın: oyun serverləri üçün VPS necə qurulur.
HytHost VPS-də Docker
HytHost VPS planları KVM üzərində işləyir, ona görə də hər VPS-in öz nüvəsi var və Docker məhdudiyyətsiz işləyir. Sifariş zamanı Ubuntu 24.04 və ya 22.04 seçin, SSH ilə qoşulun və yuxarıdakı addımları izləyin. Tam root girişi, SSD yaddaş və DDoS qorunması əldə edirsiniz, konteynerləriniz böyüdükcə isə sonradan daha böyük plana keçə bilərsiniz.
Tez-tez verilən suallar
Docker Ubuntu 26.04, 24.04 və 22.04 LTS-in 64-bit versiyalarını dəstəkləyir. Linux Mint kimi digər Ubuntu əsaslı sistemlər rəsmi olaraq dəstəklənmir.
Production serverdə yox. Docker bildirir ki, bu rahatlıq skripti inkişaf mühitləri üçündür və production üçün tövsiyə olunmur; o, həmçinin yeni əsas versiyaya keçə bilər. Bunun əvəzinə repozitoriya üsulundan istifadə edin.
Defisli docker-compose köhnə, istifadədən çıxarılmış versiyadır. Bu gün Compose docker compose kimi istifadə olunan və docker-compose-plugin paketi ilə quraşdırılan Docker plaginidir.
Docker-in dərc etdiyi portlar ufw-ni keçir. Port lokal qalmalıdırsa, onu 127.0.0.1 ünvanına bağlayın və ya DOCKER-USER zəncirində filtrləyin.
KVM VPS-də bəli. OpenVZ kimi konteyner əsaslı VPS planları çox vaxt Docker işlədə bilmir və ya provayderdən xüsusi ayarlar tələb edir.
Konteynerlərinizi VPS-də işlədin
HytHost KVM VPS planları Docker-i məhdudiyyətsiz, tam root girişi və Ubuntu 24.04 ilə işlədir, aylıq €2.92-dən.
Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hoursBu bələdçi sizə kömək etdi?