Как подключить Docker-контейнер к удаленному postgresql - PullRequest
0 голосов
/ 29 октября 2018

Я успешно могу подключить службу servicebot к postgresql, работающему в контейнере docker, но я хочу подключить servicebot к postgresql, работающему в экземпляре, т.е. не внутри контейнера docker.

Я успешно установил postgresql. Я установил переменные окружения, связанные с postgrsql в docker-compose.yml, как показано ниже. Как я могу подключить docker-compose.yml к

докер-compose.yml

version: '2'
services:
  servicebot:
    image: servicebot/servicebot
    environment:
      POSTGRES_DB_PORT : "5432"
      POSTGRES_DB_HOST : "localhost"
      POSTGRES_DB_USER : "servicebot_user"
      POSTGRES_DB_PASSWORD : "servicebot_pass"
      POSTGRES_DB_NAME : "servicebot_user"
      PORT : "3000"
    volumes:
      - upload-data:/usr/src/app/uploads
      - environment-file:/usr/src/app/env
      - db-data:/var/lib/postgresql/data
#    links:
#      - db
    ports:
      - "80:3000"
      - "443:3001"
    command: ["sh", "-c", "node /usr/src/app/bin/wait-for-it.js db 5432  && npm run-script start"]

volumes:
  upload-data:
  environment-file:
  db-data:

Ранее у меня был сервис db для postgresql, и я, как вы можете видеть, подключился к нему с помощью ссылок. Я это прокомментировал.

Я очень новичок в postgresql и не могу найти правильный путь. Я пробовал несколько способов, но ничего не получилось.

Пробовал:

  • Добавление extra_hosts в ip, если экземпляр

  • Добавление host.docker.internal вместо localhost

Журналы ошибок:

вкл. docker logs servicename ничего не показывает. Сервис останавливается через 29 30 секунд.

1 Ответ

0 голосов
/ 29 октября 2018

Ваша проблема POSTGRES_DB_HOST, указывающая на "localhost", так как "localhost" будет контейнером, выполняющим вашу текущую службу.

Если вы хотите подключиться к postgre, работающему на вашем хосте (localhost), я думаю, вы можете использовать это специальное значение host.docker.internal.

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