首页 > 技术文章 > torodb docker 运行试用

rongfengliang 2018-10-31 09:50 原文

torodb 可以方便的让你迁移到pg,同时使用标准原生的sql 查询

使用官方的docker-compose 进行测试

环境准备

  • docker-compose 文件
wget https://raw.githubusercontent.com/torodb/stampede/master/main/src/main/dist/docker/compose/torodb-stampede-fullstack/docker-compose.yml

里面已经包含了pg mongodb torodb
  • 内容
version: '2'
services:
  torodb-stampede:
    image: torodb/stampede
    links:
      - postgres
      - mongodb
    environment:
      - POSTGRES_PASSWORD
      - TORODB_SETUP=true
      - TORODB_SYNC_SOURCE=mongodb:27017
      - TORODB_BACKEND_HOST=postgres
      - TORODB_BACKEND_PORT=5432
      - TORODB_BACKEND_DATABASE
      - TORODB_BACKEND_USER
      - TORODB_BACKEND_PASSWORD
      - DEBUG
  postgres:
    image: postgres:9.6
    environment:
      - POSTGRES_PASSWORD
    ports:
      - "15432:5432"
  mongodb:
    image: mongo:3.2
    ports:
      - "28017:27017"
    entrypoint:
      - /bin/bash
      - "-c"
      - mongo --nodb --eval '
            var db; 
            while (!db) { 
                try { 
                  db = new Mongo("mongodb:27017").getDB("local"); 
                } catch(ex) {} 
                sleep(3000); 
            }; 
            rs.initiate({_id:"rs1",members:[{_id:0,host:"mongodb:27017"}]});
        ' 1>/dev/null 2>&1 & 
        mongod --replSet rs1
  • 启动
docker-compose up -d

测试使用

  • 添加数据
可以mongodb 使用工具,创建库,以及添加数据
  • 效果


说明

使用起来还是比较方便的,同时组件本身可以进行数据同步的保证,比如组件服务停止了,它可以保证运行之后数据依然是可以进行同步的,
如果和graphql 集成起来就更放方便了,直接就实现了mongodb- grphql api 的转换,很不错的开源工具.
注意目前看到的是对于嵌套对象的处理,是通过多变关联处理的。

参考资料

https://www.torodb.com/stampede/docs/1.0.0/installation/docker/
https://www.torodb.com/

推荐阅读