Dieser Artikel ist für die Docker Toolbox. ** Gilt nicht für Docker für Windows **
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
Hyper-V ist unter Windows 10 Home nicht verfügbar. ** Installiert über Docker Toolbox **
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'
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.