问题是要保持Redis
和docker-compose up
之间的docker-compose down.
数据处于 Activity 状态
在docker-compose.yaml
文件中,以下db
服务使用-postgres_data:/var/lib/postgresql/data/
卷保持数据 Activity 。
我想为redis
服务做这样的事情,但是我找不到可行的解决方案。我设法实现此目标的唯一方法是将数据存储在本地存储中- ./storage/redis/data:/data.
所有使用外部卷的实验均未获得结果。
问题是-是否有可能像在docker-compose down
服务中所做的那样以某种方式将odis数据存储在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:
最佳答案
您只需要在postgres_data
旁边添加Redis数据的命名卷:
volumes:
postgres_data:
redis_data:
然后将主机路径更改为命名卷: redis:
...
volumes:
- redis_data:/data
如果Redis使用主机路径保存了数据,则以上内容将为您工作。我提到这一点是因为您必须配置Redis以启用持久性存储(请参阅Redis Docker Hub页面https://hub.docker.com/_/redis)。当心,运行
docker-compose down -v
也会破坏卷。
关于django - 在Docker容器中上下移动docker-compose之间保持Redis数据事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63906856/