Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 96bf262884 | |||
| b479bdefa4 | |||
| 0112b35eee | |||
| 7b90cac1d1 | |||
| 894a6f01c2 | |||
| 9896850b49 | |||
| 48f4423986 |
@@ -5,6 +5,10 @@ WORKDIR /app
|
|||||||
|
|
||||||
# Copy go.mod and go.sum files to download dependencies
|
# Copy go.mod and go.sum files to download dependencies
|
||||||
COPY go.mod go.sum ./
|
COPY go.mod go.sum ./
|
||||||
|
|
||||||
|
# Install the C compiler (gcc) and other build tools needed for CGO
|
||||||
|
RUN apk add --no-cache build-base
|
||||||
|
|
||||||
RUN go mod download
|
RUN go mod download
|
||||||
|
|
||||||
# Copy the rest of the application source code
|
# Copy the rest of the application source code
|
||||||
@@ -13,7 +17,7 @@ COPY . .
|
|||||||
# Build the application
|
# Build the application
|
||||||
# CGO_ENABLED=0 is important for a clean static build for Alpine
|
# CGO_ENABLED=0 is important for a clean static build for Alpine
|
||||||
# -o main specifies the output file name
|
# -o main specifies the output file name
|
||||||
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o main .
|
RUN CGO_ENABLED=1 go build -o main .
|
||||||
|
|
||||||
# Stage 2: Create the final lightweight image
|
# Stage 2: Create the final lightweight image
|
||||||
FROM alpine:latest
|
FROM alpine:latest
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ COPY nginx.conf /etc/nginx/conf.d/default.conf
|
|||||||
|
|
||||||
# Copy the built application from the builder stage to Nginx's web root directory
|
# Copy the built application from the builder stage to Nginx's web root directory
|
||||||
# I am assuming the project name is 'dashboard'. If not, you may need to change the path 'dist/dashboard/browser'.
|
# I am assuming the project name is 'dashboard'. If not, you may need to change the path 'dist/dashboard/browser'.
|
||||||
COPY --from=builder /app/dist/frontend /usr/share/nginx/html
|
COPY --from=builder /app/dist/frontend/browser/. /usr/share/nginx/html
|
||||||
|
|
||||||
# Expose port 80 for the web server
|
# Expose port 80 for the web server
|
||||||
EXPOSE 80
|
EXPOSE 80
|
||||||
|
|||||||
Reference in New Issue
Block a user