postgresql - 无法在 Ubuntu 14.04.1 Docker 容器上获取​​ postgresql-9.3-postgis-2.1

标签 postgresql docker ubuntu-14.04 postgis dockerfile

我尝试为克隆的应用程序安装 postgresql-9.3-postgis-2.1 或 postgresql-9.1-postgis-2.1,但我只能在从 python 构建的 Ubuntu docker 镜像上获取 postgresql-9.4-postgis-2.1: 2.7 图片。

我查看了图像,发现它在 Ubuntu 14.04.1 图像上。我尝试在我的 Xubuntu 14.04.2 VM 上安装 postgis,一切正常。

我怎样才能使安装工作正常?

Dockerfile 非常简单:

FROM python:2.7
RUN mkdir /workspace
RUN mkdir /data
WORKDIR /workspace
RUN apt-get update
RUN apt-get install postgresql postgresql-common postgresql-9.3-postgis-2.1

错误码也很正常:

E: Unable to locate package postgresql-9.3-postgis-2.1
E: Couldn't find any package by regex 'postgresql-9.3-postgis-2.1'

最佳答案

请提供更多信息,例如 dockerfile 和您遇到的错误。

从您的评论来看,您似乎在 postgresql 库之前加载了 python 库。我假设您的 python 应用程序需要 postgresql 访问权限,并且它使用 postgresql C 库周围的 python 包装器之一。

如果是这种情况,请在安装 python 库之前安装 postgresql 库,并且不要忘记添加 -dev 库。

在这种情况下,我所做的是制作一个最小的 docker 镜像,在容器中启动一个 root shell 并手动安装,做笔记并使用它们来更新 docker 文件。或者你可以运行

$ docker exec -t -i bash -i

在容器中获取 shell 并尝试需要完成的操作。

关于postgresql - 无法在 Ubuntu 14.04.1 Docker 容器上获取​​ postgresql-9.3-postgis-2.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30047094/

相关文章:

docker - 如何为docker容器设置密码

docker - Nginx proxy_pass如何传递一个路由参数

docker - Docker将两个容器上的相同端口映射到主机上的不同端口

database - PostgreSQL 在 Ubuntu 14.04 上安装失败

git - 如何在 Ubuntu 上安装 git 特定版本(2.7.*)

java.lang.OutOfMemory错误: Java heap space during bytea download

postgresql - 使用 "Notice: Relation exists"时抑制 "CREATE ... IF NOT EXISTS"

sql - 带默认值的 PostgreSQL 查询数据聚合

sql - 试图过滤别名列中的空值 - postgresql?

php - 多 PHP 如何在 Ubuntu 14.04 上安装带有 PEAR 和扩展的 php 5.3