Als ich ein Docker-Image aus einer mit Nuxt.js entwickelten App erstellt habe, wurde der Fehler "** Fehler Das binäre Git konnte nicht gefunden werden **" angezeigt.
Der Quellcode der Docker-Datei, in der der Fehler tatsächlich aufgetreten ist, lautet wie folgt.
FROM node:10.15.1-alpine as builder
WORKDIR /app
COPY . /app
RUN yarn install --production
RUN yarn build
FROM node:10.15.1-alpine
WORKDIR /app
COPY --from=builder /app /app
CMD ["yarn", "start"]
Referenz: https://qiita.com/arthur_foreign/items/fca369c1d9bde1701e38
Das Fehlerprotokoll sieht folgendermaßen aus: (Es sollte das Bild auf GCR schieben)
$ docker build -t gcr.io/${PROJECT_ID}/app_name:v1 .
Sending build context to Docker daemon 157.9MB
Step 1/9 : FROM node:10.15.1-alpine as builder
---> xxxxxxxxxx
Step 2/9 : WORKDIR /app
---> Running in xxxxxxxxxx
Removing intermediate container 0eb38e4dfdc1
---> xxxxxxxxxx
Step 3/9 : COPY . /app
---> xxxxxxxxxx
Step 4/9 : RUN yarn install --production
---> Running in xxxxxxxxxx
yarn install v1.13.0
[1/4] Resolving packages...
[2/4] Fetching packages...
error Couldn't find the binary git
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
The command '/bin/sh -c yarn install --production' returned a non-zero code: 1
Wie Sie im Titel und in der Überschrift sehen können, wird der Fehler "Fehler Konnte den binären Git nicht finden" angezeigt.
Genau der gleiche Fehler wurde auf teratail gepostet.
Referenz: https://teratail.com/questions/179483
Es scheint, dass Git verrückt ist, die beste Antwort und den besten Lösungsbericht von Teratail zu sehen.
Vielleicht ist Teratail eine lokale Operation, also lassen Sie es uns mit der Docker-Datei abgleichen.
Wenn Docker nicht funktioniert, müssen Sie Git in apk
, den Paketmanager für alpine
, einfügen.
Lassen Sie uns daher die Docker-Datei wie folgt erstellen.
FROM node:10.15.1-alpine as builder
WORKDIR /app
COPY . /app
RUN apk update && \
apk add git
RUN yarn install --production
RUN yarn build
FROM node:10.15.1-alpine
WORKDIR /app
COPY --from=builder /app /app
CMD ["yarn", "start"]
Anschließend wird das Docker-Image erfolgreich erstellt.
Successfully built xxxxxxxxxxxx
Successfully tagged gcr.io/gke_project_name/app_name:v1