django - 在Docker容器中上下移动docker-compose之间保持Redis数据事件

标签 django docker redis

问题是要保持Redisdocker-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 upDB之间?
抱歉,问题是否幼稚…
谢谢

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/

相关文章:

Mysql docker 容器在导​​入数据时阻塞(OSX)

ruby - 如何在 websocket eventmachine 中断开 redis 客户端

centos - 我们可以在 docker 容器中创建卷吗

python - 快速检查远程 URL 上的图像是否存在于 python 中

python - 如果它是某个类,我怎么能有条件地只记录一些东西?

django - 如何切换 Django OneToOneField 的方向?

docker - 在Windows Container和Windows Server 2016中安装服务之间的区别?

php - 研究redis

redis - 如何配置 Spinnaker 以使用 ElastiCache redis 集群?

django - 使用 Flask 动态安排 Celery Beat 任务