首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker和Postgis -如何在我的docker容器中访问shp2pgsql?

Docker和Postgis -如何在我的docker容器中访问shp2pgsql?
EN

Stack Overflow用户
提问于 2021-08-02 17:20:39
回答 1查看 249关注 0票数 0

我使用docker-compose在docker容器中运行postgres,它没有出现任何问题,并且我能够连接到数据库。但是现在我想进入容器并执行postgis shp2pgsql来加载一个形状文件,但是这个命令似乎并不存在。下面是我的代码:

docker-compose.yaml

代码语言:javascript
复制
version: '3'

services:
  db:
    container_name: pg_container
    image: postgis/postgis
    restart: always
    environment:
      POSTGRES_USER: root
      POSTGRES_PASSWORD: root
      POSTGRES_DB: test_db
    volumes:
        - ./data:/var/lib/postgresql/
        - ./postgres_init:/postgres_init
    ports:
        - 5433:5433
    networks:
        - ch_ntw

networks:
  ch_ntw:
    driver: bridge
    ipam:
      config:
        - subnet: 10.222.1.0/24

进入容器:

代码语言:javascript
复制
docker exec -it pg_container bash

使用psql顺利连接到数据库:

代码语言:javascript
复制
psql --host=pg_container --dbname=test_db --username=root

但是,如果我尝试从bash调用shp2pgsql,我会得到以下结果:

代码语言:javascript
复制
 shp2pgsql -s 2263:4326 postgres_init/nyct2010_15b/nyct2010.shp | psql -d test_db

bash: shp2pgsql: command not found

我认为既然这是一个postgis容器,那么函数应该是可访问的,不是吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-02 17:33:19

shp2pgsql是一个客户端包。postgis/postgis映像仅是PostGIS服务器组件。如果要使用shp2pgsql或其他客户端工具,请将其本地安装在您的主机上,或安装在另一个容器中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68625661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档