Сборка Docker не удалась: «неудовлетворительные ограничения» - PullRequest
0 голосов
/ 27 июня 2018

Я написал это просто Dockerfile:

FROM alpine

WORKDIR /usr/src

RUN apk add --no-cache curl jq
RUN mkdir /env

COPY src/* /usr/src/
RUN chmod u+x /usr/src/*.sh

CMD /usr/src/wsec.sh

Когда я пытаюсь создать образ, я получаю это сообщение об ошибке:

Sending build context to Docker daemon  43.52kB
Step 1 : FROM alpine
 ---> 3fd9065eaf02
Step 2 : WORKDIR /usr/src
 ---> Using cache
 ---> 4c7b79dc4239
Step 3 : RUN apk add --no-cache curl jq
 ---> Running in 0cf83217477a
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86_64/APKINDEX.tar.gz
WARNING: Ignoring http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86_64/APKINDEX.tar.gz: temporary error (try again later)
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/community/x86_64/APKINDEX.tar.gz
WARNING: Ignoring http://dl-cdn.alpinelinux.org/alpine/v3.7/community/x86_64/APKINDEX.tar.gz: temporary error (try again later)
ERROR: unsatisfiable constraints:
  curl (missing):
    required by: world[curl]
  jq (missing):
    required by: world[jq]
The command '/bin/sh -c apk add --no-cache curl jq' returned a non-zero code: 2

1 Ответ

0 голосов
/ 27 июня 2018

Может случиться, что основной альпийский репозиторий http://dl-cdn.alpinelinux.org/alpine временно недоступен. Как в твоем случае. Чтобы не блокировать эту проблему, мы должны добавить другие альпийские репозитории к нашему альпийскому изображению:

http://dl-2.alpinelinux.org
http://dl-3.alpinelinux.org
http://dl-4.alpinelinux.org
http://dl-5.alpinelinux.org

Итак, окончательный Dockerfile это:

FROM alpine

WORKDIR /usr/src

RUN echo "http://dl-2.alpinelinux.org/alpine/v3.7/main" >> /etc/apk/repositories      && \ 
    echo "http://dl-2.alpinelinux.org/alpine/v3.7/community" >> /etc/apk/repositories && \
    echo "http://dl-3.alpinelinux.org/alpine/v3.7/main" >> /etc/apk/repositories      && \
    echo "http://dl-3.alpinelinux.org/alpine/v3.7/community" >> /etc/apk/repositories && \
    echo "http://dl-4.alpinelinux.org/alpine/v3.7/main" >> /etc/apk/repositories      && \
    echo "http://dl-4.alpinelinux.org/alpine/v3.7/community" >> /etc/apk/repositories && \
    echo "http://dl-5.alpinelinux.org/alpine/v3.7/main" >> /etc/apk/repositories      && \
    echo "http://dl-5.alpinelinux.org/alpine/v3.7/community" >> /etc/apk/repositories 

RUN apk add --no-cache curl jq

RUN mkdir /env

COPY src/* /usr/src/
RUN chmod u+x /usr/src/*.sh

CMD /usr/src/wsec.sh
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...