我有一个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)
非常感谢您的帮助。预先谢谢你