幾分鐘內啟用自架的 Docker VPS

容器跑在您自己掌控的伺服器上。訂購 Docker VPS,貼上 Docker 官方儲存庫的一段安裝指令,幾分鐘後就能執行第一次 docker compose up。

自架 Docker VPS 能做什麼

一台伺服器,能放多少容器就放多少。應用程式、資料庫、佇列與反向代理並肩執行,各自待在自己的容器裡,帶著各自的相依套件。

用一個檔案啟動整個應用堆疊

在單一 Compose 檔中定義服務、網路與 volume,再用 docker compose up -d 啟動整個堆疊。同一個檔案可以在筆電、測試機與這台 VPS 上執行,團隊之間的環境因此保持一致。

直接取用現成映像檔,不必從零架設

從 Docker Hub 或您的私有 container registry 取用現成映像檔,不必逐一設定每個服務。資料庫、佇列與反向代理都能以預先定義的映像檔啟動,手動設定極少。

更新版本而不遺失資料

把應用程式資料放在具名 volume,而不是容器的可寫入層。Docker 在更新時重建容器,volume 會重新掛載到新的容器上。回滾就是同一道指令搭配前一版的映像檔標籤。

在一台伺服器上執行微服務架構

把相關服務放進自建的 bridge network,讓它們以服務名稱互相連線。只公開需要對外流量的連接埠,資料庫就能維持應用程式可用,而不必監聽公開介面。

重新開機後自動恢復,無須人工介入

設定 unless-stopped 之類的重啟政策,daemon 或 VPS 重新啟動後,Docker 會把容器重新拉起。工作負載自行恢復,不必等人登入伺服器手動啟動。

不用 root 權限執行 Docker

以 rootless mode 讓 daemon 與容器以非 root 使用者身分執行。這能降低 daemon 或 runtime 潛在漏洞的影響,對一台面向網際網路的 VPS 是有用的額外界線。

選擇 Docker VPS 主機代管方案

Docker Engine 本身占用很小,方案請依容器裡執行的內容來挑。我們建議從配備 2 個 CPU 核心和 2 GB RAM 的 Start VPS 開始。若要運行包含資料庫和反向代理的典型 Compose 技術棧,請選擇配備 4 GB RAM 的 Medium VPS。

  • 40 國家
    Linux
    Intel Xeon
    AMD Ryzen

    從$10.19 / 一個月
    使用 is*smart $9.68
    • Xeon 2x2.20 GHz CPU
    • 2 Gb RAM
    • 30GB SSD 硬碟
    • 3 Tb 頻寬
    • IPV4 選購
    • 1Gbps 連接埠
    • Weekly Backup
    • KVM 虛擬化
    • 控制面板
  • 40 國家
    Linux
    Intel Xeon
    AMD Ryzen

    從$21.24 / 一個月
    使用 is*smart $20.18
    • Xeon 3x2.20 GHz CPU
    • 4 Gb RAM
    • 40GB SSD 硬碟
    • Unmetered 頻寬
    • IPV4 選購
    • 1Gbps 連接埠
    • Weekly Backup
    • KVM 虛擬化
    • 控制面板
  • 40 國家
    Linux
    Intel Xeon
    AMD Ryzen

    從$33.99 / 一個月
    使用 is*smart $32.29
    • Xeon 4x2.20 GHz CPU
    • 8 Gb RAM
    • 50GB SSD 硬碟
    • Unmetered 頻寬
    • IPV4 選購
    • 1Gbps 連接埠
    • Weekly Backup
    • KVM 虛擬化
    • 控制面板

提升您的 VPS 伺服器資源

看看如何變更您的 VPS 設定。您可以購買額外的磁碟空間、提升 CPU 效能、增加記憶體,以及利用額外的服務,而無需轉換新方案。

如何在 VPS 上部署 Docker

五個步驟,從乾淨的 Ubuntu VPS 到一套跑在 HTTPS 之後的 Docker 堆疊。

