在使用Docker部署Python应用程序时,尤其是像Streamlit这样的Web应用,我们经常会遇到一些网络连接问题。本文将通过一个实例来解释如何解决这些问题,帮助你成功运行并访问你的Streamlit应用。
问题描述
假设我们正在构建一个基本的Q&A chatbot,使用的Python版本是3.10。我们已经编写了一个Dockerfile来创建Docker镜像,内容如下:
FROM python:3.10.14-bookworm WORKDIR /app COPY ./app/requirements.txt . RUN pip3 install -r requirements.txt COPY . . EXPOSE 8080 CMD ["streamlit", "run", "app/app.py", "--server.port", "8080"]使用docker build -t chatbotimg .命令成功构建了镜像。然而,当尝试运行这个镜像时,虽然容器启动了,Streamlit应用也报告运行正常,但访问本地URL(如http://localhost:8080)时,浏览器却报错:
Safari Can't open the page "localhost:8080" because safari Can't connect to the server "localhost".</