gpt4 book ai didi

python - 保存Docker容器数据

转载 作者:行者123 更新时间:2023-12-02 18:47:13 26 4
gpt4 key购买 nike

我正在尝试在redis中保存python应用程序的数据,但是当我停止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 wahaj123a
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='wahaj123a')
@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)

最佳答案

您需要将卷添加到Redis服务。
我记得,此redis镜像的内部路径是/data。只需将该卷安装在您的docker-compose中即可。
不要忘记将--appendonly yes添加到您的redis命令中。

关于python - 保存Docker容器数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62957140/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com