Posso rodar o Snappy Ubuntu Core como convidado dentro do Docker?

9

Estou ciente de que o Snappy Ubuntu pode hospedar contêineres do Docker. Minha pergunta é se ele também pode ser executado dentro de um contêiner, como um convidado do Docker.

O motivo pelo qual estou perguntando é que não consigo encontrar nenhum contêiner de convidado do Snappy VM no repositório público do Docker.

    
por Todd Booth 29.12.2014 / 20:31

1 resposta

8

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.

  1. 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.

  2. 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 . Use fdisk -l /dev/nbd0 para ter uma ideia de quais partições estão dentro da imagem QCOW2.

  3. A partição em que você está interessado é /dev/ndb0p3 , então monte:

    mount /dev/ndb0p3 /somewhere
    
  4. 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
    
por Andrea Corbellini 24.01.2015 / 10:26