Sim, você pode: O Snappy é apenas uma versão simplificada do Ubuntu, e o Ubuntu funciona dentro do Docker. O fato de o Snappy não aparecer no repositório público do Docker implica que você precisa fazer as coisas manualmente.
Primeiro, obtenha a imagem mais recente:
wget http://cdimage.ubuntu.com/ubuntu-core/preview/ubuntu-core-alpha-02_amd64-virt.img
Este arquivo é uma imagem QCOW2 destinada ao QEMU / KVM, mas também podemos extrair seu conteúdo para o Docker.
Para acessar os arquivos dentro de uma imagem QCOW2, você precisará qemu-nbd
, instale-o e execute:
qemu-nbd -c /dev/nbd0 ubuntu-core-alpha-02_amd64-virt.img
Este comando criará um "disco virtual" chamado /dev/ndb0
, com "partições virtuais" nomeadas /dev/ndb0pX
. Use fdisk -l /dev/nbd0
para ter uma idéia de quais partições estão dentro da imagem QCOW2.
A partição que você está interessado é /dev/ndb0p3
, então monte-a:
mount /dev/ndb0p3 /somewhere
Você está quase pronto! Basta seguir o guia do Docker em imagens de base personalizadas :
tar -C /somewhere -c . | docker import - snappy
Agora você está pronto para criar suas imagens do Snappy em cima dessa imagem de base. Por exemplo, criei uma imagem snappy_test com o aplicativo xkcd-webserver instalado. Aqui está o que Dockerfile
eu usei:
FROM snappy:latest
RUN snappy install xkcd-webserver
EXPOSE 80