Я пытаюсь начать работу с движком 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).
ОК, работает:)