miércoles, marzo 22, 2023

Error "cgo: C compiler "gcc" not found: exec: "gcc": executable file not found in $PATH" al hacer Build Image

Tengo una aplicación desarrollado en Go que usa una BD SQLite y al intentar crear mi imagen me da el siguiente error:

#10 0.467 cgo: C compiler "gcc" not found: exec: "gcc": executable file not found in $PATH

El dockerfile que estoy utilizando es el siguiente:

FROM golang:1.19-alpine

# Set destination for COPY
WORKDIR /app


# syntax=docker/dockerfile:1
FROM golang:1.19-alpine


RUN apk add curl


WORKDIR /go/src/app
COPY . .

RUN go get -d -v ./...
RUN go install -v ./...

RUN go build -o gestion
COPY start.sh .

ENTRYPOINT ["/bin/sh"]
HEALTHCHECK CMD curl --fail http://localhost:8080/healthcheck || exit 1
CMD ["start.sh"]

Luego de analizar y buscar en google me di cuenta que falta instalar build-base por lo que mi dockerfile queda de la siguiente manera:

FROM golang:1.19-alpine

# Set destination for COPY
WORKDIR /app


# syntax=docker/dockerfile:1
FROM golang:1.19-alpine


RUN apk add curl
RUN apk add build-base

WORKDIR /go/src/app
COPY . .

RUN go get -d -v ./...
RUN go install -v ./...

RUN go build -o gestion
COPY start.sh .

ENTRYPOINT ["/bin/sh"]
HEALTHCHECK CMD curl --fail http://localhost:8080/healthcheck || exit 1
CMD ["start.sh"]

Luego de indicar que instale build-base la imagen se crea de forma correcta.