docker 离线安装postgresql + postgis + pgrouting
要在没有互联网连接的环境中离线安装Docker容器中的PostgreSQL、PostGIS和PgRouting,你需要提前下载所需的Docker镜像并在离线环境中加载它们。以下是步骤和示例:
- 在有互联网连接的机器上,下载PostgreSQL、PostGIS和PgRouting的Docker镜像:
docker pull postgis/postgis:latest
docker pull pgrouting/pgrouting:latest
- 保存这些镜像为tar文件,以便离线传输:
docker save postgis/postgis:latest > postgis.tar
docker save pgrouting/pgrouting:latest > pgrouting.tar
- 将这些tar文件传输到离线的Docker环境中的机器上。
- 在离线机器上加载这些镜像:
docker load < postgis.tar
docker load < pgrouting.tar
- 运行PostgreSQL容器并安装PostGIS和PgRouting:
docker run --name my-postgis-container -e POSTGRES_PASSWORD=mysecretpassword -d postgis/postgis
docker exec -it my-postgis-container psql -U postgres
在psql提示符下,执行以下命令来创建PostGIS扩展:
CREATE EXTENSION postgis;
然后退出psql:
\q
接下来,运行PgRouting容器来安装PgRouting扩展:
docker run --name my-pgrouting-container --link my-postgis-container:postgres -d pgrouting/pgrouting psql -U postgres -d gis_osm_demo -f /usr/share/pgrouting/sql/pgrouting.sql
这里,my-postgis-container
是你的PostgreSQL容器的名字,gis_osm_demo
是你的数据库名称,可以根据实际情况进行更改。
请注意,这个过程可能需要根据你的具体环境进行调整,比如指定版本号、设置正确的环境变量、处理数据库权限等。
评论已关闭