【发布时间】:2020-11-07 10:43:42
【问题描述】:
我正在尝试将 python 应用程序的数据保存在 redis 中,但是当我停止 docker-compose 文件时,数据被删除,当我再次运行 docker-compose 文件时,它从头开始。我想保存容器的数据,每当它启动时,它都会从容器退出时离开的地方开始。例如,当我退出容器时,它显示Hello World! I have been seen b'6' times.,当我重新启动容器时,它应该从Hello World! I have been seen b'6' times.开始
version: "3.7"
services:
nginx_app:
image: nginx:latest
depends_on:
- flask_app
volumes:
- ./default.conf:/etc/nginx/conf.d/default.conf
ports:
- 8082:80
networks:
- my_project_network
flask_app:
build:
context: .
dockerfile: Dockerfile
expose:
- 5000
depends_on:
- redis_app
networks:
- my_project_network
redis_app:
image: redis:latest
command: redis-server --requirepass 1234
volumes:
- ./redis-vol:/data
expose:
- 6379
networks:
- my_project_network
networks:
my_project_network:
external: true
python 文件:
from flask import Flask
from redis import Redis
app = Flask(__name__)
redis = Redis(host='redis_app', port=6379, password='123a')
@app.route('/')
def hello():
redis.incr('hits')
return 'Hello World! I have been seen %s times.' % redis.get('hits')
if __name__ == "__main__":
app.run(host="0.0.0.0", debug=True)
【问题讨论】:
-
我们可以用数据量来做吗?
标签: python docker redis docker-compose dockerfile