apk --no-cache изменение слоя изображения

Создайте образ докера, используя Dockerfile, отправив тот же образ в Artifactory. Я заметил, что при использовании apk --no-cache sha256 изменяется, хотя Dockerfile - нет.

Я отправил 3 разных изображения в Artifactory, и при проверке я заметил 3 разных слоя - означает ли это, что он занимает 3 слоя вместо ссылки на первый нажатый слой?

Я собираю один и тот же файл Dockerfile 3 раза и отправляю образ в Artifactory. Проверяя слои изображения, я заметил 3 изображения с разными слоями (разные sha256).

FROM alpine:3.9

ADD resources/repositories /etc/apk/repositories
RUN apk --no-cache add curl && apk --no-cache add --repository  http://myartifactory.com:8081/artifactory/alpine-nl-remote/alpine/edge/testing gosu

Запуск (где сборка 1 меняется на 2 и 3)

docker build -t myartifactory.com/apline:3.9-1
docker push

Проверка Artifactory Теперь у меня есть по 3 слоя на каждое изображение. Как только слой отличается, и два слоя одинаковы на всех 3 изображениях

То же изображение должно быть построено с тем же sha256, а в Artifactory должна быть одна копия изображения и еще 2 ссылки, указывающие на это изображение.


person Chanan Berler    schedule 29.04.2019    source источник
comment
Имеют ли одинаковые слои изображений одинаковый SHA256? Если это так, Artifactory действительно сохранила его один раз и просто ссылается на слои в других образах Docker.   -  person retgits    schedule 29.04.2019


Ответы (1)


apk --no-cache для установки одного и того же пакета может быть получен другой sha256, в зависимости от наличия локального кеша. Причина изменения изображения в том, что метаданные файла, такие как mtime или atime, изменились.

Вы должны создать базовый уровень, который установит все зависимости, а затем построить из базы.

person wener    schedule 08.02.2020