Andockfenster: npm install-hinter proxy
Habe ich dieses Dockerfile:
FROM node:argon
ENV http_proxy http://user:[email protected]:3128
ENV https_proxy https://user:[email protected]:3128
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
# Install app dependencies
COPY package.json /usr/src/app/
RUN npm install
# Bundle app source
COPY . /usr/src/app
EXPOSE 8080
CMD [ "npm", "start" ]
Aber ich bekomme diese Fehlermeldung, in npm installieren Schritt:
npm info, es funktionierte, wenn es endet mit ok npm-Infos [email protected] npm
Infos [email protected] npm WARNEN Paket.json [email protected] Keine
Beschreibung npm WARNEN Paket.json [email protected] Kein repository
Feld. npm WARNEN Paket.json [email protected] Keine README-Daten npm info
vorinstallieren [email protected] npm info Versuch Registrierungs-Anfrage versuchen Sie, #1
bei 7:09:23 AM npm http-Anfrage BEKOMMEN
https://registry.npmjs.org/body-parser npm info registry versuchen
Anfrage versuchen Sie, #1 bei 7:09:23 AM npm http-Anfrage BEKOMMEN
https://registry.npmjs.org/express npm info Wiederholung wiederholen, Fehler
letzter Versuch: Fehler: tunneling-socket konnte nicht eingerichtet werden,
Ursache=schreiben EPROTO npm info Wiederholung wiederholen, Fehler auf den letzten Versuch:
Fehler: tunneling-socket konnte nicht eingerichtet werden, verursachen=schreiben EPROTO
Ich denke, es ist wegen dem proxy. Ich habe auch versucht,
RUN npm config set proxy http://user:[email protected]:3128
RUN npm config set https-proxy http://user:[email protected]:3128
aber noch immer den gleichen Fehler.
Außerdem, in meiner Datei /etc/systemd/system/docker.service.d/http-proxy.conf habe ich dieses:
Environment="HTTP_PROXY=http://user:[email protected]:3128"
Environment="HTTPS_PROXY=https://user:[email protected]:3128"
Vielen Dank im Voraus.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zuerst die
https_proxy
sollten eine http url, nicht eine https-url.Zweitens, werden Sie nicht brauchen, um das einbetten der proxy-Einstellungen in Ihrem Dockfile: Sie können build-Zeit-Variablen
Schließlich proxy-Einstellungen im Andockfenster service-level können die docker-daemon zu ziehen Bilder aus dem internet. Es bedeutet nicht, den unix-Befehl, der ausgeführt werden soll (
RUN
- Richtlinie) durchdocker build
würden von Ihnen profitieren. Daher die Notwendigkeit, Sie zu übergeben, die als build-time environment-Variablen.Ich hatte auch das gleiche Problem und wollte nicht irgendwelche proxy-Informationen in mein Bild, wie ich wollte nicht abhängig sein von meiner Gesellschaft, Umwelt.
Meine Lösung war die Verwendung eines cntlm läuft im gateway-Modus. Zu tun, also legte ich die fahne
Gateway
eingestelltyes
folgende allow-Regeln in meinem cntlm-Konfiguration-Datei:Dann konnte ich meine docker-Datei, indem man die dokcer0 - interface-Adresse (hat sich mit
ifconfig
Befehl):(Nur, dass Sie wissen, dieses Paket wurde von mir selbst geschrieben)
Können Sie docker-container-proxy, es ermöglicht die Konfiguration eines proxy für alle docker-container ohne Bearbeitung beliebiger code.
Ausgeführt werden: