Puis-je exécuter Snappy Ubuntu Core en tant qu'invité dans Docker?


10

Je suis conscient que Snappy Ubuntu peut héberger des conteneurs Docker. Ma question est de savoir s'il peut également être exécuté à l'intérieur d'un conteneur, en tant qu'invité Docker.

La raison pour laquelle je pose la question est que je ne trouve aucun conteneur invité Snappy VM dans le référentiel Docker public.

Réponses:


10

Oui, vous pouvez: Snappy est juste une version allégée d'Ubuntu, et Ubuntu fonctionne dans Docker. Le fait que Snappy n'apparaisse pas dans le référentiel public Docker implique que vous devez faire les choses manuellement.

  1. Tout d'abord, obtenez la dernière image:

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

    Ce fichier est une image QCOW2 destinée à QEMU / KVM, mais nous pouvons également extraire son contenu pour Docker.

  2. Afin d'accéder aux fichiers à l'intérieur d'une image QCOW2, vous en aurez besoin qemu-nbd, alors installez-la et exécutez:

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

    Cette commande va créer un "disque virtuel" nommé /dev/ndb0, avec des "partitions virtuelles" nommées /dev/ndb0pX. Utilisez fdisk -l /dev/nbd0pour vous faire une idée des partitions présentes dans l'image QCOW2.

  3. La partition qui vous intéresse est /dev/ndb0p3, alors montez-la:

    mount /dev/ndb0p3 /somewhere
    
  4. Tu as presque fini! Suivez simplement le guide de Docker sur les images de base personnalisées :

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

Vous êtes maintenant prêt à créer vos images Snappy au-dessus de cette image de base. Par exemple, j'ai créé une image snappy_test avec l'application xkcd-webserver installée. Voici le que Dockerfilej'ai utilisé:

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

2
N'y a-t-il pas une image Docker publique pour Snappy?
Robin Winslow

Pouvez-vous revoir votre réponse, s'il vous plaît? Il semble que votre solution ne fonctionne plus avec l'image ubuntu-core actuelle: cdimage.ubuntu.com/ubuntu-core/16/stable/current/…
chrisber

1
@ Karl2011 Je vais essayer de m'en occuper dès que j'aurai du temps libre :)
Andrea Corbellini
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.