O que é uma imagem?

Olá pessoal,

Hoje vamos falar a sobre images, mas a final o que são images no Docker?

Images Docker são compostas por sistemas de arquivos de camadas que ficam uma sobre as outras. Ela é a nossa base para construção de uma aplicação, ela pode ser desde o base do CentOS como também um CentOS com Apache, PHP e MySQL.

Em uma Image temos o que chamamos de base que é um sistema de arquivos de inicialização bootfs, que é muito parecido com o sistema de boot do Linux / Unix. Nessa parte é onde temos toda a criação dos cgroups para fazer todo o controle e limitações de processos, namespace para blindar o container. O Docker nunca irá interagir com o sistema de arquivos de inicialização, pois quando o recipiente é iniciado ele é movido para a memória e o boot do sistema de arquivos é desmontado para liberar a memória RAM usada pela imagem de disco initrd. Isso parece muito com a pilha de virtualização típica do Linux. A próxima camada de uma imagem é a raiz na qual trabalha o rootfs, na parte superior do sistema de arquivos de inicialização, este rootfs pode ser um ou mais sistemas operacionais (Ex: Ubuntu, CentOS).

No momento do boot o sistema de arquivos raiz é montado somente leitura e depois de uma checagem de integridade é alterado para leitura e gravação. Isso no começo pode ser muito confuso, mas com a imagem abaixo vocês devem entender melhor como funciona.

docker-filesystems-busyboxrw

Como podemos ver na imagem, temos a parte dobootfs que é a parte do Kernel e a também a camada do rootfs que é a do Debian. Mais acima temos algumas adições de features na imagem que são add emacs e add apache. Todas essas camadas abaixo são somente leitura então nada será alterado nessas partes, a camada de escrita é apenas a que está acima dessas outras quatro camadas, é nessa camada que o usuário ou administrador do container irá interagir e poderá criar novas imagens, por exemplo adicionando um serviço php e dai criará uma nova imagem com mais uma camada somente leitura e assim vamos criando nossas imagens.

Por hoje é isso pessoal, em breve vamos estar mostrando como criar uma imagem, então fique ligado em nossos posts.