问题是保持 Redis
数据活动介于 docker-compose up
以及 docker-compose down.
在 docker-compose.yaml
文件波纹管 db
服务用途- postgres_data:/var/lib/postgresql/data/
卷以保持数据活动。我想为你做这样的事 redis
但我找不到可行的解决办法。我实现这一目标的唯一方法是将数据存储在本地存储器中 - ./storage/redis/data:/data.
所有的实验都没有结果。
问题是-是否有可能以某种方式将redis数据存储在 docker-compose down
以及 docker-compose up
在一本书中,它也是在 DB
服务?
抱歉,如果这个问题很幼稚…
谢谢
version: '3.8'
services:
web:
build: .
command: python /code/manage.py runserver 0.0.0.0:8000
env_file:
- ./series/.env
volumes:
- .:/code
ports:
- 8000:8000
depends_on:
- db
- redis
db:
build:
context: .
dockerfile: postgres.dockerfile
restart: always
env_file:
- ./series/.env
environment:
- POSTGRES_DB=postgres
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=1q2w3e
volumes:
- postgres_data:/var/lib/postgresql/data/
ports:
- target: 5432
published: 5433
protocol: tcp
mode: host
redis:
image: redis:alpine
command: redis-server --appendonly yes
ports:
- target: 6379
published: 6380
protocol: tcp
mode: host
volumes:
- ./storage/redis/data:/data
restart: always
environment:
- REDIS_REPLICATION_MODE=master
volumes:
postgres_data:
1条答案
按热度按时间x3naxklr1#
您只需要为redis数据添加一个命名卷
postgres_data
:然后将主机路径更改为命名卷:
如果redis使用主机路径保存数据,那么上面的方法对您有效。我提到这一点是因为您必须配置redis以启用持久存储(请参见redis docker hub页面)https://hub.docker.com/_/redis).
当心,快跑
docker-compose down -v
也会破坏卷。