Запуск движка Hasura GraphQL Docker image - PullRequest
2 голосов
/ 17 февраля 2020

Я пытаюсь начать работу с движком Hasura GraphQL , работающим локально на OSX в Docker и подключающимся к существующей базе данных, но у меня возникают проблемы с поиском контейнера или консоли Hasura.

Вот что у меня есть:

docker -v
Docker version 19.03.5, build 633a0ea
docker-compose -v
docker-compose version 1.25.4, build 8d51620a
docker images
hasura/graphql-engine v1.0.0
hasura version
INFO hasura cli version=v1.0.0

Вот мой стартовый скрипт (docker -run. sh), который устанавливает переменные порта и среды для Hasura:

#!/bin/bash
docker run -d -p 8080:8080 \
-e HASURA_GRAPHQL_DATABASE_URL=postgres://someuser:somepassword@host.docker.internal:5432/somedb \
-e HASURA_GRAPHQL_ENABLE_CONSOLE=true \
hasura/graphql-engine:latest

Выполнение ./docker-run.sh возвращает шестнадцатеричную строку из 64 символов, которую я предполагаю в качестве идентификатора контейнера, но я не вижу контейнер при запуске docker ps, и ничего не загружается в http://localhost:8080/console.

Что я пропускаю?

ОБНОВЛЕНИЕ 1

Я вижу контейнер, когда я запускаю docker ps -a - он имеет статус exited(1) (что означает ошибку приложения) ,

Я вижу в журналах:

{"path":"$","error":"pgcrypto extension is required, but the current user doesn’t have permission to create it. Please grant superuser permission, or setup the initial schema via https://docs.hasura.io/1.0/graphql/manual/deployment/postgres-permissions.html","code":"postgres-error"}

Я выполнил инструкции по настройке исходной схемы, но результат выполнения ./docker-run.sh не изменился.

ОБНОВЛЕНИЕ 2

Я не осознавал, что расширение pgcrypto должно быть установлено в указанной базе данных c. Теперь, когда я это сделал, журналы выглядят здоровыми - хотя я все еще не могу получить доступ к консоли, когда я запускаю hasura console.

Вот мой config.yaml :

endpoint: http:localhost:8080

... и полученная ошибка:

FATA[0001] version check: failed to get version from server: failed making version api call: Get http:localhost:8080/v1/version: http: no Host in request URL

Опять же, чего мне не хватает?

ОБНОВЛЕНИЕ 3

Изменен config.yaml ...

endpoint: http://localhost:8080

К сожалению (blu sh).

ОК, работает:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...