From 09c633ad9183e5fd10df7356fa79400a8c25e41e Mon Sep 17 00:00:00 2001 From: Ramkumar Chinchani Date: Thu, 5 Nov 2020 17:39:14 -0800 Subject: [PATCH] build: fix docker build Update Dockerfile and Makefile to build a zot docker image --- Dockerfile | 25 +++++++++++++++---------- Dockerfile.build | 7 ------- Makefile | 7 +++++-- 3 files changed, 20 insertions(+), 19 deletions(-) delete mode 100644 Dockerfile.build diff --git a/Dockerfile b/Dockerfile index 6f1a6ae9..73524768 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,18 +1,23 @@ # --- # Stage 1: Install certs, build binary, create default config file # --- -FROM docker.io/golang:1.13.6-alpine3.11 AS builder -RUN apk --update add git make ca-certificates +FROM docker.io/golang:1.15.3 AS builder RUN mkdir -p /go/src/github.com/anuvu/zot WORKDIR /go/src/github.com/anuvu/zot COPY . . RUN CGO_ENABLED=0 make clean binary -RUN echo -e '# Default config file for zot server\n\ -http:\n\ - address: 0.0.0.0\n\ - port: 5000\n\ -storage:\n\ - rootDirectory: /var/lib/registry' > config.yml && cat config.yml +RUN echo '{\n\ + "storage": {\n\ + "rootDirectory": "/var/lib/registry"\n\ + },\n\ + "http": {\n\ + "address": "0.0.0.0",\n\ + "port": "5000"\n\ + },\n\ + "log": {\n\ + "level": "debug"\n\ + }\n\ +}\n' > config.json && cat config.json # --- # Stage 2: Final image with nothing but certs, binary, and default config file @@ -20,8 +25,8 @@ storage:\n\ FROM scratch AS final COPY --from=builder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt COPY --from=builder /go/src/github.com/anuvu/zot/bin/zot /zot -COPY --from=builder /go/src/github.com/anuvu/zot/config.yml /etc/zot/config.yml +COPY --from=builder /go/src/github.com/anuvu/zot/config.json /etc/zot/config.json ENTRYPOINT ["/zot"] EXPOSE 5000 VOLUME ["/var/lib/registry"] -CMD ["serve", "/etc/zot/config.yml"] +CMD ["serve", "/etc/zot/config.json"] diff --git a/Dockerfile.build b/Dockerfile.build deleted file mode 100644 index 1ca38a47..00000000 --- a/Dockerfile.build +++ /dev/null @@ -1,7 +0,0 @@ -FROM golang:1.12.8 - -RUN go version -ENV GO111MODULE on -RUN go get -u github.com/swaggo/swag/cmd/swag -WORKDIR /go/src/github.com/anuvu/zot -RUN curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s v1.17.1 diff --git a/Makefile b/Makefile index 876e666b..a448d1e9 100644 --- a/Makefile +++ b/Makefile @@ -52,9 +52,12 @@ run: binary test .PHONY: binary-container binary-container: - ${CONTAINER_RUNTIME} build ${BUILD_ARGS} -f Dockerfile.build -t zot-build:latest . + ${CONTAINER_RUNTIME} build ${BUILD_ARGS} -f Dockerfile -t zot-build:latest . + +.PHONY: run-container +run-container: ${CONTAINER_RUNTIME} run --rm --security-opt label=disable -v $$(pwd):/go/src/github.com/anuvu/zot \ - zot-build:latest make + zot-build:latest .PHONY: binary-stacker binary-stacker: