Docker Debian · 9 min read · Oct 05, 2025

Como Instalar e Usar Docker no Debian 12

Docker é um conjunto de plataformas abertas que fornece virtualização em nível de sistema operacional para desenvolver, enviar e executar aplicativos. No Docker, os aplicativos são entregues como pacotes padronizados chamados contêineres. Cada contêiner é isolado um do outro, incluindo bibliotecas e arquivos de configuração, mas cada um pode se comunicar através de canais de rede bem definidos.

Até agora, o Docker se tornou um padrão para desenvolvimento de software e DevOps. Milhões de desenvolvedores o utilizam para construir, compartilhar e executar aplicativos diariamente no trabalho. É usado no ciclo de vida do desenvolvimento de aplicativos, desde o desenvolvimento em si, até testes e produção. Com o Docker, o aplicativo se torna mais flexível e portátil. Os aplicativos podem ser executados em qualquer lugar em diferentes sistemas operacionais facilmente, mas o próprio aplicativo permanece o mesmo, desde bibliotecas até arquivos de configuração.

Neste guia, vou mostrar como instalar o Docker Engine na versão mais recente do Debian 12. Você também aprenderá a gerenciar o serviço Docker via systemctl e aprenderá o uso básico do Docker para gerenciar imagens, contêineres e volumes.

Pré-requisitos

Certifique-se de ter os seguintes requisitos antes de prosseguir com este guia:

Uma máquina Debian 12 - Você pode usar tanto o desktop quanto o servidor Debian.
Um usuário não-root com privilégios de administrador sudo.

Instalando o Docker Engine

Para obter a versão mais recente do Docker Engine, você deve instalá-lo através do repositório oficial do Docker. Você deve adicionar o repositório do Docker e a chave GPG primeiro, e depois instalar o Docker Engine.

Primeiro, atualize e atualize o repositório Debian para obter as informações mais recentes do pacote. Em seguida, instale o pacote básico ca-certificates, curl e gnupg no seu sistema Debian. Quando solicitado, digite y e pressione ENTER para confirmar.

sudo apt update  
sudo apt install ca-certificates curl gnupg

instalar curl gnupg

Agora execute os seguintes comandos para configurar a chave GPG para o repositório Docker, que será armazenada no diretório /etc/apt/keyrings/.

sudo install -m 0755 -d /etc/apt/keyrings  
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg  
sudo chmod a+r /etc/apt/keyrings/docker.gpg

Depois disso, execute o comando abaixo para adicionar o repositório Docker para o sistema Debian. No momento da redação deste texto, o Docker fornece repositórios para Debian 11 e 12.

echo \  
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \  
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \  
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

adicionando chave gpg e repositório do docker

Em seguida, atualize o repositório Debian novamente e instale o Docker Engine via o comando apt abaixo. Este comando também instalará o containerd, que é o mecanismo de contêiner padrão, o plugin Docker buildx como o plugin de construção padrão com capacidades do BuildKit, e o Docker compose como um plugin.

sudo apt update  
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Digite y quando solicitado e pressione ENTER.

instalar docker

Após instalar o Docker, execute o seguinte comando para verificar a versão. Durante a redação deste texto, o Docker v24.0.4 está instalado no Debian 12.

docker version

versão do docker

Gerenciando o Serviço Docker

O Docker Engine requer o containerd, que é usado como o mecanismo de contêiner padrão. Tanto o containerd quanto o docker devem estar em execução no seu host Docker. Agora, você aprenderá como gerenciar os serviços Docker e containerd via a utilidade systemd systemctl.

No Debian, os serviços docker e containerd são habilitados automaticamente. Execute o seguinte comando para verificar ambos os serviços docker e containerd.

sudo systemctl is-enabled docker  
sudo systemctl is-enabled containerd

Se habilitado, você deve obter a saída enabled no seu terminal.

Agora execute o comando abaixo para verificar o status do serviço do docker e containerd.

sudo systemctl status docker  
sudo systemctl status containerd

