2.5 KiB
2.5 KiB
目录结构
- pgsql-gis/
- pgsql-admin/
- docker-compose.yaml
mkdir pgsql-gis pgsql-admin
sudo chown 5050 ./pgsql-admin
docker-compose.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
添加全文索引支持
需要从 git 克隆 zhparser 添加中文分词支持,执行 docker build 命令的目录结构长这样:
- Dockerfile
- zhparser/
git clone https://github.com/amutu/zhparser.git
Dockerfile
FROM postgis/postgis:16-master
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y \
build-essential \
git \
libcurl4-openssl-dev \
libxml2-dev \
wget \
postgresql-server-dev-16 \
&& rm -rf /var/lib/apt/lists/*
RUN pg_config --version
WORKDIR /tmp
RUN wget http://www.xunsearch.com/scws/down/scws-1.2.3.tar.bz2 \
&& tar xjf scws-1.2.3.tar.bz2 \
&& cd scws-1.2.3 \
&& ./configure \
&& make && make install \
&& cd ..
COPY zhparser zhparser
RUN cd zhparser \
&& export PG_CONFIG=$(which pg_config) \
&& echo "Using pg_config: $PG_CONFIG" \
&& make USE_PGXS=1 \
&& make USE_PGXS=1 install \
&& cd ..
RUN rm -rf /tmp/*
WORKDIR /
编译
docker build -t pgsql-gis-fts .