在 docker-compose 中使用 bash 命令设置 Rethinkdb

Setting up Rethinkdb with bash command in docker-compose

我是 运行 一个 rethinkdb 和一个 .NET Core App 使用 docker-compose。 有什么办法可以为 rethinkdb 和一些二级索引设置 2 个表? Rethinkdb 可以直接用 bash 命令配置(设置 db,table)吗?

docker-撰写

  version: "3.3"
  services:
      rethink:
        restart: always
        image: rethinkdb:2.3.6
        container_name: rethink0
        ports:   //i want to create a db,a table and a secondary index after set up
          - 8080:8080
        networks:
          - ret-net

      mp:
        build: ./mpserver
        image: mp
        restart: always
        container_name: mp0
        depends_on:
          - rethink
        ports:
          - 8203:8202
        networks:
          - ret-net
  networks:
   ret-net:

您最好的选择是设置 python 驱动程序,然后您可以 运行 命令作为 bash 脚本

sudo pip install rethinkdb
import rethinkdb as r
r.connect('localhost',28015).repl()
r.db_create('test').run()
r.db('test').table_create('myTable').run()

您也可以考虑构建一个包含此驱动程序的 docker 映像,我认为官方映像不包含它。

我无法自信地告诉您如何构建这样的 docker 容器,但基于 this description 它应该是这样的:

FROM library/rethinkdb
apt-get update && 
apt-get install -y python-pip &&
RUN pip install rethinkdb

.. 并且您可以从 docker 容器

内部执行创建命令
docker exec -it <container name> <command>