Posso eseguire Snappy Ubuntu Core come ospite all'interno di Docker?


10

Sono consapevole che Snappy Ubuntu può ospitare container Docker. La mia domanda è se può essere eseguito anche all'interno di un container, come ospite Docker.

Il motivo per cui sto chiedendo è che non riesco a trovare alcun contenitore guest VM Snappy nel repository Docker pubblico.

Risposte:


10

Sì, puoi: Snappy è solo una versione ridotta di Ubuntu e Ubuntu funziona all'interno di Docker. Il fatto che Snappy non appaia nel repository Docker pubblico implica che devi fare le cose manualmente.

  1. Innanzitutto, ottieni l'ultima immagine:

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

    Questo file è un'immagine QCOW2 pensata per QEMU / KVM, ma possiamo estrarne il contenuto anche per Docker.

  2. Per accedere ai file all'interno di un'immagine QCOW2, è necessario qemu-nbd, quindi installarlo ed eseguire:

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

    Questo comando creerà un "disco virtuale" denominato /dev/ndb0, con "partizioni virtuali" denominato /dev/ndb0pX. Utilizzare fdisk -l /dev/nbd0per farsi un'idea di quali partizioni sono all'interno dell'immagine QCOW2.

  3. La partizione che ti interessa è /dev/ndb0p3, quindi montala:

    mount /dev/ndb0p3 /somewhere
    
  4. Hai quasi finito! Segui la guida di Docker su immagini di base personalizzate :

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

Ora sei pronto per creare le tue immagini Snappy sopra l'immagine di base. Ad esempio, ho creato un'immagine snappy_test con l' app xkcd-webserver installata. Ecco l' Dockerfileho usato:

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

2
Non esiste un'immagine Docker pubblica per Snappy?
Robin Winslow,

Puoi per favore rivisitare la tua risposta? Sembra che la tua soluzione non funzioni più con l'attuale immagine di Ubuntu: cdimage.ubuntu.com/ubuntu-core/16/stable/current/…
chrisber

1
@ Karl2011 Proverò a esaminarlo non appena avrò del tempo libero :)
Andrea Corbellini,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.