Guia Técnico: Comandos Básicos e Práticas Essenciais com Docker

Introdução

Docker é uma plataforma amplamente utilizada para empacotar, distribuir e executar aplicações dentro de containers. Este artigo reúne os comandos essenciais e práticas recomendadas para operar o Docker de forma eficiente, desde a instalação até a orquestração com Docker Compose.

1. Instalação do Docker Desktop no Windows

Antes de começar a usar o Docker no Windows, é necessário instalar o Docker Desktop, que fornece uma interface gráfica e o ambiente de execução do Docker Engine.

Pré-requisitos

  • Sistema operacional: Windows 10 ou 11 (64 bits) com suporte a virtualização.
  • Virtualização habilitada na BIOS/UEFI.
  • Conta administrativa no Windows.
  • Subsystem for Linux 2 (WSL 2) instalado (Docker Desktop pode instalar automaticamente se necessário).

Etapas de Instalação

  1. Acesse o site oficial: https://www.docker.com/products/docker-desktop/
  2. Clique em “Download for Windows” e aguarde o término do download.
  3. Execute o instalador baixado (Docker Desktop Installer.exe).
  4. Marque as opções recomendadas, como:
    • Habilitar WSL 2
    • Instalar como administrador
  5. Após a instalação, reinicie o computador se solicitado.
  6. Abra o Docker Desktop. Ao iniciar pela primeira vez, ele pode solicitar permissões para integração com WSL.
  7. Verifique se o Docker foi iniciado com sucesso: o ícone da baleia aparecerá na bandeja do sistema (systray).

2. Verificação e Gerenciamento de Containers

Verificando a Instalação

Para verificar se o Docker está corretamente instalado:

docker -v

Listando Containers

Ativos apenas:
docker ps

Todos (ativos e inativos):
docker ps -a

3. Executando Containers

Executar Ubuntu com Bash Interativo

docker run -it ubuntu:24.04 /bin/bash

Mapeando Porta para Aplicação Web

docker run -it -p 8000:80 ubuntu:24.04 /bin/bash

Persistência e Controle de Sessão

  • Sair sem encerrar o container: Ctrl + P + Q
  • Encerrar e sair: Ctrl + D

Reiniciar container:

docker start <container-id>

Acessar container em execução:

docker attach
docker exec -it sh # ou bash

4. Manipulação de Containers e Imagens

Renomear Containers

docker rename <nome-atual> <novo-nome>

Remoção de Containers

Individual:

docker rm -f

Múltiplos:

docker rm -f <id-1> <id-2> <id-3>

Visualização e Remoção de Imagens

Listar imagens:

docker images

Remover imagem:

docker rmi -f <image-id>

5. Volumes e Persistência de Dados

Para montar volumes e garantir persistência:

docker run -it -p 8000:80 -v C:\projects\docker\volume:/var/www/html ubuntu:24.04 /bin/bash

O parâmetro -v conecta um diretório do host com um diretório do container, permitindo armazenamento persistente mesmo após o encerramento do container.

6. Versionamento com Docker Hub

Criar nova imagem com alterações:

docker commit <container-id> <usuário>/<nome-imagem>:<tag>

Enviar para Docker Hub:

docker push <usuário>/<nome-imagem>:<tag>

Exemplo de como ficou no terminal:

Imagem criada e salva no Docker Hub:

Agora é possivel reutilizar a imagem executando o seguinte comando:

docker run -it fehliimaa1e622c5f073b:1.0 /bin/bash

Ou caso queira criar com a porta 80 habiiltada:

docker run -it -p 8000:80 -v /home/felipe/projects/docker/volume:/var/www/html ubuntu:24.04 /bin/bash

No exemplo acima, estou executando o comando no Linux. Se você estiver usando o Windows, o comando equivalente será algo como:

docker run -it -p 8000:80 -v C:\projects\docker\volume:/var/www/html ubuntu:24.04 /bin/bash

7. Dockerfile: Automatizando a Criação de Imagens

Exemplo de Dockerfile com Apache, PHP, MySQL e Composer

FROM ubuntu:24.04
ENV timezone=America/Sao_Paulo

RUN apt-get update && \
    ln -snf /usr/share/zoneinfo/${timezone} /etc/localtime && echo ${timezone} > /etc/timezone && \
    apt-get install -y apache2 php php-xdebug php8.0-mysql && \
    curl -sS https://getcomposer.org/installer | php && \
    mv composer.phar /usr/local/bin/composer && chmod +x /usr/local/bin/composer

EXPOSE 80
WORKDIR /var/www/html
ENTRYPOINT /etc/init.d/apache2 start && /bin/bash
CMD [ "true" ]

Construção da Imagem

docker build . -t meu-webserver

8. Orquestração com Docker Compose

Estrutura Básica do docker-compose.yml

version: "3"
services:
  db:
    image: mariadb:10.4
    environment:
      - MYSQL_USER=root
      - MYSQL_ALLOW_EMPTY_PASSWORD=yes
      - MYSQL_DATABASE=laravel
    ports:
      - "8011:3306"
    volumes:
      - ./db_data:/etc/mysql/conf.d

  app:
    image: felipelima285/webserver:1.0
    volumes:
      - ./:/var/www/html
    ports:
      - "8010:80"
    depends_on:
      - db
    tty: true

Comandos Úteis

Subir containers:

docker-compose up --build -d

Parar e remover containers:

docker-compose down

Ver logs:

docker-compose logs -f

Conclusão

Este artigo apresentou um panorama abrangente dos principais comandos e práticas recomendadas para o uso do Docker em ambientes de desenvolvimento e produção. Com a utilização de containers, Dockerfiles e orquestração via Docker Compose, é possível criar ambientes reproduzíveis, escaláveis e eficientes para qualquer aplicação.

Sobre Felipe Lima 6 Artigos
Sou formado em Gestão de Tecnologia da Informação e atualmente trabalho como Analista de Infraestrutura e Cloud. Nas horas vagas, gosto de me aventurar na área de desenvolvimento, especializando-me na criação e integração de e-commerces. Utilizo tecnologias como HTML5, CSS3, JavaScript, PHP, WordPress, Tray Commerce, Loja Integrada e Nuvemshop.

Seja o primeiro a comentar

Faça um comentário

Seu e-mail não será divulgado.


*


Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.