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.
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do apt remove -y $pkg; donePag-install ng Docker sa Ubuntu 24.04
Hakbang 1. Idagdag ang repository key at address
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.listHakbang 2. I-install ang Docker Engine at Compose
apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginPagkatapos 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.
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-pluginPag-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.
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 dockerSa 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.
docker run --rm hello-world
docker compose versionKung 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.
usermod -aG docker pangalan_ng_userPagpapatakbo 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.
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 -dBuksan 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.
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.
{
"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.
