पर चलता है मैं डॉकर कंटेनर के भीतर कॉर्पोरेट सिस्टम में कुछ नोड.जेएस सेवाएं तैनात कर रहा हूं। इन सेवाओं के लिए मेरे Dockerfiles, बहुत ही बुनियादी रहे हैं अपवाद है कि मैं प्रॉक्सी वातावरण चर की स्थापना कर रहा हूँ के साथ:एनपीएम इंस्टॉल डॉकर कंटेनर के अंदर विफल रहता है लेकिन मेजबान डब्ल्यू/कॉरपोरेट प्रॉक्सी
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
जब मैं इस फाइल मैं NPM से निम्न त्रुटि प्राप्त से मेरी छवि का निर्माण:
error on last attempt: Error: tunneling socket could not be established, cause=getaddrinfo ENOTFOUND proxy.gc.corp.com proxy.gc.corp.com:8888
हालांकि जब मैं मेजबान मशीन पर एनपीएम इंस्टॉल करता हूं (जिसमें नोड.जेएस के साथ-साथ डॉकर भी स्थापित होता है), एनपीएम इंस्टॉल सामान्य रूप से निष्पादित करता है और बिना किसी समस्या के पूरा करता है। एक मेजबान मेरे पास वही एनएनवी चर सेट है जैसा कि मैंने अपने डॉकरफ़ाइल में परिभाषित किया है।
किसी के पास कोई विचार है कि यहां क्या हो रहा है, मेरे पास प्रॉक्सी के प्रभारी में मेरी नेटवर्किंग टीम के साथ एक टिकट खुला है लेकिन वे अभी तक कोई मदद नहीं कर पाए हैं।
आपका कंटेनर dns के माध्यम से proxy.gc.corp.com को हल नहीं कर सकता है। क्या आप किसी चल रहे कंटेनर में किसी भी पते को हल कर सकते हैं? – Matt
नहीं, मैं नहीं कर सकता, आप सही हैं। मेजबान पर उसी http कॉल की तुलना में डॉकर कंटेनर के भीतर से यह अलग क्यों है? वे उबुनुतू 14.04 ओएस दोनों हैं, मैं डॉकर कंटेनर आईपी का अनुमान लगा रहा हूं। या कुछ और। –
कहना मुश्किल है, सामान्य रूप से काम करना चाहिए। डॉकर का क्या संस्करण? आपके कंटेनर '/ etc/resolv.conf' क्या कहते हैं? क्या आप अपने कंटेनर से बाहरी कुछ भी पिंग कर सकते हैं? – Matt