2016-02-12 14 views
5

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ą.

+1

Twój kontener nie może rozpoznać proxy.gc.corp.com przez dns. Czy potrafisz rozwiązać adresy w uruchomionym kontenerze? – Matt

+0

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ś. –

+0

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

Odpowiedz

Powiązane problemy