2016-01-10 16 views
5

मैं सेंटोस 7 पर डॉकर कंटेनर में जेनकींस चलाने के लिए चाहता हूं। मैंने जेनकींस के आधिकारिक दस्तावेज़ीकरण को देखा: सबसे पहले, आधिकारिक जेनकिन्स छवि को डॉकर रिपोजिटरी से खींचें।डॉकर कंटेनर में जेनकींस शुरू करना

docker pull jenkins 

अगला, इस छवि का उपयोग करके एक कंटेनर चलाएं और कंटेनर से मेजबान डेटा निर्देशिका को होस्ट करें; उदाहरण के नीचे कंटेनर से/var/jenkins_home उदाहरण में मेजबान पर वर्तमान पथ से जेनकींस/निर्देशिका में मैप किया गया है। जेनकींस 8080 बंदरगाह के रूप में भी 49001.

docker run -d -p 49001:8080 -v $PWD/jenkins:/var/jenkins_home -t jenkins 

मेजबान के संपर्क में है लेकिन जब मैं डोकर कंटेनर मैं निम्नलिखित त्रुटि मिलती है चलाने का प्रयास:

/usr/local/bin/jenkins.sh: line 25: /var/jenkins_home/copy_reference_file.log: Permission denied 

कोई मुझे बताओ कैसे इस समस्या को ठीक करने के लिए कर सकते हैं ?

+0

ठीक काम करता है: तो तुम सब करने की जरूरत है सुनिश्चित करें कि निर्देशिका $PWD/jenkinsद्वारा ही किया जाता है यूआईडी1000 है। क्या आपके पास कंटेनर चलाने के लिए एक लिखने की अनुमति है? – Opal

+0

मुझे लगता है कि यह इसके साथ एक मुद्दा है। मुझे लगता है कि मुझे यह सुनिश्चित करना है कि कंटेनर मेरे होस्ट –

+0

पर कुछ लिख सकता है हां, यदि आप इसे लगातार बनाना चाहते हैं तो आप निश्चित रूप से कंटेनर को होस्ट पर लिखने की अनुमति देते हैं। – Opal

उत्तर

11

आधिकारिक जेनकींस डोकर छवि documentation संस्करणों के बारे में कहते हैं:

docker run -p 8080:8080 -p 50000:50000 -v /your/home:/var/jenkins_home jenkins 

This will store the jenkins data in /your/home on the host. Ensure that /your/home is accessible by the jenkins user in container (jenkins user - uid 1000) or use -u some_other_user parameter with docker run.

यह जानकारी in the Dockerfile पाया जाता है।

mkdir jenkins 
chown 1000 jenkins 
docker run -d -p 49001:8080 -v $PWD/jenkins:/var/jenkins_home -t jenkins 
+0

मुझे अभी भी एक त्रुटि मिलती है: ** होम निर्देशिका '/ मीडिया/mydrive/JENKINS_HOME' बनाने में असमर्थ। यह संभवतः एक अनुमति समस्या है। ** –

+0

यानी उत्तर: डॉकर सर्वर पर यूआईडी 1000 द्वारा स्वामित्व वाले डीआईआर/आपका/घर बनाएं (जेनकिंस कंटेनर में जेनकिंस उपयोगकर्ता (यूआईडी = 1000) से मिलान करें। जेनकिंस उपयोगकर्ता जोड़ें (यूआईडी के साथ = 1000) यदि आवश्यक हो तो डॉकर सर्वर पर .. – gaoithe

+0

मैं कैसे सुनिश्चित कर सकता हूं कि यूआईडी 1000 उस फ़ोल्डर का मालिक है? –

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