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

Docker部署Flask情感分析应用时出现“Name or Service not known”错误求助

解决Flask情感分析容器化后"Name or Service not known"错误

核心问题定位

你遇到的错误核心原因是Dockerfile中Flask启动命令的参数格式错误:

CMD ["flask", "run", "--host= 0.0.0.0", "--port=5000"]

--host= 0.0.0.0里=后面多了一个空格,Flask会把带前导空格的 0.0.0.0当作要连接的主机名,尝试解析这个"服务名"时自然会抛出"Name or Service not known"错误。

修复步骤

1. 修正Dockerfile的启动命令

把带空格的参数改成正确格式,两种写法任选其一:

FROM python:3.10.8

COPY requirements.txt .

RUN pip install -r requirements.txt

RUN python -c "import nltk; nltk.download('averaged_perceptron_tagger'); nltk.download('wordnet'); nltk.download('omw-1.4'); nltk.download('stopwords');"

COPY . . 

EXPOSE 5000

# 写法1:去掉=后的空格
CMD ["flask", "run", "--host=0.0.0.0", "--port=5000"]
# 写法2:拆分参数更规范(推荐)
# CMD ["flask", "run", "--host", "0.0.0.0", "--port", "5000"]

2. 额外潜在问题检查

  • 模型文件路径:确保项目根目录下的Models/Sentimenttfpipe文件存在,且COPY . .命令能正确将该目录复制到容器内,避免因模型文件缺失导致的隐式错误。
  • Flask入口明确性:可在Dockerfile中添加ENV FLASK_APP=app.py,明确指定Flask的入口文件,避免因环境变量缺失引发的启动异常。

验证修复

执行以下命令重新构建并启动容器:

docker compose down
docker compose up --build

启动完成后,可通过以下命令测试接口:

curl -X POST -H "Content-Type: application/json" -d '{"text":"I am happy"}' http://localhost:5000/predict

内容的提问来源于stack exchange,提问作者M Bilal Ayaz

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 16:01:02