Como criar e executar um contêiner Docker 'Olá Mundo'

DockerBeginner
Pratique Agora

Introdução

Docker é uma poderosa plataforma de contentores que revolucionou a forma como desenvolvedores constroem, implantam e gerenciam aplicações. Neste tutorial, guiaremos você pelo processo de criação e execução de um contêiner Docker simples "Olá Mundo", que é um ótimo ponto de partida para aprender Docker.

Introdução ao Docker

Docker é uma plataforma de código aberto popular que permite aos desenvolvedores construir, implantar e executar aplicações em um ambiente de contentores. Os contentores são pacotes de software leves, autônomos e executáveis que incluem tudo o que é necessário para executar uma aplicação, como o código, o tempo de execução, as ferramentas do sistema e as bibliotecas.

O que é Docker?

Docker é uma ferramenta projetada para facilitar a criação, implantação e execução de aplicações usando contentores. Os contentores permitem que um desenvolvedor empacote uma aplicação com todas as partes necessárias, como bibliotecas e outras dependências, e a envie como um único pacote.

Arquitetura do Docker

A arquitetura do Docker consiste nos seguintes componentes principais:

graph TD A[Cliente Docker] --> B[Demônio Docker] B --> C[Imagens Docker] B --> D[Contêineres Docker] B --> E[Registros Docker]
  • Cliente Docker: A interface do usuário para interagir com o sistema Docker.
  • Demônio Docker: O processo em segundo plano que gerencia objetos Docker, como imagens, contentores, redes e volumes.
  • Imagens Docker: Modelos para criar contentores Docker.
  • Contêineres Docker: Instâncias executáveis de imagens Docker.
  • Registros Docker: Repositórios para armazenar e distribuir imagens Docker.

Benefícios do Uso do Docker

  • Consistência: Docker garante que as aplicações funcionem da mesma forma, independentemente da infraestrutura subjacente.
  • Escalabilidade: Os contentores Docker podem ser facilmente escalonados para cima ou para baixo com base nas necessidades de recursos da aplicação.
  • Portabilidade: Os contentores Docker podem ser executados em qualquer máquina com Docker instalado, independentemente do sistema operacional subjacente.
  • Eficiência: Os contentores Docker são leves e usam menos recursos em comparação com máquinas virtuais tradicionais.

Começando com Docker

Para começar com Docker, você precisará instalar o motor Docker em seu sistema. Você pode baixar e instalar o Docker no site oficial do Docker (https://www.docker.com/get-started). Após a instalação, você poderá começar a usar o Docker para construir e executar suas aplicações.

Construindo um Contêiner Docker "Olá Mundo"

Nesta seção, aprenderemos como construir um simples contêiner Docker "Olá Mundo".

Criando um Dockerfile

Um Dockerfile é um arquivo de texto que contém as instruções para construir uma imagem Docker. Vamos criar um Dockerfile simples:

## Use a imagem oficial Ubuntu 22.04 como imagem base
FROM ubuntu:22.04

## Defina o diretório de trabalho para /app
WORKDIR /app

## Copie o script "hello.sh" para o contêiner
COPY hello.sh .

## Torne o script executável
RUN chmod +x hello.sh

## Defina o comando para executar o script quando o contêiner iniciar
CMD ["./hello.sh"]

Neste Dockerfile, nós:

  1. Usamos a imagem oficial Ubuntu 22.04 como imagem base.
  2. Definimos o diretório de trabalho para /app.
  3. Copiamos o script "hello.sh" para o contêiner.
  4. Tornamos o script executável.
  5. Definimos o comando para executar o script quando o contêiner iniciar.

Construindo a Imagem Docker

Para construir a imagem Docker, execute o seguinte comando no mesmo diretório do Dockerfile:

docker build -t hello-world .

Este comando construirá a imagem Docker com a tag "hello-world".

Verificando a Imagem

Você pode listar todas as imagens Docker em seu sistema executando:

docker images

Você deverá ver a imagem "hello-world" na lista.

Executando e Explorando o Contêiner "Olá Mundo"

Agora que construímos a imagem Docker "hello-world", vamos executar e explorar o contêiner.

Executando o Contêiner

Para executar o contêiner "hello-world", use o seguinte comando:

docker run hello-world

Este comando iniciará o contêiner e executará o comando definido no Dockerfile (ou seja, executando o script "hello.sh").

Você deverá ver a saída:

Hello, LabEx!

Explorando o Contêiner

Você pode explorar o contêiner em execução usando vários comandos Docker:

  1. Listar contêineres em execução:

    docker ps

    Isso mostrará os contêineres em execução em seu sistema.

  2. Inspecionar o contêiner:

    docker inspect hello-world

    Isso fornecerá informações detalhadas sobre o contêiner, como sua configuração, configurações de rede e muito mais.

  3. Visualizar os logs do contêiner:

    docker logs hello-world

    Isso exibirá a saída do script "hello.sh" executado no contêiner.

  4. Executar um comando no contêiner em execução:

    docker exec -it hello-world /bin/bash

    Isso iniciará uma nova sessão interativa dentro do contêiner em execução, permitindo que você explore o sistema de arquivos do contêiner e execute comandos adicionais.

Parando e Removendo o Contêiner

Para parar o contêiner em execução, use o seguinte comando:

docker stop hello-world

Para remover o contêiner, use o seguinte comando:

docker rm hello-world

Isso parará e removerá o contêiner "hello-world" do seu sistema.

Resumo

Neste tutorial, você aprendeu a criar e executar um contêiner Docker "Olá Mundo". Ao compreender os conceitos básicos de contêineres Docker, você deu o primeiro passo para dominar esta poderosa tecnologia. O Docker permite que você empacote seus aplicativos e suas dependências em unidades portáteis e autocontidas, facilitando o desenvolvimento, a implantação e a gestão de seu software em diferentes ambientes. Com o conhecimento adquirido neste tutorial, você agora pode explorar conceitos mais avançados do Docker e começar a construir seus próprios aplicativos em contêineres.