rverton / webanalyze

Port of Wappalyzer (uncovers technologies used on websites) to automate mass scanning.
MIT License
908 stars 134 forks source link

Docker build error missing shared library libresolv.so.2 when running update in last stage in Dockerfile #67

Closed s0alqasim1d closed 1 year ago

s0alqasim1d commented 1 year ago

Running build on Docker windows with WSL2 returns an error while building

 => [stage-1 2/6] RUN apk add --no-cache libc6-compat
 => [stage-1 3/6] WORKDIR /app
 => [build-env 2/2] RUN go install github.com/rverton/webanalyze/cmd/webanalyze@latest
 => [stage-1 4/6] COPY --from=build-env /go/bin/webanalyze .
 => [stage-1 5/6] RUN mkdir -p /app     && adduser -D webanalyze     && chown -R webanalyze:webanalyze /app
 => ERROR [stage-1 6/6] RUN ["./webanalyze", "-update"]
 > [stage-1 6/6] RUN ["./webanalyze", "-update"]:
#12 0.426 Error loading shared library libresolv.so.2: No such file or directory (needed by ./webanalyze)
s0alqasim1d commented 1 year ago

solved by linking /lib/libc.so.6 to /usr/lib/libresolv.so.2 with ln -s /lib/libc.so.6 /usr/lib/libresolv.so.2 before reaching the update command in the dockerfile.

FROM golang:latest AS build-env
RUN go install github.com/rverton/webanalyze/cmd/webanalyze@latest
FROM alpine:latest
RUN apk add --no-cache libc6-compat
WORKDIR /app
COPY --from=build-env /go/bin/webanalyze .
RUN mkdir -p /app \
    && adduser -D webanalyze \
    && chown -R webanalyze:webanalyze /app \
    && ln -s /lib/libc.so.6 /usr/lib/libresolv.so.2
USER webanalyze
RUN ["./webanalyze", "-update"]
ENTRYPOINT ["./webanalyze"]