## 目录结构 - pgsql-gis/ - pgsql-admin/ - docker-compose.yaml ```shell mkdir pgsql-gis pgsql-admin sudo chown 5050 ./pgsql-admin ``` ## docker-compose.yaml ```yaml version: '3.8' services: # PGSQL pgsql-gis-16: image: postgis/postgis:16-master container_name: pgsql-gis-16 ports: - "35430:5432" # 替换 volumes: - ./pgsql-gis:/var/lib/postgresql/data environment: POSTGRES_USER: # 替换 POSTGRES_PASSWORD: # 替换 POSTGRES_DB: # 替换 POSTGRES_INITDB_ARGS: --encoding=UTF8 restart: on-failure:3 # PG Admin(HTTP) pgsql-admin: image: dpage/pgadmin4:latest # 替换 container_name: pgsql-admin ports: - "18906:80" # 替换 volumes: - ./pgsql-admin:/var/lib/pgadmin environment: PGADMIN_DEFAULT_EMAIL: demo@email.com PGADMIN_DEFAULT_PASSWORD: # 替换 PGADMIN_CONFIG_CHECK_EMAIL_DELIVERABILITY: 'False' restart: on-failure:3 # PG Admin(HTTPS) # pgsql-admin: # image: dpage/pgadmin4:latest # container_name: pgsql-admin # ports: # - "18907:443" # volumes: # - ./pgsql-admin:/var/lib/pgadmin # - ./certs:/certs # environment: # PGADMIN_DEFAULT_EMAIL: demo@email.com # PGADMIN_DEFAULT_PASSWORD: # 替换 # PGADMIN_CONFIG_CHECK_EMAIL_DELIVERABILITY: 'False' # PGADMIN_ENABLE_TLS: 'True' # PGADMIN_SERVER_CERT_FILE: /certs/server.cert # PGADMIN_SERVER_KEY_FILE: /certs/server.key # restart: on-failure:3 ```