mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-07-19 09:16:29 +00:00
tools: Add Dockerfile to the Alpine base image to calculate the hash
The Dockerfile is now an input to the contents of the base image and needs to be included in the hash calculation. Also, make the Makefile, Dockerfile and pacakges file a dependency. Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
This commit is contained in:
parent
aecad407c5
commit
ac5122ced7
@ -3,6 +3,8 @@ FROM alpine:3.6 AS mirror
|
||||
# update base image
|
||||
RUN apk update && apk upgrade -a
|
||||
|
||||
# Copy Dockerfile so we can include it in the hash
|
||||
COPY Dockerfile /Dockerfile
|
||||
COPY packages /tmp/
|
||||
|
||||
# mirror packages
|
||||
@ -42,6 +44,7 @@ COPY --from=mirror /etc/apk/repositories /etc/apk/repositories
|
||||
COPY --from=mirror /etc/apk/keys /etc/apk/keys/
|
||||
COPY --from=mirror /mirror /mirror/
|
||||
COPY --from=mirror /go/bin /go/bin/
|
||||
COPY --from=mirror /Dockerfile /Dockerfile
|
||||
|
||||
COPY --from=shellcheck /usr/local/bin/shellcheck /usr/local/bin/shellcheck
|
||||
COPY --from=shellcheck /usr/local/lib/ /usr/local/lib/
|
||||
|
@ -6,10 +6,10 @@ BASE=alpine:3.6
|
||||
|
||||
default: push
|
||||
|
||||
hash:
|
||||
hash: Dockerfile Makefile packages
|
||||
DOCKER_CONTENT_TRUST=1 docker pull $(BASE)
|
||||
docker build --no-cache -t $(IMAGE):build .
|
||||
docker run --rm $(IMAGE):build sh -c 'echo /lib/apk/db/installed $$(find /mirror -name '*.apk' -type f) $$(find /go/bin -type f) | xargs cat | sha1sum' | sed 's/ .*//' > $@
|
||||
docker run --rm $(IMAGE):build sh -c 'echo Dockerfile /lib/apk/db/installed $$(find /mirror -name '*.apk' -type f) $$(find /go/bin -type f) | xargs cat | sha1sum' | sed 's/ .*//' > $@
|
||||
|
||||
push: hash
|
||||
DOCKER_CONTENT_TRUST=1 docker pull $(ORG)/$(IMAGE):$(shell cat hash) || \
|
||||
|
Loading…
Reference in New Issue
Block a user