Cara paling pantas: cipta pelayan dengan imej Docker
Jika mencipta pelayan baharu, memilih Docker dalam senarai imej ialah cara paling pantas. Pelayan bermula dengan Docker Engine dan Docker Compose sudah dipasang di atas Ubuntu 24.04 LTS, jadi sebaik log masuk anda boleh terus menjalankan docker compose up. Pengenalan aplikasi dan saiz yang disyorkan ada di halaman VPS Docker.
Jika ingin menambah Docker pada pelayan yang sudah digunakan, atau menggunakan sistem pengendalian lain seperti Debian dan AlmaLinux, pasang sendiri mengikut urutan di bawah. Semua arahan mengandaikan anda log masuk sebagai root. Jika log masuk sebagai pengguna biasa, tambah sudo di hadapan arahan.
Perkara yang perlu disemak sebelum pemasangan
Docker berjalan pada pelayan saiz apa pun. Untuk projek peribadi yang menjalankan beberapa kontena, pelan umum terkecil 12GB sudah mencukupi; untuk menjalankan pangkalan data, pelayan web dan cache bersama, 24GB atau lebih memberikan anda ruang. Jika anda kerap memuat turun dan membina imej, VPS NVMe dengan cakera pantas akan membuat perbezaan yang ketara.
Jika terdapat pakej Docker lama daripada repositori sistem pengendalian, padam dahulu supaya tidak bercampur dengan pakej rasmi. Pakej yang tidak dipasang akan dilangkau, jadi selamat dijalankan seperti sedia ada.
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do apt remove -y $pkg; donePemasangan Docker pada Ubuntu 24.04
Langkah 1. Tambah kunci dan alamat repositori
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.listLangkah 2. Pasang Docker Engine dan Compose
apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginSelepas pemasangan selesai, perkhidmatan Docker hidup secara automatik dan turut hidup apabila pelayan dimulakan semula. Arahan yang sama juga berfungsi pada Ubuntu 22.04 dan 26.04. Nama versi dalam alamat repositori dibaca secara automatik daripada /etc/os-release.
Pemasangan Docker pada Debian 13
Urutan pada Debian sama dengan Ubuntu, hanya alamat repositori bertukar kepada linux/debian. Pada Debian 12 juga menggunakan arahan yang sama.
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-pluginPemasangan Docker pada AlmaLinux 10
AlmaLinux dan Rocky Linux menggunakan repositori RHEL daripada Docker. Bersihkan dahulu Podman terbina dalam supaya tidak bertembung, kemudian pasang. Arahannya sama juga untuk AlmaLinux 9 serta Rocky Linux 9 dan 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 dockerSemasa pemasangan pertama ditanya sama ada menerima kunci tandatangan repositori, tekan y. Dalam keluarga RHEL, perkhidmatan tidak hidup secara automatik selepas pemasangan, jadi hidupkan sekarang dan semasa but dengan systemctl enable --now docker pada baris terakhir.
Mengesahkan pemasangan dan kontena pertama
Jalankan kontena ujian sekali dengan arahan di bawah. Jika mesej yang bermula dengan Hello from Docker dipaparkan, bermakna enjin, muat turun imej dan pelaksanaan kontena semuanya berfungsi dengan baik. Dengan --rm, kontena terus dibersihkan selepas selesai.
docker run --rm hello-world
docker compose versionJika ingin menggunakan Docker sebagai pengguna biasa, masukkan pengguna itu ke dalam kumpulan docker dan log masuk semula. Kumpulan docker mempunyai hak setara root, jadi masukkan hanya pengguna yang dipercayai.
usermod -aG docker nama_penggunaMenjalankan perkhidmatan dengan Docker Compose
Compose ialah cara menulis tetapan kontena dalam satu fail YAML dan menjalankannya dengan satu baris. Walaupun pelayan dipindahkan atau dicipta baharu, persekitaran yang sama boleh berdiri semula asalkan fail yang sama ada. Contohnya, fail yang menjalankan satu pelayan web Nginx kelihatan seperti ini.
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 -dBuka http://YOUR_SERVER_IP dalam pelayar dan halaman Nginx akan dipaparkan. Letakkan index.html dalam folder html dan fail itu yang akan dipaparkan. Empat arahan di bawah sudah memadai untuk kegunaan harian.
docker compose ps: memaparkan kontena yang sedang berjalan dan port mereka.docker compose logs -f: mengikuti log secara masa nyata. Keluar dengan Ctrl+C.docker compose pull && docker compose up -d: mendapatkan imej baharu dan menukar kontena ke versi baharu.docker compose down: menghentikan dan membersihkan kontena. Data dalam volum kekal tersimpan.
Jika anda menulis restart: unless-stopped, kontena juga berjalan semula secara automatik apabila pelayan dimulakan semula. Hanya kontena yang anda hentikan sendiri kekal berhenti.
Tetapan firewall dan penerbitan port
Docker terus memasukkan port yang diterbitkan dengan ports: ke dalam peraturan firewall (iptables) untuk membukanya. Jadi port yang tidak dibenarkan dalam ufw pun boleh diakses dari luar jika ditulis dalam ports:. Pangkalan data atau panel pengurusan yang tidak perlu dilihat dari luar sebaiknya diikat hanya pada 127.0.0.1 seperti di bawah supaya hanya boleh diakses dari dalam pelayan.
ports:
- "127.0.0.1:5432:5432"Untuk perkhidmatan web, terbitkan hanya port 80 dan 443, dan biarkan yang lain saling memanggil dengan nama perkhidmatan di dalam rangkaian Compose yang sama supaya kemas. Untuk firewall asas seluruh pelayan, ikuti panduan firewall asas dan buka hanya SSH, HTTP dan HTTPS.
Pengurusan log dan cakera
Jika tidak ditetapkan, log kontena akan terus bertambah. Tetapkan pemacu log local dalam /etc/docker/daemon.json seperti di bawah supaya log dimampatkan dan hanya disimpan dalam had saiz tertentu. Selepas disimpan, jalankan systemctl restart docker dan tetapan berkuat kuasa untuk kontena yang dicipta seterusnya.
{
"log-driver": "local"
}Imej yang tidak digunakan dan kontena yang berhenti juga memenuhi cakera. Lihat penggunaan dengan docker system df, kemudian bersihkan imej yang tidak digunakan dengan docker image prune -a. Jika data semakin banyak, anda juga boleh memasang cakera blok NVMe pada pelayan dan menggunakannya sebagai folder data Docker.
Melindungi data dan langkah seterusnya
Kontena boleh dipadam dan dicipta semula bila bila masa, tetapi data dalam volum tidak boleh dicipta semula. Cipta fail dump pangkalan data secara berkala, dan lindungi seluruh pelayan dengan sandaran automatik atau snapshot supaya lebih yakin. Caranya ada dalam panduan sandaran dan snapshot.
Fail Compose untuk menjalankan WordPress dengan Docker ada dalam panduan pemasangan WordPress. Jika ingin deploy banyak aplikasi dari skrin dan memasang sijil HTTPS secara automatik, cuba cipta pelayan dengan imej Coolify atau Dokploy. Saiz yang sesuai khas untuk kontena dirumuskan di VPS kontena.
