我正在尝试访问主机上的flask网页。我尝试了两种不同的方法来使这项工作。但是,对于这两种方法,我都得到can’t establish a connection to the server at localhost:5000
。我尝试从0.0.0.0:5000
,localhost:5000
和127.0.0.1
访问,但是没有任何作用。
直接从web
目录运行。
docker build --tag my-python-app .
docker run --name python-app -p 5000:5000 my-python-app
从docker-compose
目录运行flask-compose-sample
。
docker-compose up --build
目录结构:
flask-compose-sample
- web
- app.py
- Dockerfile
- requirements.txt
- docker-compose.yml
app.py
from flask import Flask
app = Flask(__name__)
@app.route("/")
def index():
return "Welcome to the Data Science Learner!"
if __name__ == "__main__":
app.run(host="0.0.0.0", port=int("5000"), debug=True)
Dockerfile
FROM python:alpine3.7
COPY . /app
WORKDIR /app
RUN pip install -r requirements.txt
EXPOSE 5000
CMD python app.py
requirements.txt
flask==0.10.1
docker-compose.yml
web:
build: ./web
ports:
- "5000:5000"
volumes:
- .:/code
答案 0 :(得分:0)
简单的答案。我在搜索的许多其他帖子中都没有找到这个答案,因此希望它可以对其他人有所帮助。
如果您像我一样使用Docker Quickstart Terminal,则它不使用localhost IP。相反,它具有自己的IP 192.168.99.100
。使用该名称代替localhost
可使一切正常。