Criando imagens no Docker

Dicas_docker_import

Como ainda¹ não estão disponíveis imagens oficiais do Ubuntu LTS 16.04Xenial Xerus — no Docker Hub e estava justamente precisando de uma imagem nesta versão eu acabei criando a minha própria. A tarefa é relativamente simples e consiste em duas três etapas.

(¹) Ao menos no momento em que precisei dela mas talvez já esteja disponível.

Criando a nova instalação

Na primeira usa-se o debootstrap² para criar a instalação padrão desta versão. Ele se encarregará de resolver as dependências, baixar os pacotes e, claro, fazer a instalação dos pacotes necessários:

$ mkdir rootfs
$ sudo debootstrap xenial rootfs
I: Retrieving Release 
I: Retrieving Release.gpg 
I: Checking Release signature
I: Valid Release signature (key id 790BC7277767219C42C86F933B4FE6ACC0B21F32)
I: Retrieving Packages 
I: Validating Packages 
I: Resolving dependencies of required packages...
I: Resolving dependencies of base packages...
I: Checking component main on http://archive.ubuntu.com/ubuntu...
...
I: Base system installed successfully.

Como não foi especificado ele utilizará a mesma arquitetura do sistema — amd64 — mas se fosse o caso bastaria adicionar o parâmetro “- – arch=” para indicar a desejada.

(²) Caso não o tenha instalado, use “sudo apt-get install debootstrap”.

Configurando o APT

Antes se seguir adiante é necessária uma pequena alteração no arquivo “./rootfs/etc/apt/sources.list”:

$ cat ./rootfs/etc/apt/sources.list
deb http://archive.ubuntu.com/ubuntu xenial main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu xenial-updates main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu xenial-security main restricted universe multiverse

O motivo é simples, a versão criada pelo debootstrap inclui apenas o repositório “main” e assim vários programas não ficarão disponíveis.

Aliás, você pode aproveitar ainda para instalar qualquer outro programa, ou programas, adicionar outros arquivos, criar usuários etc antes de importar imagem para o Docker e assim ganhar algum tempo. Neste caso use “sudo chroot rootfs” e boa diversão! 🙂

Importando a imagem

Daí é importar para o Docker com:

$ sudo tar -C rootfs -c | docker import - giovanni_xenial:latest

Pronto! A imagem estará disponível para ser usada nos contêineres e você pode também apagar a imagem gerada pelo debootstrap.

Anúncios

Um comentário sobre “Criando imagens no Docker

  1. Pingback: Criando imagens no Docker - Peguei do

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s