From 53a661861a56dad1fbd7e13c0d59c16d1af64271 Mon Sep 17 00:00:00 2001 From: Wyatt Gill Date: Sat, 18 May 2024 17:41:21 -0500 Subject: [PATCH 1/2] Build app in Dockerfile This change makes it simpler and more convenient to build the app. --- Dockerfile.single-platform | 9 ++++++++- README.md | 6 ------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/Dockerfile.single-platform b/Dockerfile.single-platform index 1930f99..5309059 100644 --- a/Dockerfile.single-platform +++ b/Dockerfile.single-platform @@ -1,7 +1,14 @@ +FROM golang:1.22.3-alpine3.19 AS builder + +WORKDIR /app +COPY . /app +RUN CGO_ENABLED=0 go build . + + FROM alpine:3.19 WORKDIR /app -COPY build/glance /app/glance +COPY --from=builder /app/glance . EXPOSE 8080/tcp ENTRYPOINT ["/app/glance"] diff --git a/README.md b/README.md index 715c8e5..11ffb42 100644 --- a/README.md +++ b/README.md @@ -92,12 +92,6 @@ go run . ### Building Docker image -Build Glance with CGO disabled: - -```bash -CGO_ENABLED=0 go build -o build/glance . -``` - Build the image: **Make sure to replace "owner" with your name or organization.** From e3ad646baee618e9b45624ce05b81939d863ac8b Mon Sep 17 00:00:00 2001 From: Wyatt Gill Date: Sat, 18 May 2024 17:42:02 -0500 Subject: [PATCH 2/2] Add .dockerignore to keep build context small --- .dockerignore | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 .dockerignore diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..03da0ed --- /dev/null +++ b/.dockerignore @@ -0,0 +1,9 @@ +# https://docs.docker.com/build/building/context/#dockerignore-files +# Ignore all files by default +* + +# Only add necessary files to the Docker build context (Dockerfiles are always included implicitly) +!/internal/ +!/go.mod +!/go.sum +!main.go