跳转至

故障排查 / 系统启动缓慢

在无公网环境,或网速较慢时,可能会出现系统启动缓慢的问题。

由于 DataFlux Func 所用的镜像均包含pubrepo.jiagouyun.com前缀。

因此,在直接使用docker stack deploy命令启动系统时,Docker 会自动向pubrepo.jiagouyun.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 pubrepo.jiagouyun.com
  2. 使用ping pubrepo.jiagouyun.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