Step 01 — 訂購 VPS 並連線

選擇一台 Ubuntu VPS,據點盡量靠近您的使用者或容器要呼叫的外部 API,然後以 SSH 連線。以下指令都在 root shell 中執行。

ssh root@your-server-ip

若已停用 root 直接登入,請以一般帳號連線後執行 sudo -i。

Step 02 — 安裝 Docker Engine 與 Compose

從 Docker 官方 apt 儲存庫安裝 Docker Engine 與 Compose 外掛:

apt updateapt install ca-certificates curlinstall -m 0755 -d /etc/apt/keyringscurl -fsSL https://download.docker.com/linux/ubuntu/gpg \  -o /etc/apt/keyrings/docker.ascchmod a+r /etc/apt/keyrings/docker.asc tee /etc/apt/sources.list.d/docker.sources <<EOFTypes: debURIs: https://download.docker.com/linux/ubuntuSuites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")Components: stableArchitectures: $(dpkg --print-architecture)Signed-By: /etc/apt/keyrings/docker.ascEOF apt updateapt install docker-ce docker-ce-cli containerd.io \  docker-buildx-plugin docker-compose-pluginsystemctl enable --now dockerdocker run --rm hello-world

Step 03 — 將網域指向 VPS

建立 A 記錄,把應用程式網域指向這台 Docker VPS。Caddy 必須先能正確解析該網域,才能取得 HTTPS 憑證。

Type: AName: appValue: your-server-ip

在伺服器防火牆與供應商控制台中,放行連接埠 80 與 443 的入站 TCP 流量。

Step 04 — 定義 Docker 堆疊

建立專案目錄:

mkdir -p /opt/docker-appcd /opt/docker-app

建立 .env,並把範例值換成一組夠長、可安全放進 URL 的密碼:

POSTGRES_PASSWORD=replace-with-a-long-random-string

建立 Caddyfile:

app.yourdomain.com {    reverse_proxy app:8080}

建立 compose.yaml。把 your-org/your-app:1.4.2 換成您的應用程式所使用的映像檔與版本。舊的 docker-compose.yml 檔名仍然可用。

services:  app:    image: your-org/your-app:1.4.2    restart: unless-stopped    environment:      DATABASE_URL: postgres://app:${POSTGRES_PASSWORD}@db:5432/app    depends_on:      db:        condition: service_healthy   db:    image: postgres:16    restart: unless-stopped    environment:      POSTGRES_DB: app      POSTGRES_USER: app      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}    volumes:      - db-data:/var/lib/postgresql/data    healthcheck:      test: ["CMD-SHELL", "pg_isready -U app -d app"]      interval: 5s      timeout: 5s      retries: 10   caddy:    image: caddy:2    restart: unless-stopped    ports:      - "80:80"      - "443:443"    volumes:      - ./Caddyfile:/etc/caddy/Caddyfile:ro      - caddy-data:/data      - caddy-config:/config volumes:  db-data:  caddy-data:  caddy-config:

只有 Caddy 會在主機上公開連接埠。應用程式與資料庫僅在 Compose 的私有網路內可用。

Step 05 — 啟動堆疊

保護環境檔、啟動容器,並確認狀態:

chmod 600 .envdocker compose up -ddocker compose ps

Caddy 會自動取得並續發 HTTPS 憑證,同時把 HTTP 請求導向 HTTPS。容器重建時,具名 volume 會保留資料庫資料與 Caddy 憑證。

常見問題排除

  • 應用程式在資料庫就緒前就啟動:單純的 depends_on 只保證啟動順序,不保證就緒。請替資料庫加上 health check,並以 condition: service_healthy 建立相依,如上所示。
  • 已公開的連接埠會略過 ufw:Docker 在 nat 表中處理容器流量,早於 ufw 使用的鏈,因此即使 ufw 顯示為關閉,已公開的連接埠仍會回應。只公開代理;綁定到 127.0.0.1 同樣算是公開連接埠,只是限制在 loopback 介面。
  • 部署途中開始拉取失敗:未驗證時,Docker Hub 每 6 小時允許每個 IPv4 位址或 IPv6 /64 子網 100 次拉取,免費 Personal 帳號則是每 6 小時 200 次。若某次部署會拉取大量映像檔,請先在伺服器上執行 docker login。
  • 容器重建後資料不見了:存放在容器可寫入層的資料,會隨著容器被移除而消失。請把需要保留的資料放在具名 volume 或 bind mount。

