Docker Compose на Crunchy Postgres и Hasura Graphql Engine - настройки URL базы данных - PullRequest
0 голосов
/ 12 февраля 2019

Если вопрос неясен или недостаточно информации, пожалуйста, дайте мне знать, так как я сделал все возможное, чтобы представить мою проблему из моего понимания ...

Я пытаюсь настроить изображение Crunchy Postgresс Hasura GraphQL Engine я попытался изменить имя хоста в соответствии с тем, что было предложено в документации, но оно никак не связано с моим изображением Crunchy Postgres.

Ссылки на документацию:

https://docs.hasura.io/1.0/graphql/manual/deployment/docker/index.html

https://raw.githubusercontent.com/hasura/graphql-engine/master/install-manifests/docker-compose/docker-compose.yaml

https://hub.docker.com/r/crunchydata/crunchy-postgres/

My Docker-Compose File:

version: '3.5'

services:
  unipgdb:
    image: crunchydata/crunchy-postgres:centos7-11.1-2.3.0
    restart: always
    ports:
      - "5432:5432"
    env_file:
      - ./config/postgres/cpg-env.list
    volumes:
      - unipgdata_volume:/var/lib/postgresql/data
    networks:
      - unicausalapi

  graphql-engine:
    image: hasura/graphql-engine:v1.0.0-alpha37
    ports:
      - "8080:80"
    depends_on:
      - "unipgdb"
    restart: always
    environment:
      HASURA_GRAPHQL_DATABASE_URL: postgres://user:password@postgres:5432/unipgdb
      HASURA_GRAPHQL_ENABLE_CONSOLE: "true" # set to "false" to disable console
      ## uncomment next line to set an access key
      # HASURA_GRAPHQL_ACCESS_KEY: mysecretaccesskey
    networks:
      - unicausalapi

  # For Hasura engine
  caddyhasura:
    build:
      context: .
      dockerfile: caddyhasura-Dockerfile
    depends_on:
      - graphql-engine
    networks:
      - unicausalapi
      - unicausalpublic
      - unicausalnetwork

volumes:
  static_volume:  # <-- declare the static volume
  media_volume:  # <-- declare the media volume
  unipgdata_volume:
      external: true

networks:
   unicausalpublic:
      external: true
   unicausalnetwork:
      external: true
   unicausalapi:
      external: true

В Caddyfile для службы caddyhasura это просто обратный прокси-сервер в контейнереGraphQl-движок, поэтому это не должно повлиять на мою проблему.

Я думаю, что я неправильно настраиваю HASURA_GRAPHQL_DATABASE_URL с именем хоста, потому что я не уверен, что поставить для использования изображения crunchy-postgres: centos7.

Я получаю эту ошибку в Docker Log

hasura error

Как мне настроить это для работы с моим файлом docker-compose с использованием этих изображений?

HASURA_GRAPHQL_DATABASE_URL: postgres://user:password@postgres:5432/unipgdb

Есть мыслина что делать, чтобы попытаться решить мою проблему?Заранее спасибо.

1 Ответ

0 голосов
/ 12 февраля 2019

Поскольку имя контейнера Crunchy Postgres равно unipgdb, имя хоста для контейнера будет таким же.Вместо postgres в качестве имени хоста, вы должны использовать это.

Итак, ваш URL базы данных станет

HASURA_GRAPHQL_DATABASE_URL: postgres://user:password@unipgdb:5432/unipgdb

Если ваше имя пользователя или пароль содержит специальные символы (например, $, #, @ и т. Д.), Убедитесь, что вы URLзакодируйте и используйте их в URL.ref: https://www.degraeve.com/reference/urlencoding.php

Например, если пароль secretPassW$or#, его следует ввести как secretPassW%24or%23

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