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

我试图为克隆的应用程序安装postgresql-9.3-postgis-2.1或postgresql-9.1-postgis-2.1,但是我只能从我的Ubuntu docker镜像上得到postgresql-9.4-postgis-2.1。

我看着图像,发现它在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并手动安装,logging下来并用它们来更新docker文件。 或者你可以运行

$ docker exec -t -i bash -i

在容器中获得一个壳,并尝试需要做什么。

感谢所有试图帮助我的人! 虽然我自己终于解决了这个问题,但Dockerfile没有什么问题,但是我select的映像并不是一个典型的Ubuntu镜像,docker office使用buildpack-deps:jessie而不是ubuntu:14.04 image: https:/ /github.com/docker-library/python/blob/master/2.7/Dockerfile

它在Docker和Ubuntu VM中导致了不同的行为。

最后,我从Ubuntu:12.04构build一个Python映像并解决了这个问题。