Docker восстанавливает образ из первого ADD

Docker перестраивает мой образ из первого ADD, каждый раз, даже когда я не вношу в него никаких изменений.

Это очень просто:

FROM alpine:3.8

RUN apk add --no-cache openjdk8-jre

RUN mkdir /cassandra

ADD https://archive.apache.org/dist/cassandra/3.9/apache-cassandra-3.9-bin.tar.gz /tmp/cassandra.tar.gz

RUN tar -xf /tmp/cassandra.tar.gz -C /cassandra && rm /tmp/cassandra.tar.gz

EXPOSE 9042

И он продолжает запускать ADD и все, что после него, каждый раз, когда я строю. ADD занимает некоторое время, поэтому это очень сложно.

См. github.com/moby/moby/issues/12361

BMitch 26.10.2018 01:24
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
0
1
18
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Docker не уверен, изменилась ли ссылка или нет, у него нет возможности проверить содержимое запроса. (Я имею в виду, что он может проверить хэш содержимого, но ему все равно придется загрузить файл). Вам следует скачать файл самостоятельно и напрямую скопировать его в сборку.

Некоторое обсуждение: https://github.com/moby/moby/issues/3672#issuecomment-63335989

Ответ принят как подходящий

Решение состоит в том, чтобы использовать

apk add --no-cache wget && \                                                                                                                                                                                                                                                                                            
    wget your_website.html && \                                                                                                                                                                                                        
    ..
    Do some stuff
    ..                                                                                                                                                                                                                                                                                       
    apk del --no-cache wget

Это в точности соответствует тому, что требовалось я. ADD перезагружается каждый раз, и, судя по ссылке @ maxm, мы ничего не можем с этим поделать.

Другие вопросы по теме