在Ubuntu 14.04.1 Docker容器上无法获得PostgreSQL-9.3-Postgis-2.1



我试图为克隆应用程序安装PostgreSQL-9.3-postGIS-2.1或PostgreSql-9.1-Postgis-2.1由Python构建的Docker映像: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映像,在容器中启动根外壳,然后手动进行安装,记笔记并使用它们来更新Docker文件。另外,您可以运行

$ docker exec -t -i bash -i

要在容器中获得外壳,然后尝试需要做什么。

感谢所有试图帮助我的人!尽管我最终自己修复了这个问题,但是很简单的Dockerfile没有错,但是我选择的图像不是典型的Ubuntu映像,Docker Office使用buildpack-deps:jessie代替ubuntu:14.04图像:https://github.com/docker-library/python/blob/master/2.7/dockerfile

在Docker和Ubuntu VM中引起了不同的行为。

最后,我从Ubuntu:12.04构建了一个Python图像并修复了此问题。

最新更新