РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗dcPgSvHs 5 of 25 menu
◀ ▶

Подключение с хоста в Docker

Подключение с компьютера идёт через второй короткий контейнер и имя host.docker.internal, а не через адрес контейнера. На хосте должен быть открыт номер порта сервера, иначе запрос снаружи не дойдёт до базы.

Сервис db на postgres:18 получает пароль demo и пару портов 5434 снаружи и 5432 внутри:

services: db: image: postgres:18 environment: POSTGRES_PASSWORD: demo ports: - "5434:5432"

Фоновый подъём проекта выполняют так:

docker compose up -d

Отдельная короткая копия того же образа идёт на имя host.docker.internal. Пароль передают переменной PGPASSWORD, запись --add-host и host-gateway указывают на компьютер. Числовой адрес контейнера db здесь не используют:

docker run --rm --add-host=host.docker.internal:host-gateway -e PGPASSWORD=demo postgres:18 psql -h host.docker.internal -p 5434 -U postgres -c "SELECT 1"

Поднимите сервис store с портом 5438 наружу и проверьте короткий запрос с отдельной копии postgres:18 через адрес хоста.

Отметьте, что соединение идёт на опубликованный номер, а не на имя сервиса внутри проекта.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить