Docker 把一個應用和它需要的一切打包進一個容器,讓它在任何地方都能以同樣的方式執行——這是在 VPS 上自建服務最乾淨的方式。在 Ubuntu 和 Debian 上唯一要注意的是,發行版自備儲存庫中的版本往往比較舊,而且不帶現代的 Compose 外掛。請改用 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 容器會被下載下來,列印一條成功資訊然後退出——這就證明了引擎工作正常。
4.(選填)在不使用 sudo 的情況下執行 Docker
sudo usermod -aG docker $USER
# log out and back in for the group to take effect
只對您信任的使用者這樣做——docker 組的存取權限在這台主機上實際上等同於 root。
一個真實的小容器
docker run -d --restart unless-stopped -p 8080:80 --name web nginx
# visit http://YOUR.SERVER.IP:8080
--restart unless-stopped 正是讓容器在重新啟動後自動恢復的關鍵。
誠實的提醒
- 使用官方儲存庫以獲得較新的版本; 發行版自備的
docker.io套件版本落後,也不帶 Compose 外掛。 - 只開放您發布出去的埠。 容器的
-p 8080:80會暴露 8080 埠——把 Docker 和 UFW 防火牆 搭配使用。 - 根據容器來設定機器規格,而不是根據 Docker 本身——它很輕量。
下一步
裝好 Docker 之後,您幾乎可以自建任何服務。參見 在一個 IP 上自建多個服務,或者具體的 Docker 搭建案例,比如 RustDesk 遠端桌面伺服器 和 Uptime Kuma 監控。要在前面加上網域和 HTTPS,參見 如何設定 nginx 反向代理。
評論
目前還沒有評論。歡迎成為第一位。