Wdrażam niektóre usługi node.js w systemie korporacyjnym w kontenerach docker. Moi Dockerfiles za te usługi są bardzo podstawowe, z tym wyjątkiem, że ja ustawień proxy zmienne środowiskowe:Instalacja NPM kończy się niepowodzeniem w kontenerze Docker, ale działa na hoście w/korporacyjnym proxy
FROM node:4.2.3
ADD . /src
WORKDIR /src
ENV http_proxy http://proxy.gc.corp.com:8888/
ENV https_proxy http://proxy.gc.corp.com:8888/
ENV HTTP_PROXY http://proxy.gc.corp.com:8888/
ENV HTTPS_PROXY http://proxy.gc.corp.com:8888/
RUN npm install --production
EXPOSE 3000
CMD npm start >> /log/eva_web_api
Kiedy budować moje zdjęcie z tego pliku pojawia się następujący błąd z KMP:
error on last attempt: Error: tunneling socket could not be established, cause=getaddrinfo ENOTFOUND proxy.gc.corp.com proxy.gc.corp.com:8888
Jednak po przeprowadzeniu instalacji NPM na komputerze głównym (z zainstalowanym Node.js i Dockerem) instalacja NPM przebiega normalnie i kończy się bez problemu. Jeden z hostów Mam te same zmienne ENV, które zdefiniowałem w moim pliku Dockerfile.
Każdy ma jakieś pomysły co do tego, co się tutaj dzieje, mam bilet otwarty z moim zespołem ds. Sieci odpowiedzialnym za serwer proxy, ale one jeszcze nie pomogą.
Twój kontener nie może rozpoznać proxy.gc.corp.com przez dns. Czy potrafisz rozwiązać adresy w uruchomionym kontenerze? – Matt
Nie, nie mogę, masz rację. Dlaczego różni się on od kontenera dokera niż te same połączenia HTTP wykonywane na hoście? Obaj są Ubunutu 14.04 OS, zgaduję kontener Docker I.P. lub coś. –
Trudno powiedzieć, powinien normalnie działać. Jaką wersję okna dokowanego? Co mówią twoje kontenery '/ etc/resolv.conf'? Czy możesz pingować cokolwiek zewnętrznego ze swojego kontenera? – Matt