使用 Dockerfile 构建一个 docker 镜像,将相同的镜像推送到 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 应该有一个图像副本和两个指向该图像的引用