本地主机无法通过Docker容器加载Flask应用

时间:2020-08-25 17:46:58

标签: mongodb docker flask

我有一个flask-mongodb项目,我在其中使用docker-compose创建一个烧瓶应用程序容器,其中mongodb数据作为备份。现在,我可以通过键入localhost:5000在Linux vm浏览器中完美加载我的应用程序,但是在Windows 10中,当我在chrome中键入相同的内容时,我的连接被拒绝了。

我的docker-compose.yml文件:

version: '2'
services:
  mongodb:
    image: mongo
    restart: always
    container_name: mongodb 
    ports:
    - 27017:27017
    volumes:
    - ./mongodb/data:/data/db 
  flask-service:
    build:
      context: ./flask 
    restart: always 
    container_name: flask 
    depends_on: 
      - mongodb
    ports:
      - 5000:5000
    environment: 
      - "MONGO_HOSTNAME=mongodb"

我的DockerFile:

FROM ubuntu:16.04
MAINTAINER user <user@gmailcom>
RUN apt-get update
RUN apt-get install -y python3 python3-pip
RUN apt-get install -y bcrypt  
RUN pip3 install Flask-PyMongo py-bcrypt
RUN mkdir /app
RUN mkdir -p /app/templates
COPY webservice.py /app/webservice.py
ADD templates /app/templates 
EXPOSE 5000
WORKDIR /app
ENTRYPOINT ["python3" , "-u" , "webservice.py" ]

我如何通过烧瓶应用程序连接到mongodb

from pymongo import MongoClient

mongodb_hostname = os.environ.get("MONGO_HOSTNAME","localhost")
client = MongoClient('mongodb://'+mongodb_hostname+':27017/')
db = client['MovieFlixDB']

 #more code ... 
if __name__ == '__main__':
    app.run(debug=True, host='0.0.0.0', port=5000)

非常感谢您的帮助。预先谢谢你

0 个答案:

没有答案