is*hosting 的基礎設施適合用來執行 Docker

自有硬體

KVM 虛擬化搭配專屬 CPU 與 RAM,節點上的其他租戶不會變成您的容量問題。從第一分鐘就有 root 權限。

40 多個據點

把容器放在它們呼叫的 API 或服務對象附近。每台 VPS 都含 1Gbps 連接埠,Medium 方案起提供不限流量。

運作時間、備份與支援

99.99% 運作時間 SLA、免費每週備份,並可選購每日備份。工程師全天候透過工單回覆。

準備好用 VPS 執行 Docker 了嗎?

挑一台 VPS 伺服器、安裝 Docker,然後啟動您的堆疊。一開始就有 root 權限,每個容器都由您完全掌控。

選擇 Docker VPS

關於自架 Docker VPS 的常見問題

自架 Docker VPS 可以執行什麼?

Docker 容器代管支援大多數以 Linux 容器映像檔發行的軟體,包括資料庫、網頁應用程式、機器人、CI runner,以及自架版的 SaaS 替代方案。部署前請確認映像檔架構、資源需求,以及是否需要特定核心功能。

在 VPS 上安裝 Docker 需要多久?

通常幾分鐘。Docker 就像 Ubuntu 上的其他套件一樣,從官方 apt 儲存庫安裝:加入金鑰與儲存庫、安裝 Docker Engine 與 Compose 外掛,然後啟用服務。上方的安裝指南涵蓋完整流程。

Docker 是免費的嗎?

直接在您的 Linux VPS 上執行的 Docker Engine,是採用 Apache License 2.0 的開源軟體。 Docker Desktop 對個人使用、教育用途、非商業開源專案,以及員工少於 250 人且年營收低於 US$1,000 萬的小型企業免費。 規模更大的組織需要付費訂閱 Docker Desktop。這些 Docker Desktop 條款不適用於直接安裝在 Linux VPS 上的 Docker Engine。

哪一種 VPS 最適合 Docker?

先看堆疊中的容器需要多少資源。小型服務可能在便宜的 Docker 主機代管、1 GB RAM 上就夠用,帶資料庫的應用程式通常需要 2 到 4 GB。建置、佇列與分析型工作負載可能需要 8 GB 以上。請為映像檔、volume 與日誌預留磁碟空間,並選擇能隨堆疊一起擴充的方案。

可以改在 Windows 上執行 Docker 嗎?

Docker Desktop 支援 Windows 10 與 Windows 11 的相容 64 位元版本,需要 8 GB RAM、硬體虛擬化,以及 WSL 2 之類受支援的後端。 它不支援 Windows Server。 若要在 VPS 上執行 Linux 容器,Linux 是更直接的選擇,因為 Docker Engine 不需要 Docker Desktop 的虛擬化層。

你們提供代管的 Docker 主機服務嗎?

訂購含控制台的伺服器時可加購伺服器管理服務。免費的標準管理涵蓋受支援的作業系統、控制台、設定與備份作業。 自訂的 Docker 部署可能需要付費管理或另行確認,而不代管的 VPS 主機服務則讓 Docker daemon 與整個容器堆疊維持在您的掌控之下。

is*hosting 的其他服務

Data Storage

把 Docker volume、資料庫傾印與 compose 檔案的副本存放在伺服器之外。
瀏覽
從 $1.00 /個月

專用伺服器

當單一 VPS 再也跟不上時,把容器密集的堆疊搬到 bare metal。
瀏覽
從 $75.00 /個月