如何不正确的Docker postGIS命令RUN成功运行?

时间:2015-09-01 08:50:07

标签: docker

我只是看看这个postgreSQL图像here,图像是启用了postGIS的。请参阅构建映像的dockerfile,如下所示:

FROM postgres:9.4
MAINTAINER Mike Dillon <mike@appropriate.io> 
ENV POSTGIS_MAJOR 2.1 
ENV POSTGIS_VERSION 2.1.7+dfsg-3~94.git954a8d0.pgdg80+1 
RUN apt-get update \ && apt-get install -y --no-install-recommends \ postgresql-$PG_MAJOR-postgis-$POSTGIS_MAJOR=$POSTGIS_VERSION \ postgis=$POSTGIS_VERSION \ && rm -rf /var/lib/apt/lists/* 
RUN mkdir -p /docker-entrypoint-initdb.d COPY ./initdb-postgis.sh /docker-entrypoint-initdb.d/postgis.sh

注意postGIS的环境变量:

ENV POSTGIS_VERSION 2.1.7+dfsg-3~94.git954a8d0.pgdg80+1 

另请查看RUN命令,如下所示:

RUN apt-get update \ && apt-get install -y --no-install-recommends \ postgresql-$PG_MAJOR-postgis-$POSTGIS_MAJOR=$POSTGIS_VERSION \ postgis=$POSTGIS_VERSION \ && rm -rf /var/lib/apt/lists/* 

所以基本上是使用以下命令构建postGIS图像:

postgis=$POSTGIS_VERSION 

现在,如果你去docker hub并输入搜索栏“postgis”,你就不会得到官方存储库。

其次,如果我执行以下命令,从命令行:

sudo docker pull postgis 

我收到一条消息,说明存储库不存在。

如果存储库不存在,postgreSQl(启用了postGIS)图像如何成功构建? I.E.以下脚本如何正确?

FROM postgres:9.4
MAINTAINER Mike Dillon <mike@appropriate.io> 
ENV POSTGIS_MAJOR 2.1 
ENV POSTGIS_VERSION 2.1.7+dfsg-3~94.git954a8d0.pgdg80+1 
RUN apt-get update \ && apt-get install -y --no-install-recommends \ postgresql-$PG_MAJOR-postgis-$POSTGIS_MAJOR=$POSTGIS_VERSION \ postgis=$POSTGIS_VERSION \ && rm -rf /var/lib/apt/lists/* 
RUN mkdir -p /docker-entrypoint-initdb.d COPY ./initdb-postgis.sh /docker-entrypoint-initdb.d/postgis.sh

谢谢。

0 个答案:

没有答案