Sí, puedes: Snappy es solo una versión simplificada de Ubuntu, y Ubuntu funciona dentro de Docker. El hecho de que Snappy no aparezca dentro del repositorio público de Docker implica que debe hacer las cosas manualmente.
Primero, obtenga la última imagen:
wget http://cdimage.ubuntu.com/ubuntu-core/preview/ubuntu-core-alpha-02_amd64-virt.img
Este archivo es una imagen QCOW2 destinada a QEMU / KVM, pero también podemos extraer su contenido para Docker.
Para acceder a los archivos dentro de una imagen QCOW2, necesitará qemu-nbd
, así que instálelo y ejecute:
qemu-nbd -c /dev/nbd0 ubuntu-core-alpha-02_amd64-virt.img
Este comando creará un "disco virtual" llamado /dev/ndb0
, con "particiones virtuales" llamado /dev/ndb0pX
. Úselo fdisk -l /dev/nbd0
para tener una idea de qué particiones están dentro de la imagen QCOW2.
La partición que le interesa es /dev/ndb0p3
, así que móntela:
mount /dev/ndb0p3 /somewhere
¡Estas casi listo! Simplemente siga la guía de Docker sobre imágenes de base personalizadas :
tar -C /somewhere -c . | docker import - snappy
Ahora está listo para crear sus imágenes Snappy encima de esa imagen base. Por ejemplo, creé una imagen snappy_test con la aplicación xkcd-webserver instalada. Aquí está el Dockerfile
que usé:
FROM snappy:latest
RUN snappy install xkcd-webserver
EXPOSE 80