[DOCKER] Garninstallation schlägt fehl "getaddrinfo EAI_AGAIN registry.yarnpkg.com"

Dieser Artikel ist für die Docker Toolbox. ** Gilt nicht für Docker für Windows **

Docker kann nicht bauen

Als ich versuchte, einen Testserver auf Docker für die Entwicklung von Webanwendungen zu erstellen, schlug dies fehl.

Step 10/11 : RUN cd app && yarn install
 ---> Running in d36ecd97329b
yarn install v1.22.4
[1/4] Resolving packages...
[2/4] Fetching packages...
error An unexpected error occurred: "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz: getaddrinfo EAI_AGAIN registry.yarnpkg.com".

Unten ist die betreffende Datei

Dcokerfile


FROM node:12.16-slim

ENV APP_DIR=/app
WORKDIR ${APP_DIR}
RUN mkdir -p ${APP_DIR}
COPY . ${APP_DIR}

ENV LANG=C.UTF-8
ENV TZ=Asia/Tokyo
ENV NODE_ENV=development
ENV HOST 0.0.0.0

RUN cd app && yarn install

EXPOSE 3000

Umgebung

Hyper-V ist unter Windows 10 Home nicht verfügbar. ** Installiert über Docker Toolbox **

Ursache

Es ist leicht zu erkennen, dass der Name "registry.yarnpkg.com" nicht aufgelöst werden kann. Aber wieso? Normalerweise können Sie nslookup über die Befehlszeile ausführen, oder? Es scheint ein Problem mit dem DNS auf der VirtualBox-Seite zu geben. Es befindet sich zwischen dem Betriebssystem und dem Container, um den Linux-Kernel vorzubereiten, und es ist überraschend leicht, das Problem zu übersehen. Wenn Sie es auf VirtualBox drücken,

dcoker@default:~$ nslookup registry.yarnpkg.com
Server:    10.0.2.3
Address 1: 10.0.2.3
nslookup: can't resolve 'registry.yarnpkg.com'

Lösungsmethode

Fügen Sie schnell "8.8.8.8" zur Sekundärseite des DNS-Servers hinzu.

dcoker@default:~$ sudo -i
root@default:~# vi /etc/resolv.conf

DNS-Einstellungen [resolv.conf] Überschreiben nach Neustart deaktivieren

/etc/resolv.conf


  nameserver 10.0.2.3
+ nameserver 8.8.8.8

8.8.8.8 ist die Adresse von Google Public DNS, einem zuverlässigen Verbündeten, wenn Sie Probleme mit DNS haben. Aufgrund des unterschiedlichen Tastaturlayouts kann ich keinen Doppelpunkt : eingeben und vi nicht beenden! Wenn Sie ein solcher JIS-Array-Benutzer sind, drücken Sie "+" (Umschalt + ";").

[Qiita] Eingeben von Zeichen in einer US-Layoutumgebung, obwohl es sich um eine JIS-Tastatur handelt

Beachten Sie, dass dies eine Notfallmaßnahme ist und keine dauerhafte Lösung darstellt, z. B. ein Neustart von VirtualBox.

Recommended Posts

Garninstallation schlägt fehl "getaddrinfo EAI_AGAIN registry.yarnpkg.com"
Wenn die Installation von semantic-ui fehlschlägt
Installieren Sie das Garn im Docker-Image