如何解决WSL2 Docker Flask容器未连接
我正在尝试借助Docker在Ubuntu-WSL2中创建一个简单的Web应用程序容器。因此,我建立了容器,创建了my-simple-webapp文件夹,并在该文件夹中创建了Dockerfile和app.py文件;
Dockerfile
FROM ubuntu:16.04
RUN apt-get update && apt-get install -y python python-pip
RUN pip install flask
COPY app.py /opt/
ENTRYPOINT FLASK_APP=/opt/app.py flask run --host=0.0.0.0 --port=8080
app.py
import os
from flask import Flask
app = Flask(__name__)
@app.route("/")
def main():
return "Welcome!"
@app.route('/how are you')
def hello():
return 'I am good,how about you?'
if __name__ == "__main__":
app.run(host="0.0.0.0",port=8080)
当我运行命令docker build ./my-simple-webapp
时,它可以正常工作。但是,当我使用浏览器连接容器时,键入172.17.0.2:8080
,o.o.o.o:8080
或localhost:8080
连接会超时。
资源:https://github.com/mmumshad/simple-webapp-flask
解决方法
如果您只运行docker build...
,则仍然需要使用docker run...
启动容器。
您可以打开docker仪表板(在Windows托盘中)以查看您的容器是否正在实际运行。
,要真正运行您的应用,您需要启动一个容器。首先,建立图片:
docker build -t simple-webapp-flask .
然后使用该映像启动一个容器,并从容器到主机映射8080:8080:
docker run -p 8080:8080 simple-webapp-flask
如果要部署flask应用程序,则需要从以下选项中进行选择: https://flask.palletsprojects.com/en/1.1.x/deploying/
您尝试做的方式只能用于开发目的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。