我想使用开发人员脱机空间来使用开发我的数据库hasura

我知道带有标签cli-migrations的容器的存在,但是命令:



在容器外部无法访问。

我对docker-compose.yml的配置是:

version: '3'
services:
  hasura:
    environment:
      - HASURA_GRAPHQL_DATABASE_URL=postgres://[some pass]:[some user]@db:5432/[some db]
      - HASURA_GRAPHQL_ENABLE_CONSOLE=false
    image: hasura/graphql-engine:v1.0.0-rc.1.cli-migrations
    container_name: hasura
    volumes:
      - ./hasura-migrations:/hasura-migrations
    networks:
      - hasura-db
    ports:
      - "8081:8080"
      - "8082:8081"
    restart: always
    command: hasura-cli console --console-port 8081 --no-browser
  db:
    environment:
      - POSTGRES_USER=[some user]
      - POSTGRES_PASSWORD=[some pass]
      - POSTGRES_DB=[some db]
    image: postgres:11.4-alpine
    container_name: db
    restart: always
    networks:
      - hasura-db

networks:
  hasura-db:

在hasura graphql项目中有一个针对此问题的Pull request,但未合并。

我正在寻找此拉取请求的解决方法。

最佳答案

我找到了解决方法!

如果我在机器上安装 hasura cli 并使用



我可以连接到hasura api并在本地运行控制台。

这是我更新的docker-compose.yml

version: '3'
services:
  hasura:
    environment:
      - HASURA_GRAPHQL_DATABASE_URL=postgres://[some pass]:[some user]@db:5432/[some db]
      - HASURA_GRAPHQL_ENABLE_CONSOLE=false
    image: hasura/graphql-engine:v1.0.0-rc.1.cli-migrations
    container_name: hasura
    volumes:
      - ./hasura-migrations:/hasura-migrations
    networks:
      - hasura-db
    ports:
      - "8081:8080"
    restart: always
  db:
    environment:
      - POSTGRES_USER=[some user]
      - POSTGRES_PASSWORD=[some pass]
      - POSTGRES_DB=[some db]
    image: postgres:11.4-alpine
    container_name: db
    restart: always
    networks:
      - hasura-db

networks:
  hasura-db:

07-26 07:05