De acordo com a documentação do Docker , para construir sua própria imagem, você deve sempre especificar uma imagem de base usando a FROM
instrução.
Obviamente, há muitas imagens para escolher no índice do Docker , mas e se eu quisesse criar o meu próprio? Isso é possível?
A imagem base
é construída a partir do Ubuntu, se bem entendi, e quero experimentar uma imagem Debian. Além disso, quero realmente entender como o Docker funciona, e a base
imagem ainda é uma caixa preta para mim.
Editar: documentação oficial sobre a criação de uma imagem de base
Respostas:
Você pode dar uma olhada em como as imagens de base são criadas e continuar a partir daí.
Você pode encontrá-los aqui: https://github.com/dotcloud/docker/tree/master/contrib . Há mkimage-busybox.sh, mkimage-unittest.sh, mkimage-debian.sh
fonte
Citando Solomon Hykes :
fonte
docker
grupo.docker import - flimm/mybase
vez dedocker import flimm/mybase
debootstrap
etar
deve pelo menos ser executado sobfakeroot
.(crédito para fatherlinux) Obtenha informações em http://developerblog.redhat.com/2014/05/15/practical-introduction-to-docker-containers/ , que explica melhor
Crie os arquivos tar para o seu sistema de arquivos, simplesmente pode ser
Transfira o arquivo tar para outro sistema de janela de encaixe se não for instalado localmente e
import
queAgora você pode verificar executando-o.
Os scripts do dotcloud combinam as duas primeiras etapas, o que me deixa confuso e parece complicado no início.
A diretriz oficial do docker usando
debootstrap
também tenta limpar o sistema de arquivos.Você pode julgar por si mesmo como realizar a etapa 1.
fonte
Para começar a construir sua própria imagem do zero, você pode usar a
scratch
imagem.http://docs.docker.com/engine/articles/baseimages/#creating-a-simple-base-image-using-scratch
fonte
import
de um arquivo tar são as duas respostas canônicas, e esse link é o recurso canônico.Se você quiser fazer sua própria imagem de base, primeiro daria uma olhada nas Imagens Oficiais , especificamente
stackbrew
dentro desse repositório.Caso contrário, existem algumas ótimas referências para imagens mínimas de SO no próprio docker repo .
Por exemplo, aqui está um script para fazer uma imagem de arco mínimo e há mais aqui .
fonte