क्या मैं डॉकर के अंदर एक अतिथि के रूप में स्नैपी उबंटू कोर चला सकता हूं?


10

मुझे पता है कि स्नैपी उबंटू डॉकटर कंटेनरों की मेजबानी कर सकता है। मेरा सवाल यह है कि क्या इसे डॉकटर अतिथि के रूप में कंटेनर के अंदर भी चलाया जा सकता है।

कारण मैं पूछ रहा हूँ कि मैं सार्वजनिक Docker रिपॉजिटरी में किसी भी Snappy VM अतिथि कंटेनर नहीं ढूँढ सकता।

जवाबों:


10

हां, आप कर सकते हैं: स्नैपी उबंटू का सिर्फ एक छीन लिया गया संस्करण है, और उबंटू डॉकर के अंदर काम करता है। तथ्य यह है कि स्नैपी सार्वजनिक डॉकर रिपॉजिटरी के अंदर प्रकट नहीं होता है इसका मतलब है कि आपको चीजों को मैन्युअल रूप से करना होगा।

  1. सबसे पहले, नवीनतम छवि प्राप्त करें:

    wget http://cdimage.ubuntu.com/ubuntu-core/preview/ubuntu-core-alpha-02_amd64-virt.img
    

    यह फ़ाइल QQU / KVM के लिए एक QCOW2 छवि है, लेकिन हम इसकी सामग्री को Docker के लिए भी निकाल सकते हैं।

  2. QCOW2 छवि के अंदर फ़ाइलों को एक्सेस करने के लिए, आपको इसकी आवश्यकता होगी qemu-nbd, इसलिए इसे इंस्टॉल करें और चलाएं:

    qemu-nbd -c /dev/nbd0 ubuntu-core-alpha-02_amd64-virt.img
    

    यह कमांड एक "वर्चुअल डिस्क" बनाएगी /dev/ndb0, जिसका नाम "वर्चुअल पार्टीशन" होगा /dev/ndb0pXfdisk -l /dev/nbd0QCOW2 छवि के अंदर कौन से विभाजन हैं, यह जानने के लिए उपयोग करें ।

  3. जिस भाग में आपकी रुचि है /dev/ndb0p3, उसे माउंट करें:

    mount /dev/ndb0p3 /somewhere
    
  4. आप लगभग कर चुके हैं! बस कस्टम बेस छवियों पर डॉकर गाइड का पालन ​​करें :

    tar -C /somewhere -c . | docker import - snappy
    

अब आप उस बेस इमेज के ऊपर अपनी Snappy इमेज बनाने के लिए तैयार हैं। उदाहरण के लिए, मैंने xkcd-webserver ऐप इंस्टॉल करने के साथ एक snappy_test इमेज बनाई । यहाँ मैंने प्रयोग किया है:Dockerfile

FROM snappy:latest
RUN snappy install xkcd-webserver
EXPOSE 80

2
क्या स्नैपी के लिए एक सार्वजनिक डॉकटर छवि नहीं है?
रॉबिन विंसलो

क्या आप कृपया अपना उत्तर फिर से दे सकते हैं? ऐसा लगता है कि आपका समाधान वर्तमान ubuntu-core छवि के साथ काम नहीं करता है: cdimage.ubuntu.com/ubuntu-core/16/stable/current/…
chrisber

1
@ Karl2011 मैं इसे देखने की कोशिश करूंगा जैसे ही मेरे पास कुछ खाली समय होगा :)
एंड्रिया कोरबेलिनी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.