feat: enable host network access during Docker build stages for dependency downloads

Add BuildKit syntax directive and --network=host flag to npm install, go mod operations, and apk package installation to allow direct host network access during builds, bypassing Docker's default bridge network for improved reliability and performance of dependency downloads.
This commit is contained in:
2026-03-18 09:09:52 +01:00
parent a5c65deed7
commit d67d25963d
3 changed files with 7 additions and 4 deletions

View File

@@ -1,7 +1,8 @@
## syntax=docker/dockerfile:1.4
FROM node:22-alpine AS builder FROM node:22-alpine AS builder
WORKDIR /app WORKDIR /app
COPY package.json ./ COPY package.json ./
RUN npm install RUN --network=host npm install
COPY . . COPY . .
RUN npm run build RUN npm run build

View File

@@ -1,10 +1,11 @@
## syntax=docker/dockerfile:1.4
FROM golang:1.23-alpine AS builder FROM golang:1.23-alpine AS builder
WORKDIR /src WORKDIR /src
COPY go.mod ./ COPY go.mod ./
COPY go.sum* ./ COPY go.sum* ./
COPY . . COPY . .
RUN go mod tidy RUN --network=host go mod tidy
RUN go mod download RUN --network=host go mod download
RUN CGO_ENABLED=0 GOOS=linux go build -o /out/nexavpn-api ./cmd/api RUN CGO_ENABLED=0 GOOS=linux go build -o /out/nexavpn-api ./cmd/api
FROM alpine:3.21 FROM alpine:3.21

View File

@@ -1,6 +1,7 @@
## syntax=docker/dockerfile:1.4
FROM alpine:3.21 FROM alpine:3.21
RUN set -eux; \ RUN --network=host set -eux; \
printf '%s\n' \ printf '%s\n' \
'https://dl-cdn.alpinelinux.org/alpine/v3.21/main' \ 'https://dl-cdn.alpinelinux.org/alpine/v3.21/main' \
'https://dl-cdn.alpinelinux.org/alpine/v3.21/community' \ 'https://dl-cdn.alpinelinux.org/alpine/v3.21/community' \