HELPER VPS

Pag-install ng Docker sa VPS, Ubuntu, Debian, AlmaLinux at Compose

Kapag nag-install mula sa official Docker repository, makukuha mo ang pinakabagong Docker Engine at Compose plugin, at ang mga susunod na update ay tapos na sa isang system update. Sunod sunod naming tinipon ang command kada operating system at ang mga dapat i-set pagkatapos ng install.

Pinakamabilis na paraan: gumawa ng server gamit ang Docker image

Kung gagawa ka ng bagong server, pinakamabilis ang pagpili ng Docker sa listahan ng image. Nagsisimula itong naka-install na ang Docker Engine at Docker Compose sa Ubuntu 24.04 LTS, kaya pagka-login ay mapapatakbo mo agad ang docker compose up. Nasa page na Docker VPS ang paliwanag sa app at inirerekomendang laki.

Kung gusto mong magdagdag ng Docker sa server na ginagamit mo na, o gumamit ng ibang operating system tulad ng Debian at AlmaLinux, ikaw mismo ang mag-install ayon sa pagkakasunod sa ibaba. Lahat ng command ay batay sa pag-login bilang root. Kung karaniwang user ka, idagdag ang sudo sa unahan ng command.

Ang dapat tingnan bago mag-install

Tumatakbo ang Docker sa server kahit anong laki. Para sa personal na proyekto na nagpapatakbo ng ilang container, sapat na ang pinakamaliit na 12GB general plan; para sabay na patakbuhin ang database, web server at cache, mas komportable ang 24GB o higit pa. Kung madalas kang mag-download at mag-build ng image, makakapansin ka ng pagkakaiba sa NVMe VPS na mabilis ang disk.

Kung may lumang Docker package mula sa repository ng operating system, burahin muna ito para hindi maghalo sa official package. Nilalaktawan ang package na hindi naka-install, kaya ligtas itong patakbuhin nang ganito.

Ubuntu, Debian
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do apt remove -y $pkg; done

Pag-install ng Docker sa Ubuntu 24.04

Hakbang 1. Idagdag ang repository key at address

Ubuntu 24.04
apt update
apt install -y ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
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" > /etc/apt/sources.list.d/docker.list

Hakbang 2. I-install ang Docker Engine at Compose

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

Pagkatapos ng install, awtomatikong mag-o-on ang Docker service at mag-o-on din ito kapag nag-restart ang server. Gumagana rin ang parehong command sa Ubuntu 22.04 at 26.04. Awtomatikong binabasa mula sa /etc/os-release ang pangalan ng bersyon sa repository address.

Pag-install ng Docker sa Debian 13

Pareho ang pagkakasunod sa Debian at Ubuntu, ang repository address lang ang nagiging linux/debian. Parehong command din ang gamit sa Debian 12.

Debian 13
apt update
apt install -y ca-certificates curl
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
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/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" > /etc/apt/sources.list.d/docker.list
apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Pag-install ng Docker sa AlmaLinux 10

Ginagamit ng AlmaLinux at Rocky Linux ang RHEL repository ng Docker. Linisin muna ang built-in na Podman para hindi magbanggaan, at saka mag-install. Parehong command din ito sa AlmaLinux 9 at Rocky Linux 9 at 10.

AlmaLinux 10
dnf remove -y podman buildah runc
dnf -y install dnf-plugins-core
dnf config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo
dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
systemctl enable --now docker

Sa unang install, kapag tinanong kung tatanggapin ang signing key ng repository, pindutin ang y. Sa RHEL family, hindi awtomatikong nag-o-on ang service pagkatapos ng install, kaya i-on ito ngayon at sa boot gamit ang systemctl enable --now docker sa huling linya.

Pag-check ng install at unang container

Patakbuhin minsan ang test container gamit ang command sa ibaba. Kapag lumabas ang mensaheng nagsisimula sa Hello from Docker, maayos ang engine, pag-download ng image at pagpapatakbo ng container. Dahil sa --rm, agad nalilinis ang container pagkatapos tumakbo.

Terminal
docker run --rm hello-world
docker compose version

