खोज…


डॉकटर का उपयोग करते हुए जेनकिंस सीआई कंटेनर

इस अध्याय में वर्णन किया गया है कि जेनकींस के साथ डॉकटर कंटेनर कैसे स्थापित किया जाए, जो होस्ट के डॉकर इंस्टॉलेशन (डॉकर डेमॉन) को डॉकर कमांड भेजने में सक्षम है। प्रभावी रूप से डॉकर में डॉकर का उपयोग करना। इसे प्राप्त करने के लिए, हमें एक कस्टम डॉकर छवि का निर्माण करना होगा जो कि आधिकारिक जेनकिन्स डोकर छवि के एक मनमाने संस्करण पर आधारित है। Dockerfile (चित्र बनाने का निर्देश) इस तरह दिखता है:

FROM jenkins

USER root

RUN cd /usr/local/bin && \
curl https://master.dockerproject.org/linux/amd64/docker > docker  && \
chmod +x docker  && \
groupadd -g 999 docker && \
usermod -a -G docker jenkins
    
USER Jenkins

यह Dockerfile एक छवि बनाता है जिसमें Docker क्लाइंट बायनेरिज़ होता है इस क्लाइंट का उपयोग Docker Daemon के साथ संवाद करने के लिए किया जाता है। इस मामले में मेजबान के डॉकर डेमन। इस फ़ाइल में RUN स्टेटमेंट UID 999 के साथ एक UNIX उपयोगकर्ता समूह भी बनाता है और उपयोगकर्ता जेनकींस को इसमें जोड़ता है। ऐसा क्यों जरूरी है, इसका वर्णन आगे के अध्याय में किया गया है। इस छवि के साथ हम जेनकींस सर्वर चला सकते हैं जो डॉकर कमांड का उपयोग कर सकता है, लेकिन अगर हम इस छवि को डॉक ग्राहक को चलाते हैं, तो हम छवि के अंदर स्थापित होस्ट के डॉकर डेमन के साथ संवाद नहीं कर सकते हैं। ये दो घटक UNIX सॉकेट /var/run/docker.sock माध्यम से संवाद करते हैं। यूनिक्स पर यह सब कुछ की तरह एक फ़ाइल है, इसलिए हम इसे जेनकिंस कंटेनर के अंदर आसानी से माउंट कर सकते हैं। यह कमांड docker run -v /var/run/docker.sock:/var/run/docker.sock --name jenkins MY_CUSTOM_IMAGE_NAME साथ किया जाता है। लेकिन यह माउंटेड फ़ाइल docker docker:root स्वामित्व में है और इस वजह से Dockerfile इस समूह को एक अच्छी तरह से UID के साथ बनाता है और जेनकींस उपयोगकर्ता को इसमें जोड़ता है। अब जेनकिन कंटेनर डॉकर चलाने और उपयोग करने में वास्तव में सक्षम है। उत्पादन में रन कमांड में -v jenkins_home:/var/jenkins_home भी होना चाहिए -v jenkins_home:/var/jenkins_home Jenkins_home निर्देशिका का बैकअप -v jenkins_home:/var/jenkins_home लिए -v jenkins_home:/var/jenkins_home और निश्चित रूप से नेटवर्क पर सर्वर तक पहुंचने के लिए पोर्ट-मैपिंग।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow