2015-09-13 168 views
0

我有一個要求,可以創建啓用postGISpostgresql數據庫的自定義碼頭鏡像。現在,這是一個已經存在的圖像,這是HERE,但這是給我的任務,所以我必須做我自己的碼頭文件和圖像。我試過如下:我正在嘗試構建Docker postgres鏡像時出現錯誤

mkdir postgres 
cd postgres 
touch Dockerfile 

現在我編輯Dockerfile和編輯它如下所示:

FROM postgres:9.4 
MAINTAINER Mike Dillon <[email protected]> 

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=$POST$ 

RUN mkdir -p /docker-entrypoint-initdb.d 

COPY ./initdb-postgis.sh /docker-entrypoint-initdb.d/postgis.sh 

# Optional: Drop database 

RUN dropdb -U postgres pgrouting-workshop 

# Create a new routing database 
16 
RUN createdb -U postgres pgrouting-workshop 
RUN psql -U user -d pgrouting-workshop -c "CREATE EXTENSION postgis;" 
RUN psql -U user -d pgrouting-workshop -c "CREATE EXTENSION pgrouting;" 

的dockerfile可以看作HERE了。

基本上,dockrfile與mdillon/postgis圖像相同。

現在,當我運行構建命令,如下所示:

docker build -t gautam/postgresql:v1 . 

我收到以下錯誤:

E:無法找到包postgresql-9.4-PostGIS的-2.1

E: Couldn't find any package by regex ' postgresql-9.4-postgis-2.1' 
E: Unable to locate package postgis 
E: Unable to locate package 
The command '/bin/sh -c 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/*' returned a non-zero code: 100 

爲什麼?

回答

1

因爲你應該刪除斜槓或在他們之後做cr/lf。

#good 
RUN apt-get update && apt-get install -y --no-install-recommends postgresql-$PG_MAJOR-postgis-$POSTGIS_MAJOR=$POSTGIS_VERSION postgis=$POST$ 
#good 
RUN apt-get update && apt-get install -y --no-install-recommends \ 
    postgresql-$PG_MAJOR-postgis-$POSTGIS_MAJOR=$POSTGIS_VERSION \ 
    postgis=$POST$ 
#bad 
RUN apt-get update && apt-get install -y --no-install-recommends \ postgresql-$PG_MAJOR-postgis-$POSTGIS_MAJOR=$POSTGIS_VERSION \ postgis=$POST$ 
+0

@Mykolagurow,現在我得到一個錯誤'未知的指令:POSTGRESQL- $ PG_MAJOR-POSTGIS- $ POSTGIS_MAJOR = $ POSTGIS_VERSION ',我的搬運工文件看起來像這樣http://chopapp.com/#yhgzfw54 –

+0

亞歷山大,你的鏈接不起作用。我想你可以和你自己提供的例子進行比較,這個例子正在工作。注意縮進和行尾。 –

+0

該鏈接將在2-3分鐘內加載,並保持標籤打開;) –

相關問題