170 похожих чатов

Народ, привет. Запускаю два сервиса в docker-compose - один питонячий

с FastAPI, второй с postgres. Первый запускается сервис с pg, всё ок, запускается на 0.0.0.0:5432, порты проброшены, судя по docker-compose ps. Вторым запускается питоний сервис, стучится на localhost:5432 и... не находит сервис с pg. Оба хоста указаны в .env, две разные записи (host и db_host) и обе равны 0.0.0.0. Так вот, вопрос: как сервису питона увидеть сервис с поднятой базой? Win 10 x64, Python - 3.9-slim-buster, pg - postgres-latest.

8 ответов

17 просмотров

А зачем он на локалхост стучится, надо на постгрес

Alexey-Konev Автор вопроса
Denis Kalinochkin
А зачем он на локалхост стучится, надо на постгрес

Пофиксил, редиректнул оба сервиса на 0.0.0.0 - то же самое. Вот логи: db: 2021-01-14 08:14:35.121 UTC [1] LOG: starting PostgreSQL 13.1 (Debian 13.1-1.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit 2021-01-14 08:14:35.122 UTC [1] LOG: listening on IPv4 address "0.0.0.0", port 5432 2021-01-14 08:14:35.122 UTC [1] LOG: listening on IPv6 address "::", port 5432 2021-01-14 08:14:35.131 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432" 2021-01-14 08:14:35.141 UTC [27] LOG: database system was shut down at 2021-01-14 08:14:34 UTC 2021-01-14 08:14:35.149 UTC [1] LOG: database system is ready to accept connections python: pony.orm.dbapiprovider.OperationalError: could not connect to server: Connection refused Is the server running on host "0.0.0.0" and accepting TCP/IP connections on port 5432?

Alexey Konev
Пофиксил, редиректнул оба сервиса на 0.0.0.0 - то ...

Ну ты либо ставь network=host, либо почитай, как сети в докере работают https://stackoverflow.com/questions/37683508/how-does-service-discovery-work-with-modern-docker-docker-compose

Alexey-Konev Автор вопроса
Denis Kalinochkin
Ну ты либо ставь network=host, либо почитай, как с...

Спасибо за наводку, пойду курить мануалы. Думал, что между всеми сервисами бридж по умолчанию проброшен...

В докер компоузе имя сервиса резолвится в айпишник, по локалхосту не достучиштся

Alexey-Konev Автор вопроса
Проксимов Прксимович
В докер компоузе имя сервиса резолвится в айпишник...

Так-то оно так, но сервис грохается до того, как пытается достучаться по имени сервиса. Поменял - всё то же самое.

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

Обсуждают сегодня

Здравствуйте, хочу сделать HelloWorld в консоли Дельфи, но функция API ничего не выводит, что я делаю не так? program Hello; {$APPTYPE CONSOLE} uses System.SysUtils, WinAPI.Wi...
Sergey Vinogradov
20
лучше скажите, причём тут паскаль?
Alexey Kulakov
32
Вопрос на перед, на следующую пятницу. Сколько строк кода можно вешать на одного программиста, понятно что если проект хорошо написан то можно и миллион. Но есть же где то пре...
AlekseyK Kluchnikov
31
Немного оффтопа: а кто на чем сидит для осдева в плане ide/редактора? Последнее время сидел на vscode, но я его прям не могу нормально воспринимать, перешел на сlion, но меня...
Evg Resh
29
#include <stdio.h> #include <stdlib.h> #include <time.h> int** generate_table(int size_matrix) { int** matrix = (int**)malloc(size_matrix * sizeof(int*)); for (int i ...
Чувак
1
@PerlBanjoBot use v5.38; sub split_on_cond($arr, $cond) { ($a, $b) = ([], []); push @{ $cond->($_) ? $a : $b }, $_ for @$arr; ($a, $b) } use Data::Dumper; warn Dumpe...
Sergei Zhmylove
10
Всем привет! как узнать, что текст в TSkLabel был выведен сокращенным ? Есть функция для TLabel которая позволяет определить , что текст выведен сокращенным function TFrmMai...
DELPHI SOLUTIONS
6
Вот объясните, как это работает: Вот есть допустим unix-подобная система, и программа запускает допустим printf или fork, как это передается ядру, и как оно обрабатывать начин...
Егор
14
Дебил? Я ищу друга
Bitard 228
27
У меня это всегда вопрос вызывало.. Нафига писать код так, чтобы потом ошибки вылавливать?
Nik
44
Карта сайта