EQVPS

როგორ დავაყენოთ Docker VPS-ზე

დააყენეთ Docker Engine და Compose plugin Ubuntu-ზე სწორად — Docker-ის ოფიციალური რეპოზიტორიდან, არა მოძველებული დისტრიბუტივის პაკეტიდან — შემდეგ გაუშვით სატესტო კონტეინერი და დააყენეთ ჩატვირთვისას ავტომატური გაშვება. რამდენიმე ბრძანება მუშა კონტეინერების ჰოსტამდე.

Docker აპლიკაციასა და მისთვის საჭირო ყველაფერს კონტეინერში ალაგებს, რომელიც ყველგან ერთნაირად მუშაობს — ეს ყველაზე სუფთა გზაა სერვისების თვითჰოსტინგისთვის VPS-ზე. ერთადერთი გამონაკლისი Ubuntu-სა და Debian-ზე ისაა, რომ დისტრიბუტივის საკუთარ რეპოზიტორიაში ვერსია ხშირად ძველია და მოდის თანამედროვე Compose plugin-ის გარეშე. ამის ნაცვლად დააინსტალირეთ Docker-ის ოფიციალური რეპოზიტორიდან. აი მთელი პროცესი.

1. დააყენეთ Docker-ის ოფიციალური რეპოზიტორია (Ubuntu)

sudo apt update
sudo apt install -y 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

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

2. დააყენეთ Docker Engine და Compose

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

3. დაადასტურეთ, რომ მუშაობს და ჩართულია ჩატვირთვისას

sudo systemctl enable --now docker
sudo docker run --rm hello-world

hello-world კონტეინერი ჩამოიტვირთება, ბეჭდავს წარმატების შეტყობინებას და მთავრდება — ეს ადასტურებს, რომ engine მუშაობს.

4. (სურვილისამებრ) გაუშვით Docker sudo-ს გარეშე

sudo usermod -aG docker $USER
# გამოხვიდეთ და ისევ შედით, რომ ჯგუფის ცვლილება ამოქმედდეს

გააკეთეთ ეს მხოლოდ იმ მომხმარებლისთვის, ვისაც ენდობით — docker ჯგუფის წვდომა ფაქტობრივად root წვდომის ტოლფასია ჰოსტზე.

სწრაფი რეალური კონტეინერი

docker run -d --restart unless-stopped -p 8080:80 --name web nginx
# ეწვიეთ http://YOUR.SERVER.IP:8080

--restart unless-stopped სწორედ ის არის, რაც კონტეინერს გადატვირთვის შემდეგ ავტომატურად აბრუნებს.

გულახდილი გაფრთხილებები

შემდეგი ნაბიჯები

Docker-ის დაყენების შემდეგ თითქმის ყველაფრის თვითჰოსტინგი შეგიძლიათ. იხილეთ რამდენიმე სერვისის თვითჰოსტინგი ერთი IP-ს მიღმა, ან კონკრეტული Docker-ზე აგებული გადაწყვეტილებები, როგორიცაა RustDesk დისტანციური სამუშაო მაგიდის სერვერი და Uptime Kuma მონიტორინგი. დომენისა და HTTPS-ის დასამატებლად იხილეთ როგორ დავაყენოთ nginx reverse proxy.

ხდკ

'apt install docker.io' გამოვიყენო თუ Docker-ის რეპოზიტორია?

მიმდინარე ვერსიისთვის გამოიყენეთ Docker-ის ოფიციალური რეპოზიტორია (ნაბიჯები ქვემოთ). დისტრიბუტივის docker.io პაკეტი მოსახერხებელია, მაგრამ ხშირად ჩამორჩენილია, ხოლო თანამედროვე 'docker compose' plugin მოდის ოფიციალურ პაკეტებთან ერთად. თუ მხოლოდ სწრაფი, ერთჯერადი სერვერი გჭირდებათ, docker.io-იც გამოდგება.

რა განსხვავებაა 'docker compose'-სა და 'docker-compose'-ს შორის?

ძველი 'docker-compose' ცალკე Python ხელსაწყო იყო (დეფისით). ამჟამინდელი ვერსია არის 'docker compose' (გამოტოვებით) — Docker-თან ერთად შეკრული plugin. გამოიყენეთ plugin; დამოუკიდებელი ხელსაწყო მოძველებულია. დააინსტალირეთ docker-compose-plugin, როგორც ნაჩვენებია, და ის მიიღებთ.

როგორ გავუშვა Docker sudo-ს ყოველ ჯერზე აკრეფის გარეშე?

დაამატეთ თქვენი მომხმარებელი docker ჯგუფში: 'sudo usermod -aG docker $USER', შემდეგ გამოხვიდეთ და ისევ შედით. გაითვალისწინეთ, რომ ეს ფაქტობრივად აძლევს root-დონის წვდომას კონტეინერების საშუალებით, ამიტომ გააკეთეთ ეს მხოლოდ საკუთარ სერვერზე ნდობით აღჭურვილი მომხმარებლისთვის.

რამდენი RAM სჭირდება Docker-ს?

Docker თავად მსუბუქია; მნიშვნელოვანია ის კონტეინერები, რომლებსაც უშვებთ. პატარა აპლიკაცია ან ორი კომფორტულად ეტევა 1 GB სერვერზე, ხოლო მძიმე სტეკები (ბაზები, რამდენიმე სერვისი) მეტ რესურსს ითხოვს. შეარჩიეთ VPS დატვირთვის მიხედვით, არა Docker-ის მიხედვით.

გადარჩება თუ არა ჩემი კონტეინერები გადატვირთვას?

მხოლოდ იმ შემთხვევაში, თუ თქვენ თვითონ დაავალებთ. Docker-ის სერვისი ჩატვირთვისას ავტომატურად ირთვება ქვემოთ მოცემული ნაბიჯებით, ხოლო '--restart unless-stopped'-ით (ან Compose-ში იმავე პოლიტიკით) გაშვებული კონტეინერები თავად უბრუნდებიან. restart პოლიტიკის გარეშე კონტეინერი გადატვირთვის შემდეგ გამორთული რჩება.

კომენტარები

ჯერ არ არის კომენტარები. იყავით პირველი.

დატოვეთ კომენტარი

კომენტარები მოდერირდება გამოჩენამდე.