Construindo imagens personalizadas no Docker: tutorial para iniciantes
O Docker é uma plataforma de contêineres de software que permite criar, implantar e executar aplicativos em contêineres leves e portáteis. Os contêineres são uma forma de virtualização em que o sistema operacional é dividido em várias instâncias isoladas, cada uma das quais pode executar seu próprio aplicativo. Com o Docker, é possível empacotar um aplicativo em um contêiner, juntamente com todas as suas dependências, e executá-lo em qualquer lugar. Isso torna o desenvolvimento, implantação e gerenciamento de aplicativos muito mais fácil e eficiente. Neste post, vamos dar uma olhada nos passos necessários para criar uma imagem personalizada no Docker.
Passo 1: Crie um diretório para o Dockerfile
O primeiro passo para criar uma imagem personalizada no Docker é criar um diretório para o Dockerfile. O Dockerfile é o arquivo que descreve as instruções para construir a imagem.
Para criar o diretório, abra um terminal e execute o seguinte comando:
mkdir meu_dockerfile
Passo 2: Crie o Dockerfile
Agora que você tem um diretório para o Dockerfile, é hora de criá-lo. Abra um editor de texto e crie um novo arquivo chamado Dockerfile dentro do diretório que você acabou de criar.
vim meu_dockerfile/Dockerfile
O Dockerfile é um arquivo de texto que contém uma série de instruções para construir a imagem. Cada instrução é uma linha que começa com uma palavra-chave, seguida de um ou mais argumentos.
Passo 3: Escolha uma imagem base
O primeiro passo para criar uma imagem personalizada é escolher uma imagem base. A imagem base é a imagem do Docker que você usará como ponto de partida para a sua imagem personalizada.
Você pode escolher uma imagem base de qualquer repositório público ou privado do Docker Hub. O Docker Hub é um registro público de imagens do Docker que você pode usar como base para suas próprias imagens personalizadas.
Aqui está um exemplo de como escolher a imagem base do Ubuntu:
FROM ubuntu:latest
A palavra-chave
indica qual é a imagem base. No exemplo acima, a imagem base é a imagem mais recente do Ubuntu.FROM
Passo 4: Instale os pacotes necessários
Depois de escolher a imagem base, você pode instalar qualquer pacote ou biblioteca que precisar para sua aplicação. Você pode usar comandos
para executar essas instalações.RUN
Por exemplo, se você estiver criando uma imagem para executar um servidor web Apache, poderá instalar o Apache com o seguinte comando:
RUN apt-get update && apt-get install -y apache2
O comando
atualiza o cache do pacote e o comando apt-get update
instala o pacote Apache.apt-get install
Passo 5: Exponha as portas necessárias
Se sua aplicação precisar de acesso à rede, você deve expor as portas necessárias usando a palavra-chave
. O comando EXPOSE
informa ao Docker quais portas devem estar acessíveis quando o contêiner estiver em execução.EXPOSE
Por exemplo, se você estiver criando uma imagem para executar um servidor web Apache na porta 80, poderá expor a porta 80 com o seguinte comando:
EXPOSE 80
Passo 6: Defina o comando padrão
Por fim, você deve definir o comando padrão que será executado quando o contêiner for iniciado. Você pode fazer isso usando a palavra-chave
.CMD
Por exemplo, se você estiver criando uma imagem para executar um servidor web Apache, poderá definir o comando padrão como:
CMD ["apache2ctl", "-D", "FOREGROUND"]
O comando acima inicia o Apache quando o contêiner é iniciado e mantém o processo em execução em primeiro plano.
Passo 7: Construa a imagem
Agora que você tem o Dockerfile, é hora de usar o comando docker build para construir a imagem. Certifique-se de estar no diretório onde o Dockerfile está localizado e que tenha o seguinte conteúdo.
FROM ubuntu:latest
RUN apt-get update && apt-get install -y apache2
EXPOSE 80
CMD ["apache2ctl", "-D", "FOREGROUND"]
Execute o seguinte comando no terminal:
docker build -t minha_imagem .
O comando
é usado para construir a imagem com base no Dockerfile no diretório atual. O argumento docker build
é usado para definir o nome e a tag da imagem. O ponto no final do comando indica que o Dockerfile está no diretório atual.-t
Você também pode adicionar um grupo e versão para a imagem:
docker build -t nome_do_grupo/minha_imagem:numero-da-versao .
Passo 8: Verifique a imagem
Depois de concluir a construção da imagem, você pode usar o comando
para ver a lista de imagens disponíveis no seu sistema.docker images
docker images
A saída deve incluir a imagem que você acabou de criar.
Passo 9: Execute a imagem
Depois de construir e executar a imagem, você pode testá-la para garantir que está funcionando corretamente. Para testar uma imagem do Docker, você pode usar um navegador da web ou um utilitário de linha de comando como o
.curl
Por exemplo, se você estiver executando um servidor web Apache na porta 80, poderá abrir um navegador da web e visitar http://localhost:80 para ver se a página inicial do Apache é exibida. Se você estiver usando o
, poderá executar o seguinte comando:curl
curl http://localhost:80
Se tudo estiver funcionando corretamente, você deve ver a saída do Apache.
Passo 10: Faça o upload da imagem personalizada para o Docker Hub
Se você quiser compartilhar sua imagem personalizada com outras pessoas, pode fazer o upload dela para o Docker Hub.
Para fazer o upload da imagem, você precisa criar uma conta no Docker Hub e fazer login com o comando
. Depois disso, você pode enviar a imagem usando o comando docker push.docker login
Por exemplo, se você quiser enviar a imagem
para o Docker Hub, poderá executar o seguinte comando:minha_imagem
docker push minha_conta/minha_imagem
O comando acima envia a imagem para o registro público do Docker Hub sob sua conta.
Conclusão
Criar imagens personalizadas no Docker pode ser uma ótima maneira de automatizar a criação de ambientes de desenvolvimento e produção. Com um Dockerfile e alguns comandos do Docker, você pode criar uma imagem personalizada para executar qualquer aplicativo que precisar.
Espero que este tutorial tenha sido útil e que você possa usá-lo para criar suas próprias imagens personalizadas do Docker.