2013-10-12 17 views
22

this github issue के अनुसार डॉकर 0.6 या बाद में अपस्टार्ट, क्रॉन इत्यादि के साथ एक पूर्ण कंटेनर शुरू करना संभव होना चाहिए, लेकिन मैं यह कैसे कर सकता हूं?डॉकर में पूरा कंटेनर शुरू करें?

मैं उम्मीद कर रहा था कि

docker run -t -i ubuntu /sbin/init 

जैसे
lxc-start -n ubuntu /sbin/init 

काम करेगा और मैं एक लॉगिन स्क्रीन मिलेगा, लेकिन इसके बजाय यह कुछ भी नहीं प्रदर्शित करता है। मैंने एसएसएच का उपयोग करके इसे एक्सेस करने का भी प्रयास किया, लेकिन कोई भाग्य नहीं। मैं डॉकर इंडेक्स से डिफ़ॉल्ट ubuntu छवि का उपयोग कर रहा हूँ।

उत्तर

21

docker run ubuntu /sbin/init 0.6.6 के साथ मेरे लिए बेकार ढंग से काम करता प्रतीत होता है। आपको लॉगिन स्क्रीन नहीं मिलेगी क्योंकि डॉकर केवल प्रक्रिया का प्रबंधन करता है। इसके बजाय, आप पूर्ण lxc कंटेनर आईडी प्राप्त करने के लिए docker ps -notrunc का उपयोग कर सकते हैं और उसके बाद उस कंटेनर में रूट के रूप में lxc-attach -n <container_id> रन बैश का उपयोग कर सकते हैं। एसएसडीडी कंटेनर में स्थापित नहीं है, इसलिए आप इसे एसएसएच नहीं कर सकते हैं।

1

आप ubuntu-नवोदय छवि का उपयोग कर सकते हैं:

docker run -t -i ubuntu-upstart:14.04 /sbin/init

हालांकि यह समाधान दुर्भाग्य से हटाई गई है, यह काफी अच्छा है, तो आप एक पूर्ण ओएस कंटेनर की जरूरत है कि एक सामान्य Ubuntu 12.04 की तरह 'ड्राइव', 14.04 या 14.10 (आज बदलें: 14.04 बिट) सिस्टम। यदि कोई संस्करण निर्दिष्ट नहीं है तो यह 14.04 पर डिफ़ॉल्ट है। मैंने इसे बहुत अधिक उपयोग नहीं किया है, और कुछ जटिल पैकेज स्थापित करने में कुछ समस्याएं थीं (उदा। डीबीयूएस!), लेकिन यह आपके लिए काम कर सकती है।

अलास उबंटू ने हाल ही में रिलीज़ में सिस्टम में स्विच किया है। गुगलिंग से पता चलता है कि ऊंचे विशेषाधिकारों की आवश्यकता के बिना एक डॉकर कंटेनर में व्यवस्थित काम करने के लिए चल रहे काम प्रतीत होते हैं, लेकिन यह प्राइम टाइम के लिए काफी तैयार नहीं लगता है। उम्मीद है कि यह तैयार होगा जब 16.04 एलटीएस बन जाएगा।

एक और विकल्प फ़्यूज़न/बेसिमेज का उपयोग करने के लिए निश्चित रूप से है, लेकिन यह सेवाओं को शुरू करने के लिए स्वयं का दृष्टिकोण है। कम से कम बहु-प्रक्रिया कंटेनरों के लिए बेहतर अनुकूल लगता है।

+0

क्या आपके पास इस समाधान के मूल्यह्रास का लिंक है? – brujoand

+1

@ ब्रुज़ोन्द यह इस अर्थ में बहिष्कृत है कि उबंटू systemd का उपयोग करने के लिए आगे बढ़ गया है, इसलिए डॉकर कंटेनर में अपस्टार्ट काम करने के लिए किए गए काम 14.10 के बाद उबंटू के संस्करणों के लिए उपयोगी नहीं होंगे। – NeilenMarais

+0

मेरा वर्तमान ग्राहक (लेखन के समय) 14.04 का उपयोग करता है और ऐसा लगता है कि आधिकारिक समर्थन समाप्त होने तक अपग्रेड करने की योजना नहीं है, इसलिए यह मेरे लिए बहिष्कृत नहीं है! –

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