You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Docker
		
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Docker
		
	
# syntax=docker/dockerfile:1.3
 | 
						|
 | 
						|
ARG GO_VERSION=1.16.15
 | 
						|
ARG GORELEASER_XX_VERSION=1.2.5
 | 
						|
 | 
						|
FROM --platform=$BUILDPLATFORM crazymax/goreleaser-xx:${GORELEASER_XX_VERSION} AS goreleaser-xx
 | 
						|
FROM --platform=$BUILDPLATFORM golang:${GO_VERSION}-alpine AS base
 | 
						|
COPY --from=goreleaser-xx / /
 | 
						|
RUN apk add --no-cache file git
 | 
						|
WORKDIR /go/src/github.com/docker/distribution
 | 
						|
 | 
						|
FROM base AS build
 | 
						|
ENV GO111MODULE=auto
 | 
						|
ENV CGO_ENABLED=0
 | 
						|
# GIT_REF is used by goreleaser-xx to handle the proper git ref when available.
 | 
						|
# It will fallback to the working tree info if empty and use "git tag --points-at"
 | 
						|
# or "git describe" to define the version info.
 | 
						|
ARG GIT_REF
 | 
						|
ARG TARGETPLATFORM
 | 
						|
ARG PKG="github.com/distribution/distribution"
 | 
						|
ARG BUILDTAGS="include_oss include_gcs"
 | 
						|
RUN --mount=type=bind,rw \
 | 
						|
  --mount=type=cache,target=/root/.cache/go-build \
 | 
						|
  --mount=target=/go/pkg/mod,type=cache \
 | 
						|
  goreleaser-xx --debug \
 | 
						|
    --name="registry" \
 | 
						|
    --dist="/out" \
 | 
						|
    --main="./cmd/registry" \
 | 
						|
    --flags="-v" \
 | 
						|
    --ldflags="-s -w -X '$PKG/version.Version={{.Version}}' -X '$PKG/version.Revision={{.Commit}}' -X '$PKG/version.Package=$PKG'" \
 | 
						|
    --tags="$BUILDTAGS" \
 | 
						|
    --files="LICENSE" \
 | 
						|
    --files="README.md"
 | 
						|
 | 
						|
FROM scratch AS artifact
 | 
						|
COPY --from=build /out/*.tar.gz /
 | 
						|
COPY --from=build /out/*.zip /
 | 
						|
COPY --from=build /out/*.sha256 /
 | 
						|
 | 
						|
FROM scratch AS binary
 | 
						|
COPY --from=build /usr/local/bin/registry* /
 | 
						|
 | 
						|
FROM alpine:3.14
 | 
						|
RUN apk add --no-cache ca-certificates
 | 
						|
COPY cmd/registry/config-dev.yml /etc/docker/registry/config.yml
 | 
						|
COPY --from=build /usr/local/bin/registry /bin/registry
 | 
						|
VOLUME ["/var/lib/registry"]
 | 
						|
EXPOSE 5000
 | 
						|
ENTRYPOINT ["registry"]
 | 
						|
CMD ["serve", "/etc/docker/registry/config.yml"]
 |