首页 > 解决方案 > 如何在通过 docker-compose 文件初始化 grakn 后立即创建 grakn 架构?

问题描述

我通过一个 docker-compose 文件初始化了 grakn 数据库,如下所示:

grakn:
    container_name: grakn
    image: graknlabs/grakn:latest
    networks: 
      - grakn-network
    ports: 
      - "48555:48555"
    volumes:
      - grakndata:/grakn-core-all-linux/server/db
      - ./schema:/schema
    command: [sh, -c, "cd grakn-core-all-linux && ./grakn console --keyspace myopp --file /schema/schema.gql"]

但是,由于 grakn 没有及时启动存储和服务器,因此出现连接错误,因此“命令”中的脚本可以成功执行。有谁知道我该如何解决这个问题?我的目标是让数据库在已经加载的模式“myopp”的情况下启动并运行。

提前致谢 :)

标签: docker-composevaticle-typedb

解决方案


当您添加command服务定义时,图像的现有命令(最初是grakn-docker.sh)被替换。因此,在您尝试加载模式之前,Grakn 并未启动。修复它的一种简单方法是在您的命令中手动启动 Grakn,如下所示: command: [sh, -c, "cd grakn-core-all-linux && ./grakn server start && ./grakn console --keyspace myopp --file /schema/schema.gql"]


推荐阅读