Существует проект qgis, у которого есть слой, подключенный к базе данных и получающий данные из http://localhost: 5432 . Когда проект открывается на рабочем столе Qgis - все работает идеально - вы обновляете данные в postgres (localhost: 5432) - слой обновляется на карте.
Есть сервер QGIS, который запускается внутри docker контейнер. Я помещаю проект в контейнер qgis-server docker (/ etc / qgisserver), но проект не может установить соединение (localhost: 5432) с базой данных в другом контейнере docker.
Я не могу понять, как заставить qgis-сервер внутри контейнера обращаться к его localhost: 5432, но перейти к localhost: 5432 хоста (где доступен postgres из другого контейнера).
Я пытался сделать что-то подобное но не удалось:
services:
app_postgres:
image: kartoza/postgis:latest
container_name: app_postgres
volumes:
- ~/volumes/jhipster/app/postgresql/:/var/lib/postgresql/data/
environment:
- POSTGRES_USER=app
- POSTGRES_PASSWORD=app
- POSTGRES_DBNAME=app
- POSTGRES_MULTIPLE_EXTENSIONS=postgis,hstore,postgis_topology,postgis_raster,pgrouting
ports:
- 5432:5432
qgisserver:
image: camptocamp/qgis-server:latest
volumes:
- ~/qgis/projects:/etc/qgisserver
links:
- app_postgres:db
ports:
- 8380:80
depends_on:
- app_postgres