Introdução ao Docker: Como começar com contêineres Docker

Leandro Padula

Share this article

Se você é novo no mundo do Docker, pode estar se perguntando o que são os contêineres Docker e como começar a usá-los. Docker é uma ferramenta poderosa que permite criar e executar aplicações de maneira portátil e eficiente. Neste artigo, vamos cobrir o básico sobre contêineres Docker e mostrar como começar a usá-los.

O que são os contêineres Docker?

Os contêineres Docker são ambientes leves, portáteis e autossuficientes que permitem empacotar e executar aplicações com todas as suas dependências. Os contêineres são semelhantes às máquinas virtuais (VMs), mas são muito mais eficientes e fáceis de usar. Os contêineres não requerem um sistema operacional separado, portanto, podem ser executados mais rapidamente e com menos sobrecarga do que as VMs.

Os contêineres Docker são baseados em imagens, que são modelos pré-construídos que contêm tudo o que é necessário para executar uma aplicação. As imagens incluem o código da aplicação, bibliotecas e quaisquer outras dependências necessárias para executar a aplicação. Você pode pensar nas imagens como os blocos de construção dos contêineres Docker.

Alguns conceitos adicionais:

Registro Docker: Um registro Docker é um repositório central onde as imagens Docker são armazenadas e distribuídas. O registro mais comumente usado é o Docker Hub, que é um registro público que hospeda milhões de imagens pré-construídas. Você também pode configurar seu próprio registro privado para armazenar e compartilhar imagens dentro de sua organização.

Dockerfile: Um Dockerfile é um arquivo de texto que contém um conjunto de instruções para construir uma imagem Docker. Cada instrução no Dockerfile cria uma nova camada na imagem. Usando um Dockerfile, você pode automatizar o processo de construção e configuração de suas imagens, facilitando a reprodução e o compartilhamento delas.

Volume: Um volume Docker é uma maneira de armazenar e gerenciar dados em um contêiner. Os volumes são criados e gerenciados fora do contêiner e podem ser compartilhados entre contêineres. Os volumes são frequentemente usados para persistir dados entre reinicializações de contêineres e para compartilhar dados entre contêineres.

Rede: O Docker fornece um sistema de rede poderoso que permite que os contêineres se comuniquem entre si, bem como com o sistema host e outras redes externas. Por padrão, cada contêiner é conectado a uma rede virtual, que fornece isolamento e segurança.

Docker Compose: Docker Compose é uma ferramenta para definir e executar aplicações Docker de múltiplos contêineres. Com o Docker Compose, você pode definir os serviços, redes e volumes para sua aplicação em um único arquivo YAML e, em seguida, usar um único comando para iniciar e parar toda a aplicação. Isso facilita o gerenciamento de aplicações complexas que consistem em múltiplos contêineres.

Como iniciar contêineres Docker?

Para iniciar um contêiner Docker, você precisa seguir estes passos básicos:

Instalar Docker

O primeiro passo é instalar o Docker no seu sistema. O Docker está disponível para Windows, macOS e Linux. Você pode baixar a versão apropriada para o seu sistema no site do Docker.

Para instalar o Docker no Ubuntu, você pode seguir estas etapas:

Atualize o índice de pacotes apt e instale pacotes para permitir que o apt use um repositório via HTTPS:

sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

Adicione a chave GPG oficial do Docker:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Use o seguinte comando para configurar o repositório estável do Docker:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

Atualize o índice de pacotes apt e instale a versão mais recente do Docker CE e containerd:

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

Instale docker-compose

Docker Compose é uma ferramenta que permite definir e executar aplicações Docker de múltiplos contêineres. Você pode instalar o Docker Compose no Ubuntu seguindo estes passos:

Baixe a versão estável atual do Docker Compose:

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Aplique permissões executáveis ao binário:

sudo chmod +x /usr/local/bin/docker-compose

Verifique se a instalação foi bem-sucedida verificando a versão

docker-compose --version

Defina um serviço no arquivo Docker Compose

Para começar, vamos criar um arquivo docker-compose.yml. Por exemplo, podemos definir um serviço para o contêiner Nginx nele, usando a imagem oficial do Nginx do Docker Hub. Precisamos especificar o ponto de montagem para os arquivos do servidor web, que estarão localizados no diretório /var/www/html.

version: '3'

services:

  web:
    image: nginx
    volumes:
      - ./webserver-files:/var/www/html
    ports:
      - "80:80"

Construa ou puxe a imagem

Como estamos usando a imagem oficial do Nginx do Docker Hub, não precisamos construir a imagem. Podemos simplesmente puxá-la executando o seguinte comando:

docker-compose pull

Inicie o contêiner

Inicie o contêiner Nginx executando o seguinte comando:

docker-compose up -d

Uma vez que o contêiner esteja em execução, você pode se conectar ao servidor web abrindo um navegador e navegando para http://localhost. Você deve ver a página padrão do Nginx. Qualquer arquivo colocado no diretório ./webserver-files no seu computador local será servido pelo servidor web, já que ele está montado como o diretório raiz do servidor web.

Conclusão

Os contêineres Docker são uma ferramenta poderosa para construir, implantar e executar aplicações de forma portátil e eficiente. Com o Docker, você pode empacotar suas aplicações e suas dependências em contêineres leves e portáteis que podem ser executados em qualquer lugar. Seguindo os passos básicos descritos neste artigo, você pode começar a usar contêineres Docker hoje e aproveitar seus muitos benefícios.

Leandro Padula

Software development expert with a proven track record of delivering successful solutions for companies of all sizes.

Share this article

Deixe um comentário

Related articles

Ready to get your project started?

Book a call