Пакет отсутствует в Alpine Linux, хотя он указан на веб-сайте репозитория пакетов
Я пытаюсь создать контейнер Docker, который запускает Alpine 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
Оба эти пакета можно найти на веб-сайте Alpine Linux.
Я не знаком с Alpine Linux, но привык устанавливать пакеты в других типах Linux. Есть ли другая команда, которая должна быть передана здесь?
1 ответ
Решение
gdal
пакет, на который вы ссылаетесь, находится в репозитории пограничного тестирования, а не в одной из веток релиза. Чтобы установить его, вам нужно специально указать этот репозиторий. gdal
также имеет зависимости от пакетов в edge-main, так что вам тоже нужно это включить.
apk add \
--no-cache \
--repository http://dl-cdn.alpinelinux.org/alpine/edge/testing \
--repository http://dl-cdn.alpinelinux.org/alpine/edge/main \
gdal