簡體   English   中英

無法在 docker 容器上安裝 GDAL

[英]Cannot install GDAL on docker container

我需要在另一個 docker 映像上安裝最新版本的 gdal。 我不能單獨運行 osgeo/gdal 容器,因為我需要 python 綁定。

當我在 docker 中運行下一個代碼時

FROM apache/airflow:2.2.3-python3.9
USER root

RUN apt install update
RUN apt-get install -y \
         build-essential \
         python-all-dev \
         python-is-python3 \
         libproj-dev \
         libpq-dev \
         libgeos-dev \
         wget


RUN wget http://download.osgeo.org/gdal/3.4.0/gdal-3.4.0.tar.gz
RUN tar xvfz gdal-3.4.0.tar.gz
WORKDIR ./gdal-3.4.0
RUN ./configure --with-python --with-pg --with-geos
RUN make
RUN make install
RUN ldconfig

我得到下一個錯誤:

configure: error: PROJ 6 symbols not found
The command '/bin/bash -o pipefail -o errexit -o nounset -o nolog -c ./configure --with-python --with-pg --with-geos' returned a non-zero code: 1

有人可以幫忙嗎。

正如您已經注意到的,通過apt(-get)可用的版本是<6 ,這解釋了錯誤。 一種解決方法是從源代碼編譯PROJ 例如:

FROM apache/airflow:2.2.3-python3.9

USER root
RUN apt-get update && \
    apt-get install -y \
    build-essential \
    python-all-dev \
    libpq-dev \
    libgeos-dev \
    wget \
    curl \
    sqlite3 \
    cmake \
    libtiff-dev \
    libsqlite3-dev \
    libcurl4-openssl-dev \
    pkg-config


# This is just an example with hard-coded paths/uris and no cleanup...
RUN curl https://download.osgeo.org/proj/proj-8.2.1.tar.gz | tar -xz &&\
    cd proj-8.2.1 &&\
    mkdir build &&\
    cd build && \
    cmake .. &&\
    make && \
    make install

RUN wget http://download.osgeo.org/gdal/3.4.0/gdal-3.4.0.tar.gz
RUN tar xvfz gdal-3.4.0.tar.gz
WORKDIR ./gdal-3.4.0
RUN ./configure --with-python --with-pg --with-geos &&\
    make && \
    make install && \
    ldconfig

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM