我将kartoza 的docker 镜像用于 Geoserver 和 Postgis,并使用提供的 docker-compose.yml 在两个 docker 容器中启动它们:
version: '2.1'
volumes:
geoserver-data:
geo-db-data:
services:
db:
image: kartoza/postgis:12.0
volumes:
- geo-db-data:/var/lib/postgresql
ports:
- "25434:5432"
env_file:
- docker-env/db.env
restart: on-failure
healthcheck:
test: "exit 0"
geoserver:
image: kartoza/geoserver:2.17.0
volumes:
- geoserver-data:/opt/geoserver/data_dir
ports:
- "8600:8080"
restart: on-failure
env_file:
- docker-env/geoserver.env
depends_on:
db:
condition: service_healthy
healthcheck:
test: curl --fail -s http://localhost:8080/ || exit 1
interval: 1m30s
timeout: 10s
retries: 3
Run Code Online (Sandbox Code Playgroud)
引用的 .env 文件是:
数据库环境
POSTGRES_DB=gis,gwc
POSTGRES_USER=docker
POSTGRES_PASS=docker
ALLOW_IP_RANGE=0.0.0.0/0
Run Code Online (Sandbox Code Playgroud)
地理服务器环境
GEOSERVER_DATA_DIR=/opt/geoserver/data_dir
ENABLE_JSONP=true …Run Code Online (Sandbox Code Playgroud)