【问题标题】:Dump mongo database running on a docker container转储在 docker 容器上运行的 mongo 数据库
【发布时间】:2020-12-05 08:46:50
【问题描述】:

我有这个 docker-compose.yml 文件,我在其中运行 mongo 容器

version: '3'

services:

  appapi:
    container_name: appapi
    image: strapi/strapi:3.1.3
    environment:
      DATABASE_CLIENT: ${APPAPI_DATABASE_CLIENT}
      DATABASE_HOST: ${APPAPI_DATABASE_HOST}
      DATABASE_PORT: ${APPAPI_DATABASE_PORT}
      DATABASE_NAME: ${APPAPI_DATABASE_NAME}
      DATABASE_USERNAME: ${APPAPI_DATABASE_USERNAME}
      DATABASE_PASSWORD: ${APPAPI_DATABASE_PASSWORD}
    ports:
      - 1337:1337
    volumes:
      - ./app:/srv/app
    depends_on:
      - appmongo

  appmongo:
    container_name: appmongo
    image: mongo:4.4.0
    restart: always
    environment:
      MONGO_INITDB_ROOT_USERNAME: ${APPDB_MONGO_INITDB_ROOT_USERNAME}
      MONGO_INITDB_ROOT_PASSWORD: ${APPDB_MONGO_INITDB_ROOT_PASSWORD}
    ports:
      - "27027:27017"
    volumes:
      - ./data/db:/data/db

我想备份运行转储的数据库

docker run -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=admin --rm mongo mongodump --host mongoapp:27027 --archive --gzip | cat > ./mongodumps/dump_$(date '+%d-%m-%Y_%H-%M-%S').gz

我尝试修改之前的命令,但我无法连接并进行转储,我得到了

2020-08-15T19:27:04.870+0000 失败:无法创建会话:无法连接到服务器:服务器选择错误:服务器选择超时,当前拓扑:{ 类型:单一,服务器:[{ 地址: mongoapp:27027,类型:未知,状态:已连接,平均 RTT:0,最后一个错误:connection() : dial tcp: lookup mongoapp on 192.168.65.1:53: no such host }, ] }

【问题讨论】:

    标签: mongodb docker


    【解决方案1】:

    我能够使用以下命令转储/恢复

    转储

    docker exec defymongo sh -c 'mongodump --archive -u {{mongouser}} -p {{mongopass}}' > ./mongodumps/dump_$(date '+%d-%m-%Y_%H-%M-%S').gz
    

    恢复

    docker exec -i defymongo sh -c 'mongorestore --archive -u {{mongouser}} -p {{mongopass}}' < ./mongodumps/dump_$(date '+%d-%m-%Y_%H-%M-%S').gz
    

    不同的是这里的命令使用sh -c来执行mongorestore并传递带有认证值的参数。

    这不足以备份Strapi。可能Strapi 中的/src/app 文件夹内的一些值也应该备份

    希望这对其他人有帮助

    【讨论】:

      猜你喜欢
      • 2022-01-13
      • 1970-01-01
      • 2019-11-01
      • 2019-07-26
      • 1970-01-01
      • 2021-05-23
      • 1970-01-01
      • 1970-01-01
      • 2019-08-29
      相关资源
      最近更新 更多