使用备份dump.rdb启动Redis容器

时间:2019-03-18 20:09:12

标签: docker redis docker-compose dockerfile

我正在尝试部署一个简单的节点-使用docker-compose的redis架构。

我有一个 dump.rdb ,其中包含redis数据的备份,我想启动一个加载了该数据的容器。

我的docker-compose.yml看起来像这样:

version: '3'
  services:
      redis:
        image: redis:alpine
        container_name: "redis"
        ports:
            - "6379:6379"
  server:
    build: ./src
    image: hubName:imageName
    container_name: containerName
    links: 
      - redis
    depends_on:
      - "redis"
    ports:
      - "8443:8443"
    restart: always

我应该包括卷吗?如果我想保留这些Redis数据怎么办?

谢谢:)

1 个答案:

答案 0 :(得分:1)

您可以像这样使用docker-compose.yml:

version: '3'
services:
  redis:
    image: redis:alpine
    container_name: "redis"
    ports:
      - "6379:6379"
    volumes:
      - /data/redis:/data

  server:
    build: ./src
    image: hubName:imageName
    container_name: containerName
    links: 
      - redis
    depends_on:
      - "redis"
    ports:
      - "8443:8443"
    restart: always

让我们将dump.rdb复制到主机上的/ data / redis文件夹,然后启动docker-compose。

关于redis持久性,您必须具有docker卷,并且具有两种用于redis持久性的类型:RDB和AOF

  • RDB:RDB持久性以指定的时间间隔(例如:60秒或至少已更改10000个密钥)执行数据集的时间点快照
  • AOF:记录服务器接收到的每个写操作(例如SET命令),这些操作将在服务器启动时再次播放,以重建原始数据集

更多信息:https://redis.io/topics/persistence

您应该根据关键数据级别决定。在这种情况下,您具有rdb dump,因此可以使用RDB,这是默认选项