Se o serviço estiver em execução, a mensagem active (running) será exibida no seu terminal.

verificando serviço docker

Em seguida, você pode executar o comando abaixo para iniciar os serviços docker e containerd.

sudo systemctl start docker  
sudo systemctl start containerd

Se necessário parar o Docker, execute os seguintes comandos para parar os serviços Docker e containerd.

sudo systemctl stop docker  
sudo systemctl stop containerd

Por último, reinicie usando o seguinte comando se fizer alterações na configuração do Docker.

sudo systemctl restart docker  
sudo systemctl restart containerd

Configurando o Docker para Usuários Não-root

Por padrão, apenas o root pode executar o contêiner com o Docker Engine. Para permitir usuários não-root, você deve adicionar o usuário ao grupo docker. Para adicionar seu usuário ao grupo docker, complete estas seções e, em seguida, execute o contêiner hello-world.

Execute o comando usermod abaixo para adicionar seu usuário ao grupo docker e faça login como seu usuário via su.

sudo usermod -aG docker nome_de_usuario  
su - nome_de_usuario

Agora insira o seguinte comando para executar o contêiner hello-world via seu usuário.

docker run hello-world

Se tudo correr bem, você deve ser apresentado com a mensagem Hello World do contêiner Docker assim:

docker para não-root

Por último, executar o comando docker abaixo pode verificar a lista de contêineres.

docker ps -a

Você deve ver um contêiner com o status Exited. O nome do contêiner hello-world é aleatório por padrão, neste caso, o nome é optimistic_edison.

Executando e Gerenciando Contêiner com Docker

Neste ponto, o Docker Engine está em execução e você pode começar a criar contêineres via a linha de comando do docker. Na seção a seguir, você aprenderá o uso básico do Docker para:

  • Gerenciar imagens Docker
  • Criar e gerenciar contêineres
  • Verificar logs de contêiner
  • Criar e gerenciar volume Docker

Gerenciando Imagens Docker

Uma imagem docker é o todo do seu aplicativo empacotado em uma única imagem e facilmente distribuído via o registro de Imagens. O registro de imagens padrão para Docker é https://hub.docker.com/.

Na seção a seguir, você aprenderá como baixar imagens Docker, verificar imagens baixadas e excluir imagens.

Para baixar a imagem Docker do Registro Docker, execute o comando docker pull abaixo. O seguinte comando irá baixar a imagem nginx com a tag padrão latest.

docker pull nginx

docker pull

Para especificar a versão da imagem, adicione a versão da imagem após a imagem alvo como a seguinte.

docker pull nginx:alpine

baixar versão específica da imagem

Agora verifique as imagens disponíveis no seu host Docker via o comando abaixo.

docker images

As imagens Docker baixadas devem estar disponíveis com informações detalhadas, como a tag da imagem e o tamanho.

listar imagens

Por último, use o parâmetro rmi para remover a imagem Docker do seu computador.

docker rmi nome_da_imagem

Gerenciando Contêineres

Um contêiner é onde seu aplicativo está em execução, e é baseado na sua imagem Docker. Um contêiner pode montar um diretório ou volume específico para dados persistentes e expor uma porta específica no host Docker para o aplicativo.

Nesta seção, você aprenderá como criar e executar o contêiner, verificar o contêiner e iniciar e parar o contêiner via a linha de comando do docker.

Para executar o contêiner, use o parâmetro run dentro do comando docker assim.

docker run -it -d -p 8080:80 --name web nginx:alpine

O seguinte comando irá executar um contêiner web usando a imagem nginx:alpine. Além disso, o contêiner web irá expor a porta 80 dentro do contêiner e a porta 8080 dentro da máquina host Docker. Além disso, o parâmetro -it irá desanexá-lo do contêiner, e o parâmetro -d irá executar o contêiner web em segundo plano.

Agora execute o comando docker ps abaixo para verificar a lista de contêineres na sua máquina Docker.

docker ps  
docker ps -a

