LLaMa-Factory Docker 部署中的端口映射问题

部署LLaMa-Factory时,若通过llamafactory-cli webui启动的WebUI无法访问,通常与Docker容器端口映射配置有关。以下是常见原因及解决方法:


检查容器端口映射状态

运行以下命令确认容器是否正常映射端口:

docker ps -a

观察PORTS列是否显示类似7860/tcp的条目。若未显示或映射错误,需重新配置端口。


调整端口映射的两种方法

方法1:通过llamafactory-cli命令直接指定端口

llamafactory-cli webui --port 7860 --host 0.0.0.0

此命令会强制将WebUI服务绑定到容器的7860端口,并允许外部访问。

方法2:修改Docker运行命令或Compose文件 若通过docker run启动,添加-p参数:

docker run -p 7860:7860 [其他参数] llamafactory/webui

若使用docker-compose.yml,确保包含以下配置:

ports:
  - "7860:7860"


验证防火墙/安全组设置

  1. 宿主机防火墙需放行端口:
sudo ufw allow 7860

  1. 云服务器需在安全组中添加入站规则,允许TCP 7860端口。

调试容器内部服务

进入容器检查服务是否正常监听:

docker exec -it [容器ID] bash
netstat -tulnp | grep 7860

若未监听,可能是WebUI服务未启动,需检查启动日志:

docker logs [容器ID]


完整示例:从零部署

  1. 拉取最新镜像:
docker pull llamafactory/webui

  1. 运行容器并映射端口:
docker run -d --name llamafactory_webui -p 7860:7860 llamafactory/webui

  1. 验证访问:
curl http://localhost:7860


常见错误处理

  • 端口冲突:更改宿主机端口为未占用端口(如-p 7861:7860)。
  • 权限问题:添加--user root参数或检查/var/run/docker.sock权限。
  • 服务超时:增加--timeout 300参数延长等待时间。
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