跳轉到

故障排查 / 系統啟動緩慢

在無公網環境,或網速較慢時,可能會出現系統啟動緩慢的問題。

由於 DataFlux Func 所用的映象均包含 dataflux-func.com 字首。

因此,在直接使用 docker stack deploy 命令啟動系統時,Docker 會自動向 dataflux-func.com 傳送請求檢查映象。

但由於實際網路並不能連通,因此在啟動每一個服務前,都會 Docker 都會等待,直到檢查映象失敗為止。

鑑於上述原因,在使用 docker stack deploy 命令啟動系統時,需要額外指定 --resolve-image never 引數,禁止 Docker 檢查映象即可。

命令如下:

Bash
1
sudo docker stack deploy dataflux-func -c {安裝目錄}/docker-stack.yaml --resolve-image never

如何復現啟動緩慢的問題?

我們可以在正常環境中人為製造出系統啟動緩慢的問題,並進行對比:

  1. /etc/hosts 中,新增一條錯誤的記錄:255.255.255.1 dataflux-func.com
  2. 使用 ping dataflux-func.com 命令確認域名無法訪問
  3. 分別使用以下命令對比啟動速度:
    • sudo docker stack deploy dataflux-func -c {安裝目錄}/docker-stack.yaml
    • sudo docker stack deploy dataflux-func -c {安裝目錄}/docker-stack.yaml --resolve-image never