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.