故障排查 / 系统启动缓慢
在无公网环境,或网速较慢时,可能会出现系统启动缓慢的问题。
由于 DataFlux Func 所用的镜像均包含pubrepo.jiagouyun.com
前缀。
因此,在直接使用docker stack deploy
命令启动系统时,Docker 会自动向pubrepo.jiagouyun.com
发送请求检查镜像。
但由于实际网络并不能连通,因此在启动每一个服务前,都会 Docker 都会等待,直到检查镜像失败为止。
鉴于上述原因,在使用docker stack deploy
命令启动系统时,需要额外指定--resolve-image never
参数,禁止 Docker 检查镜像即可。
命令如下:
Bash | |
---|---|
1 |
|
如何复现启动缓慢的问题?
我们可以在正常环境中人为制造出系统启动缓慢的问题,并进行对比:
- 在
/etc/hosts
中,添加一条错误的记录:255.255.255.1 pubrepo.jiagouyun.com
- 使用
ping pubrepo.jiagouyun.com
命令确认域名无法访问 - 分别使用以下命令对比启动速度:
sudo docker stack deploy dataflux-func -c {安装目录}/docker-stack.yaml
sudo docker stack deploy dataflux-func -c {安装目录}/docker-stack.yaml --resolve-image never