We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent f3ce04c commit d1c9e99Copy full SHA for d1c9e99
Dockerfile
@@ -1,6 +1,13 @@
1
-FROM golang:1.23.4-alpine3.21
2
-RUN mkdir /app
3
-ADD . /app
+# Build stage
+FROM golang:1.23.4-alpine3.21 AS builder
4
WORKDIR /app
+COPY . .
5
+RUN go mod download
6
RUN go build -o main .
-CMD ["/app/main"]
7
+
8
+# Production stage
9
+FROM alpine:latest AS production
10
+WORKDIR /app
11
+COPY --from=builder /app/main .
12
+EXPOSE 8080
13
+CMD ["./main"]
compose.yaml
@@ -1,5 +1,17 @@
services:
- app:
- image: go-crud-api
+ api:
+ image: go-crud-api:latest
+ build:
+ context: .
+ dockerfile: Dockerfile
+ target: production
ports:
- "8000:8000"
+ environment:
+ - GO_ENV=production
+ networks:
+ - go-network
14
15
+networks:
16
+ go-network:
17
+ driver: bridge
main
-7.58 MB
0 commit comments