not translate host name "postgres" to address: Name does not resolve
а на уровне ос резолвится? обычная питоновская gethostbyname в этом контексте работает?
Не совсем понял) Я пробовал localhost вбить, но говорит, что не поднят postgres. gethostbyname не проверял.
а, я не сразу картинку скачал
типа контейнер с джанго не резолвит контейнер с постгресом?
Всё верно.
links ожидает список строк: https://docs.docker.com/compose/compose-file/compose-file-v2/#links но вообще он тебе здесь не нужен, если ты сети не создаешь, то все сервисы валятся в стандартную сеть твоего приложения и будут доступны по их именам
т.е. линковать постгрес на постгрес тебе нет смысла
Вот в этом и проблема, что недоступны.
Так там же не такой адрес не по мойму типо такого postgres://postgres:q1w2e3w2e3@{env.str('PRODUCT_SERVER_IP')}:5432/hss или на подобие только с localhost
можешь весь .yml опубликовать ?
https://pastebin.com/40y14hRe
по идее контейнеры видят друг друга по хостнеймам по умолчанию, без доп настроек докер-сетей, еще пишут что links это устаревший параметр и надо network юзать.
но я не настоящий програмист)
postgres:postgres -> "postgres:postgres"
Это я знаю. Никогда с этим проблем не было, а тут что-то новенькое.
Ничего не понял) У меня стояло название сервиса "db". Аналогичная проблема.
кавычки во всю строку, если верить спеке на links, то должно быть "ALIAS:SERVICE" а не ALIAS:SERVICE
Зависит от версии docker-compose.
https://docs.docker.com/compose/compose-file/compose-file-v2/#links
Ща проверю и отпишу.
Проблема осталась
давай сначала, если ни линки, ни сети не создавать, то postgres из web не резолвится?
Именно так. Не важно какое я даю имя сервису в композере: "db" или "postgres" - не может зарезолвить.
но они оба успешно запускаются?
Думаю, это не имеет значения. Если бы постгрес не запустился, но при этом работал веб - написало бы, что postgres, возможно, не запущен. Тут что-то с сетью, я полагаю.
Обсуждают сегодня