Files
link-shortening-service/Dockerfile
KoCoder ec4159e84c
All checks were successful
Build and Push Docker Image / build (push) Successful in 7m56s
New: Add goose to run migrations as an init container
2026-06-02 22:22:21 +02:00

33 lines
715 B
Docker

FROM golang:1.26-bookworm AS base
# Move to working directory /app
WORKDIR /app
# Copy the go.mod and go.sum files to the /app directory
COPY go.mod go.sum ./
# Install dependencies
RUN go mod download
# Copy the entire source code into the container
COPY . .
# Build the application
RUN go build -o shortener
# Install goose migration tool
RUN GOBIN=/app go install github.com/pressly/goose/v3/cmd/goose@latest
FROM golang:1.26-bookworm AS runner
WORKDIR /app
COPY --from=base /app/shortener /app/shortener
COPY --from=base /app/goose /app/goose
COPY --from=base /app/sql/schema /app/sql/schema
# Document the port that may need to be published
EXPOSE 8080
# Start the application
CMD ["/app/shortener"]