Se tudo correr bem, você deve ver o contêiner web em execução e a porta 8080 exposta na máquina host.

Enquanto o comando docker run irá criar e iniciar o contêiner, você também pode iniciar e parar o contêiner via o comando docker.

Execute o comando docker stop abaixo para parar o contêiner web.

docker container stop web  
docker ps -a

parar contêiner

Para iniciar o contêiner web novamente, use o seguinte comando docker start.

docker container start web  
docker ps

Por último, execute o comando docker rm abaixo para excluir o contêiner. O parâmetro -f é usado para forçar a exclusão do contêiner, mesmo quando o contêiner alvo está em execução.

docker container rm optimistic_edison  
docker container rm optimistic_edison -f

Verificando Logs do Contêiner

Verificar logs no Docker é importante porque você sempre precisará disso para depurar seu aplicativo containerizado. Agora, você aprenderá como verificar logs de contêiner no Docker.

Para verificar os logs do contêiner, use o parâmetro logs no comando docker assim. Isso exibirá logs desde que o contêiner foi criado.

docker logs web

verificar log do contêiner

Agora você também pode adicionar a opção –tail N para obter apenas os logs mais recentes assim. Neste caso, a opção –tail 15 exibirá apenas as últimas 15 linhas de logs.

docker logs --tail 15 web

verificar último log do contêiner

Gerenciando Volume Docker

O volume Docker é onde seu aplicativo pode usar armazenamento persistente. Você pode alterar seus contêineres e ainda usar o mesmo volume ou dados para seu aplicativo. A seção a seguir mostra o uso básico do volume Docker, desde a criação do volume até a verificação e uso do volume dentro do contêiner.

Para criar um novo volume, execute o comando docker volume abaixo. Neste demo, você criará um novo volume Docker myvol.

docker volume create myvol

Verifique os volumes disponíveis no seu host Docker usando a opção ls assim. Você deve ver que o volume myvol foi criado.

docker volume ls

criar verificar volume docker

Por padrão, o Docker criará volume com o driver local, que usa o diretório local como um armazenamento de dados. E o diretório de armazenamento de dados padrão está localizado no diretório /var/lib/docker/volume. Execute a opção inspect assim para verificar os detalhes do volume myvol.

docker volume inspect myvol

Você deve ver o volume myvol com o driver padrão local e o armazenamento de dados localizado no diretório /var/lib/docker/volumes/myvol/_data. A seção Mountpoint é o diretório de armazenamento de dados local.

detalhe do volume

Em seguida, você pode usar o volume Docker no seu contêiner via a opção -v, que combina todas as opções em um campo, e a opção –mount que é mais explícita, verbosa e com sintaxe separada.

Execute o seguinte comando docker run para criar um novo contêiner web2 com o volume myvol via a opção –mount. Em seguida, inspecione o contêiner web via o comando docker inspect.

docker run -d \  
  -p 8081:80 \  
  --name web2 \  
  --mount source=myvol,target=/app \  
  nginx:alpine
docker inspect web

Dentro da seção Mounts, você deve ver que o contêiner web está usando o volume myvol para o diretório de destino /app dentro do contêiner.

verificando montagem

Para usar a opção -v, o comando docker run deve ser assim. A opção -v usa um único campo para montar o volume myvol2 no diretório de destino /app.

docker run -d \  
  -p 8082:80 \  
  --name web3 \  
  -v myvol2:/app \  
  nginx:alpine

Por último, execute o comando docker volume abaixo com o parâmetro rm para remover o volume Docker.

docker rm web2 -f  
docker volume rm myvol

Conclusão

Ótimo trabalho! Você completou a instalação do Docker Engine no seu servidor Debian 12. Você também aprendeu como gerenciar o serviço Docker via a utilidade de comando systemctl e aprendeu como gerenciar imagens Docker, contêineres e volumes Docker via o cliente docker.

Para uma exploração mais aprofundada, você pode começar a construir uma imagem Docker para seu aplicativo via Dockerfile.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.