Kung gusto mong gamitin ang Docker bilang karaniwang user, ilagay ang user na iyon sa docker group at mag-login ulit. Kapareho ng root ang karapatan ng docker group, kaya pinagkakatiwalaang user lang ang ilagay.

Terminal
usermod -aG docker pangalan_ng_user

Pagpapatakbo ng serbisyo gamit ang Docker Compose

Ang Compose ay paraan ng pagsulat ng container settings sa iisang YAML file at pagpapatakbo nito sa isang linya. Kahit ilipat o gumawa ng bagong server, maitatayo ulit ang parehong environment basta nandiyan ang parehong file. Halimbawa, ganito ang file na nagpapatakbo ng isang Nginx web server.

Terminal
mkdir -p /opt/web && cd /opt/web
cat > compose.yaml <<'EOF'
services:
  web:
    image: nginx:stable
    ports:
      - "80:80"
    volumes:
      - ./html:/usr/share/nginx/html:ro
    restart: unless-stopped
EOF
docker compose up -d

Buksan ang http://YOUR_SERVER_IP sa browser at lalabas ang Nginx page. Ilagay ang index.html sa html folder at iyon ang lalabas. Sapat na ang apat na command sa ibaba para sa araw araw na gamit.

  • docker compose ps: ipinapakita ang tumatakbong container at port.
  • docker compose logs -f: sinusundan ang log nang real time. Lumabas gamit ang Ctrl+C.
  • docker compose pull && docker compose up -d: kumukuha ng bagong image at pinapalitan ang container ng bagong bersyon.
  • docker compose down: hinihinto at nililinis ang container. Nananatili ang data sa volume.

Kapag isinulat ang restart: unless-stopped, awtomatikong tatakbo ulit ang container kapag nag-restart ang server. Ang container lang na ikaw mismo ang naghinto ang mananatiling nakahinto.

Firewall at setting ng pagbukas ng port

Direktang inilalagay ng Docker sa firewall rule (iptables) ang mga port na binuksan gamit ang ports:. Kaya kahit hindi pinayagan sa ufw, maa-access mula sa labas ang port kapag isinulat sa ports:. Ang database o management panel na hindi kailangang makita sa labas ay mainam na i-bind lang sa 127.0.0.1 tulad sa ibaba para sa loob lang ng server ma-access.

compose.yaml
    ports:
      - "127.0.0.1:5432:5432"

Para sa web service, buksan lang ang port 80 at 443, at hayaang magtawagan ang iba gamit ang service name sa loob ng parehong Compose network para maayos. Para sa basic na firewall ng buong server, sundan ang gabay sa basic na firewall at buksan lang ang SSH, HTTP at HTTPS.

Pamamahala ng log at disk

Kung hindi itatakda, patuloy na maiipon ang container log. Itakda ang local log driver sa /etc/docker/daemon.json tulad sa ibaba para ma-compress ang log at itago lang hanggang sa itinakdang laki. Pagkatapos i-save, patakbuhin ang systemctl restart docker at malalapat ito sa mga susunod na gagawing container.

/etc/docker/daemon.json
{
  "log-driver": "local"
}

Kumakain din ng disk ang hindi ginagamit na image at huminto na container. Tingnan ang gamit sa docker system df, at linisin ang hindi ginagamit na image gamit ang docker image prune -a. Kapag dumami ang data, puwede ring magkabit ng NVMe block disk sa server at gamitin bilang Docker data folder.

Pagprotekta sa data at susunod na hakbang

Puwedeng burahin at gawin ulit ang container anumang oras, pero hindi na magagawa ulit ang data sa volume. Regular na gumawa ng dump file ng database, at protektahan ang buong server gamit ang awtomatikong backup o snapshot para panatag. Nasa gabay sa backup at snapshot ang paraan.

Nasa gabay sa pag-install ng WordPress ang Compose file para patakbuhin ang WordPress gamit ang Docker. Kung gusto mong mag-deploy ng maraming app mula sa screen at awtomatikong magkabit ng HTTPS certificate, subukang gumawa ng server gamit ang Coolify o Dokploy image. Nasa container VPS ang mga laking bagay para sa container lang.

Mga kaugnay na gabay

Mga magandang setting na gawin pagkatapos ng gabay na ito.

Tingnan ang lahat ng gabay