You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker部署TensorFlow Serving如何获取正确的访问URL?

问题原因及解决方案

你遇到的连接拒绝报错并非URL错误,核心问题出在TensorFlow Serving的监听地址配置上:

从容器日志可以看到REST接口绑定的是localhost:8501,该地址仅允许容器内部进程访问,宿主机或外部网络的请求无法触达,即使配置了端口映射也无法生效。

修复步骤

1. 修改服务配置,让HTTP接口监听所有地址

任选以下一种方式修改即可:

方式1:修改docker-compose配置,覆盖启动命令

给服务添加command字段,显式指定HTTP服务绑定0.0.0.0地址:

tensorflow-servings:
  container_name: tfserving_classifier
  build: ./some_model_dir
  ports:
    - 8501:8501
    # 如需使用gRPC接口可额外添加8500端口映射
    # - 8500:8500
  command: --rest_api_port=8501 --rest_api_address=0.0.0.0 --model_name=model --model_base_path=/models/model

方式2:修改Dockerfile,内置启动参数

在原Dockerfile末尾添加CMD指令:

FROM tensorflow/serving

COPY /model_dir /models/model/
CMD ["--rest_api_port=8501", "--rest_api_address=0.0.0.0", "--model_name=model", "--model_base_path=/models/model"]

2. 获取正确的访问URL

修改配置后重新启动容器,待服务启动完成后:

  • 如果你在宿主机本地调用服务,原URL无需修改,就是http://localhost:8501/v1/models/model/1:predict
  • 如果你在局域网其他设备调用服务,将localhost替换为宿主机的局域网IP即可,示例:http://192.168.3.24:8501/v1/models/model/1:predict

你可以先在宿主机执行curl http://localhost:8501/v1/models/model验证服务可达性,若返回模型状态信息,再运行预测代码即可。

内容的提问来源于stack exchange,提问作者Joseph Adam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 16:06:03