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"]
 |