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

使用Docker运行MLflow Projects时如何指定Tracking Server?

解决MLflow Run指定Tracking Server的问题

核心问题解析

你用mlflow run localhost:5000报错是因为理解错了命令参数:mlflow run后面跟的是MLflow项目的路径/Git仓库地址,不是Tracking Server的URI!mlflow以为你要拉取localhost上的Git仓库,所以尝试SSH连接22端口,自然被拒绝。

而mlflow run .能运行但不使用指定服务器,是因为你没告诉mlflow要把数据发到哪个Tracking Server,它默认启动了本地临时服务器。

正确操作步骤

1. 确保Tracking Server正常运行

先确认你的容器化MLflow Tracking Server已经启动,并且端口映射正确(比如用docker run -p 5000:5000 mlflow server或者docker-compose配置了端口映射),能通过http://localhost:5000访问UI界面。

2. 运行项目时指定Tracking Server

有两种方式让mlflow知道要把数据发到你的目标服务器:

方法一:用环境变量指定

在WSL终端里先设置环境变量,再运行项目:

# 设置Tracking Server地址
export MLFLOW_TRACKING_URI=http://localhost:5000
# 运行当前目录的MLflow项目
mlflow run .

方法二:命令行参数直接指定

不用设置环境变量,直接在命令里加--tracking-uri参数:

mlflow run . --tracking-uri http://localhost:5000

3. WSL/Docker网络连通性排查(如果还是不行)

如果用了上面的方法还是没数据到Tracking Server,检查网络:

  • WSL内访问Windows的localhost:有时候WSL的localhost映射有问题,你可以在WSL里执行ip addr show eth0找到WSL的IP(比如192.168.1.100),然后把Tracking URI改成http://192.168.1.100:5000
  • Docker容器间的网络:如果你的项目也是用Docker运行的(比如MLproject里指定了docker环境),要确保项目容器和Tracking Server容器在同一个Docker网络里。比如用docker-compose把两者都加入同一个网络,然后用Tracking Server的服务名作为地址,比如http://mlflow-tracking:5000

验证

运行项目后,打开http://localhost:5000的MLflow UI,查看是否有新的Run记录生成,确认数据已经被正确跟踪。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 09:32:51