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 dentro do repositório público do Docker significa 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 para o QEMU / KVM, mas também podemos extrair seu conteúdo para o Docker.
-
Para acessar os arquivos dentro de uma imagem QCOW2, você precisará de
qemu-nbd
, então instale 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
. Usefdisk -l /dev/nbd0
para ter uma ideia de quais partições estão dentro da imagem QCOW2. -
A partição em que você está interessado é
/dev/ndb0p3
, então monte:mount /dev/ndb0p3 /somewhere
-
Você está quase pronto! Basta seguir o Guia do Docker sobre imagens de base personalizadas :
tar -C /somewhere -c . | docker import - snappy
Agora você está pronto para criar suas imagens do Snappy sobre essa imagem de base. Por exemplo, criei uma imagem snappy_test com o aplicativo xkcd-webserver instalado. Aqui está o Dockerfile
que usei:
FROM snappy:latest
RUN snappy install xkcd-webserver
EXPOSE 80