【问题标题】:How can I restore a database to a influxdb container如何将数据库还原到 influxdb 容器
【发布时间】:2017-10-28 19:56:43
【问题描述】:

对不起,我的无知。我使用 docker-compose 在 docker 上运行了 influx db,如下所示。

  influxdb:
   image: influxdb:alpine
   ports:
       - 8086:8086
   volumes:
      - ./influxdb/config/influxdb.conf:/etc/influxdb/influxdb.conf:ro
      - ./influxdb/data:/var/lib/influxdb

我需要将数据库的备份从远程服务器恢复到这个 Influxdb 容器。我已经从远程服务器进行了如下备份。

influxd backup -database tech_db /tmp/tech_db

我阅读了文档,但找不到将数据库恢复到 docker 容器的方法。谁能给我一个指示如何做到这一点。

【问题讨论】:

    标签: database influxdb database-restore


    【解决方案1】:

    我也遇到了同样的问题。看起来这是不可能的,因为您无法杀死容器中的 influxd 进程。

    # Restoring a backup requires that influxd is stopped (note that stopping the process kills the container).
    docker stop "$CONTAINER_ID"
    
    # Run the restore command in an ephemeral container.
    # This affects the previously mounted volume mapped to /var/lib/influxdb.
    docker run --rm \
    --entrypoint /bin/bash \
    -v "$INFLUXDIR":/var/lib/influxdb \
    -v "$BACKUPDIR":/backups \
    influxdb:1.3 \
    -c "influxd restore -metadir /var/lib/influxdb/meta -datadir /var/lib/influxdb/data -database foo /backups/foo.backup"
    
    # Start the container just like before, and get the new container ID.
    CONTAINER_ID=$(docker run --rm \
    --detach \
    -v "$INFLUXDIR":/var/lib/influxdb \
    -v "$BACKUPDIR":/backups \
    -p 8086 \
    influxdb:1.3
    )
    

    更多信息是here

    【讨论】:

      猜你喜欢
      • 2021-08-11
      • 1970-01-01
      • 2012-01-23
      • 1970-01-01
      • 1970-01-01
      • 2016-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多