ฉันสามารถใช้งาน Snappy Ubuntu Core ในฐานะแขกภายใน Docker ได้หรือไม่?


10

ฉันรู้ว่า Snappy Ubuntu สามารถโฮสต์คอนเทนเนอร์ Docker ได้ คำถามของฉันคือมันสามารถทำงานภายในคอนเทนเนอร์ได้หรือไม่ในฐานะแขกของนักเทียบท่า

เหตุผลที่ฉันถามคือฉันไม่พบคอนเทนเนอร์ของแขก Snappy VM ในที่เก็บ Docker สาธารณะ

คำตอบ:


10

ใช่คุณสามารถทำได้: Snappy เป็นเพียง Ubuntu รุ่นที่ถอดแล้วและ Ubuntu ทำงานได้ใน Docker ข้อเท็จจริงที่ว่า Snappy ไม่ปรากฏในที่เก็บ Docker สาธารณะหมายความว่าคุณต้องทำสิ่งต่างๆด้วยตนเอง

  1. ก่อนอื่นรับภาพล่าสุด:

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

    ไฟล์นี้เป็นรูปภาพ QCOW2 สำหรับ QEMU / KVM แต่เราสามารถแยกเนื้อหาสำหรับ Docker ได้เช่นกัน

  2. ในการเข้าถึงไฟล์ภายในอิมเมจ QCOW2 คุณจะต้องqemu-nbdติดตั้งและเรียกใช้:

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

    คำสั่งนี้จะสร้าง "ดิสก์เสมือน" ชื่อ/dev/ndb0กับ "พาร์ทิชันเสมือน" /dev/ndb0pXการตั้งชื่อ ใช้fdisk -l /dev/nbd0เพื่อรับทราบว่าพาร์ทิชันใดอยู่ในอิมเมจ QCOW2

  3. พาร์ติชันที่คุณสนใจคือ/dev/ndb0p3ติดตั้งเพื่อ:

    mount /dev/ndb0p3 /somewhere
    
  4. เกือบเสร็จแล้ว! เพียงทำตามคำแนะนำของนักเทียบท่าบนภาพฐานที่กำหนดเอง :

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

ตอนนี้คุณพร้อมที่จะสร้างภาพ Snappy ของคุณที่ด้านบนของภาพฐานนั้น ตัวอย่างเช่นฉันสร้างภาพsnappy_test เมื่อติดตั้งแอปxkcd-webserver นี่คือสิ่งที่Dockerfileฉันใช้:

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

2
ไม่มีภาพ Docker สาธารณะสำหรับ Snappy หรือไม่
Robin Winslow

คุณช่วยกรุณาทบทวนคำตอบของคุณได้ไหม? ดูเหมือนว่าการแก้ปัญหาของคุณไม่ได้ทำงานอีกต่อไปกับปัจจุบันอูบุนตู-core ภาพ: cdimage.ubuntu.com/ubuntu-core/16/stable/current/...
chrisber

1
@ Karl2011 ฉันจะพยายามที่จะดูเป็นมันทันทีที่ฉันมีเวลาว่าง :)
อันเดรีย Corbellini
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.