Задать вопрос
@jenya7771

Почему не работает обращение к локальной БД из Docker?

Настроил все по ответам из данной статьи.
Вот что получилось:
version: "3.7"

services:
  redis:
    container_name: redis
    image: redis:6.2
    restart: always
    volumes:
      - /data
    ports:
      - 6379:6379

  app:
    container_name: app
    restart: always
    image: bot:staging
    env_file: .env
    environment:
      - DB_HOST=host.docker.internal
      - REDIS_HOST=redis
    ports:
      - 3000:3000
    extra_hosts:
      host.docker.internal: host-gateway
    external_links:
      - redis
    depends_on:
      - redis


Так же настроил PG.

Тестирую что PG работает как нужно:
pg_isready -h 172.17.0.1 -p 5432 -U bot  -d bot
res -> 172.17.0.1:5432 - accepting connections


А когда в докере пытаюсь подключится, вот такая ошибка возникает:
Error: connect ETIMEDOUT 172.17.0.1:5432                                   
   at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1142:16) {    
   errno: -110,                                                             
   code: 'ETIMEDOUT',                                                       
   syscall: 'connect',                                                      
   address: '172.17.0.1',                                                   
   port: 5432                                                               
 }
  • Вопрос задан
  • 469 просмотров
Подписаться 1 Сложный 17 комментариев
Пригласить эксперта
Ответы на вопрос 1
Geminix
@Geminix
Фуллстек nuxt, .net разработчик
Если зайти в шелл контейнера с приложением, будет ли пинговаться сервер БД?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы