2017-07-15 24 views
5

मैं डॉकर कंटेनर में जेनकींस चलाने के लिए चाहता हूं। सब कुछ ठीक है। मैं इसे इस तरह चला सकता हूं: docker run -d --name jenkins -t -i -p 49001:8080 jenkins मैं लगातार भंडारण भी जोड़ सकता हूं। समस्या तब आई जब मैंने पाइपलाइन बनाई तो docker कमांड (build और push) निष्पादित करना पड़ सकता है। सबसे पहले त्रुटि यह थी कि सिस्टम पर डॉकर स्थापित नहीं किया गया था। हाँ, उम्मीद है। तब मैंने खोज शुरू कर दी और पता चला कि मैं कंटेनर में डॉकर कैसे चला सकता हूं (2 लगातार वॉल्यूम पास कर रहा हूं): docker run ... -v /var/run/docker.sock:/var/run/docker.sock -v $(which docker):/usr/bin/docker -p 49001:8080 jenkinsडॉकर कंटेनर में जेनकिंस (रन डॉकर पाइपलाइन)

यह चलता है, लेकिन कुछ अपवादों के साथ। कंटेनर में docker कमांड है लेकिन जब मैं इसे चलाने का प्रयास करता हूं, तो यह अपवाद फेंकता है: docker: error while loading shared libraries: libltdl.so.7: cannot open shared object file: No such file or directory

मैं इस समस्या को कैसे ठीक कर सकता हूं? डॉकर में जेनकींस स्थापित करने और इसमें डॉकर चलाने का सही तरीका क्या है? मुझे लगता है कि 2 तरीके हैं:

  1. एक है कि मैं कर रहा हूँ - सॉकेट का उपयोग
  2. मैं डोकर एपीआई कि कनेक्शन बनाने और चलाने के आदेशों

की अनुमति देता है बेनकाब कर सकते हैं वास्तव में यह जेनकींस चल रहा लायक है डॉकर में? मैंने apt-get से मैन्युअल रूप से लापता lib स्थापित करने का प्रयास किया है, लेकिन यह मुझे पता है कि यह सही तरीका नहीं है ..

+0

https://www.vip-consult.solutions/post/easy-docker-swarm-jenkins-continuous-deployment-at-scale#content मदद चाहेंगे? – VonC

उत्तर

6

आपको सबकुछ ठीक से काम करने के लिए libltdl-dev इंस्टॉल करना होगा। एक Dockerfile कि इस तरह दिखता है बनाएँ:

FROM jenkins:latest 

USER root 
RUN apt-get update \ 
     && apt-get upgrade -y \ 
     && apt-get install -y sudo libltdl-dev \ 
     && rm -rf /var/lib/apt/lists/* 
RUN echo "jenkins ALL=NOPASSWD: ALL" >> /etc/sudoers 

USER jenkins 
# Here you can install some Jenkins plugins if you want 
+0

मैंने एक साधारण वर्कअराउंड छवि बनाई है https://hub.docker.com/r/jesusperales/jenkins-docker-run-inside/ –

संबंधित मुद्दे