包,即使它在包回购的网站上列出在高山的Linux缺少[关闭]

问题描述 投票:3回答:1

我试图打造出一个运行Linux的高山与GDAL和必要的Python钩码头工人容器:

FROM python:3.6-alpine

RUN apk update

RUN apk add py-gdal gdal

RUN pip install uwsgi

RUN mkdir /code
WORKDIR /code
COPY requirements.txt .

RUN pip install -r requirements.txt

COPY . .

CMD ["uwsgi", "--ini", "uwsgi.ini"]

正如你所看到的,我同时运行的apk update语句来更新回购,然后apk add语句来安装软件包。这是我收到的输出:

/usr/bin/make -f /Users/some_guy/Workspace/tagging_tracker_backend/Makefile build up
Pulling nginx ... 
Pulling db    ... 
Pulling web   ... 
db uses an image, skipping
Building nginx
Step 1/3 : FROM nginx:1.15
 ---> 7042885a156a
Step 2/3 : RUN rm /etc/nginx/conf.d/default.conf
 ---> Using cache
 ---> 97782a5dae3a
Step 3/3 : COPY nginx.conf /etc/nginx/conf.d/tag.conf
 ---> Using cache
 ---> 3158ab7993cd
Successfully built 3158ab7993cd
Building web
Successfully tagged tagging_tracker_backend_nginx:latest
Step 1/10 : FROM python:3.6-alpine
 ---> de35df1f34dd
Step 2/10 : RUN apk update
 ---> Using cache
 ---> 15477d802b32
Step 3/10 : RUN apk add py-gdal gdal
 ---> Running in 77bef31e5d15
ERROR: unsatisfiable constraints:
  gdal (missing):
    required by: world[gdal]
  py-gdal (missing):
    required by: world[py-gdal]
Service 'web' failed to build: The command '/bin/sh -c apk add py-gdal gdal' returned a non-zero code: 2
make: *** [build] Error 1

Process finished with exit code 2

这两个包都可以在the Alpine Linux package website找到。

我不熟悉的阿尔卑斯Linux,但我习惯了对其他类型的Linux安装软件包。是否有需要在这里传递另一个命令?

python linux docker gdal alpine
1个回答
11
投票

您链接到gdal包在边测试库,释放分支的一个也没有。要安装它,你必须明确指定仓库。 gdal还拥有优势,主要的包的依赖关系,所以你需要包括这一点。

apk add \
  --no-cache \
  --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing \
  --repository http://dl-cdn.alpinelinux.org/alpine/edge/main \
  gdal
© www.soinside.com 2019 - 2024. All rights reserved.