[ad_1]
I’ve two containers:
- DOCKERIZED-PYTHON: test python project that use flask and owslib3
- DOCKERIZED-GEOSERVER: Geoserver version from here
I need to read some information from a WMS like layer title or bounding box. I use a JSON file on DOCKERIZED-PYTHON for call a WMS:
{
"url": "https://geoserver.massimilianomoraca.me",
"workspace": "MassimilianoMoraca",
"service_version": "1.3.0",
"layer_name": "edificicasalnuovo",
"layer_type": "vector"
}
When I use this configuration I can see the information related to every layer on my server; this happen both if I start a project in local or inside a container.
But when I try to use DOCKERIZED-GEOSERVER with the JSON below:
{
"url": "http://geoserver",
"workspace": "tiger",
"service_version": "1.3.0",
"layer_name": "poi",
"layer_type": "vector"
}
I see this error:
requests.exceptions.ConnectionError:
HTTPConnectionPool(host=”geoserver”, port=80): Max retries exceeded
with url:
/geoserver/tiger/wms?service=WMS&request=GetCapabilities&version=1.3.0
(Caused by NewConnectionError(‘<urllib3.connection.HTTPConnection
object at 0x7f8fd6c13a60>: Failed to establish a new connection:
[Errno 111] Connection refused’))
Here my docker compose:
version: '3.7'
services:
geoserver:
image: maxdragonheart/geoserver
environment:
GS_VERSION: ${GS_VERSION}
GS_DEMO_DATA: ${GS_DEMO_DATA}
GS_HTTP_PORT: ${GS_HTTP_PORT}
GS_INITIAL_MEMORY: ${GS_INITIAL_MEMORY}
GS_MAXIMUM_MEMORY: ${GS_MAXIMUM_MEMORY}
container_name: dev_geoserver
restart: always
ports:
- ${GS_HTTP_PORT}:8080
volumes:
- geoserver:/opt/tomcat/webapps/geoserver
networks:
- test
python-api:
image: maxdragonheart/${PROJECT_NAME}
build:
context: ./pythonapi
dockerfile: Dockerfile
environment:
PROJECT_NAME: ${PROJECT_NAME}
container_name: dev_pythonapi
restart: always
ports:
- ${PYTHON_API_PORT}:5000
depends_on:
- geoserver
networks:
- test
volumes:
geoserver:
networks:
test:
driver: bridge
Probably there is a mistake with network but this is not clear for me. Someone can explain to me this point?
[ad_2]