使用docker-compose构建的growi的mongo数据库,使用mongodb-awesome-backup工具将其备份到Wasabi上
因为想要做与标题完全一致的事情,所以这只是一个备忘录式的纯粹的笔记。
基本的步骤如下:
https://docs.growi.org/ja/admin-guide/admin-cookbook/mongodb-backup.html
查找link选项中的容器名称
运行docker ps命令来查找mongo的NAMES。本次我们的容器名为growi3_mongo_1,因此应该添加–link growi3_mongo_1:mongo的选项。
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
236373f1aaa4 growi3_hackmd "/usr/local/bin/dock…" 18 hours ago Up 18 hours 0.0.0.0:3100->3000/tcp growi3_hackmd_1
9270ea5af81e growi3_app "/sbin/tini -e 143 -…" 18 hours ago Up 18 hours 0.0.0.0:30000->3000/tcp growi3_app_1
b17a6a0c7a0f growi3_elasticsearch "/usr/local/bin/dock…" 18 hours ago Up 18 hours 9200/tcp, 9300/tcp growi3_elasticsearch_1
abf5b89acace mariadb:10.3 "docker-entrypoint.s…" 18 hours ago Up 18 hours 3306/tcp growi3_mariadb_1
7072563cd83b mongo:3.6 "docker-entrypoint.s…" 18 hours ago Up 18 hours 27017/tcp growi3_mongo_1
查询net选项的网络名称
执行docker network list命令来查找名称。这次的名称是growi3_default,所以应添加–net=growi3_default作为附加选项。
# docker network list
NETWORK ID NAME DRIVER SCOPE
14922bcf2b5c growi3_default bridge local
查询AccessKey和AccessSecret
查找存储桶URL。
这将直接将Bucket的名称作为URL。例如,如果Bucket的名称是hogehoge-bucket,则URL将为s3://hogehoge-bucket/。如果需要创建层级结构,可以在相应位置添加例如”/dir/”。
查找终端URL。
由于mongodb-awesome-backup的默认设置是AWS,因此需要查找Wasabi的endpoint。根据区域选择以下参考链接。本次是ap-northeast-1区域,因此链接为https://s3.ap-northeast-1.wasabisys.com。
启动mongodb-awesome-backup。
请克隆以下存储库:
https://github.com/weseek/mongodb-awesome-backup
# git clone https://github.com/weseek/mongodb-awesome-backup.git
# cd mongodb-awesome-backup
使用Docker run命令时,附加选项。
docker run --rm \
-e AWS_ACCESS_KEY_ID=aaa \
-e AWS_SECRET_ACCESS_KEY=bbb \
-e TARGET_BUCKET_URL=s3://hogehoge-bucket/ \
-e AWSCLI_ENDPOINT_OPT=https://s3.ap-northeast-1.wasabisys.com \
--link growi3_mongo_1:mongo \
--net=growi3_default \
weseek/mongodb-awesome-backup
以上是完整的内容。