De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.

Podman para iniciantes: entendendo e executando o primeiro contêiner

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 9 de agosto de 2026

Os contêineres estão presentes em servidores, ambientes de desenvolvimento, serviços de nuvem e sistemas Linux modernos. Eles permitem executar aplicações com suas bibliotecas e dependências em ambientes isolados, reduzindo problemas de compatibilidade e facilitando a reprodução da mesma configuração em computadores diferentes.

Para quem está começando, palavras como imagem, contêiner, volume e registro podem fazer o assunto parecer mais complexo do que realmente é. Neste primeiro artigo da série conheceremos os conceitos fundamentais, instalaremos o Podman e executaremos nossos primeiros contêineres.

Todos os exemplos foram preparados para serem executados por um usuário comum, sem sudo, sempre que possível.

O que é o Podman?

Podman é uma ferramenta livre para criar, executar e administrar contêineres, imagens, volumes, redes e pods. Seu nome vem de Pod Manager, pois ele também pode agrupar vários contêineres em uma estrutura chamada pod, semelhante àquela utilizada pelo Kubernetes.

A sintaxe dos comandos é bastante parecida com a do Docker. Quem já conhece comandos como docker run, docker ps e docker images encontrará equivalentes diretos:

  • podman run
  • podman ps
  • podman images

Uma característica importante do Podman é que ele não depende de um daemon central permanentemente em execução. Ele também foi projetado para trabalhar no modo rootless, no qual os contêineres são executados pelo usuário comum.

O que é um contêiner?

Um contêiner é um ambiente isolado no qual uma aplicação pode ser executada com os arquivos, bibliotecas e configurações de que necessita.

Considere um servidor web que depende de determinada versão de uma biblioteca. Se essa aplicação for instalada diretamente no computador, sua biblioteca poderá entrar em conflito com outro programa. Ao executar o servidor em um contêiner, suas dependências ficam dentro de um ambiente próprio.

Um contêiner compartilha o kernel Linux do computador hospedeiro. Por isso, costuma iniciar rapidamente e consumir menos recursos que uma máquina virtual completa.

Máquina virtual Contêiner
Possui seu próprio kernel Compartilha o kernel do hospedeiro
Executa um sistema operacional completo Executa principalmente a aplicação e suas dependências
Geralmente consome mais memória e espaço Geralmente é mais leve
Pode executar outro tipo de sistema operacional Depende dos recursos oferecidos pelo kernel hospedeiro
Oferece isolamento por virtualização Oferece isolamento por recursos do kernel

Contêineres e máquinas virtuais atendem a necessidades diferentes. Em muitos ambientes, os contêineres são inclusive executados dentro de máquinas virtuais.

Imagem e contêiner são coisas diferentes

Uma imagem é um modelo usado para criar contêineres. Ela contém o sistema de arquivos básico, as bibliotecas, a aplicação e instruções sobre como essa aplicação deverá ser iniciada.

O contêiner é uma instância criada a partir da imagem. Podemos comparar uma imagem a uma receita e o contêiner ao prato preparado. A mesma imagem pode dar origem a vários contêineres independentes.

Quando executamos:

$ podman run docker.io/library/alpine:latest

estamos pedindo ao Podman que localize a imagem do Alpine Linux e crie um contêiner a partir dela.

O nome completo dessa imagem possui quatro partes:

docker.io/library/alpine:latest

Parte Significado
docker.io Registro onde a imagem está armazenada
library Organização ou espaço de nomes
alpine Nome da imagem
latest Etiqueta que identifica a versão

Um registro é um serviço usado para armazenar e distribuir imagens. Docker Hub, Quay.io e os registros mantidos pelas distribuições Linux são alguns exemplos.

É recomendável informar o nome completo da imagem, incluindo o registro. Essa prática evita ambiguidades e indica claramente de onde o conteúdo será baixado.

Instalando o Podman

O Podman está disponível nos repositórios das principais distribuições Linux.

No Fedora:

$ sudo dnf install podman

No Debian e no Ubuntu:

$ sudo apt update
$ sudo apt install podman

No openSUSE:

$ sudo zypper install podman

No Arch Linux e no Manjaro:

$ sudo pacman -S podman

Nas edições Fedora Silverblue e Fedora Kinoite, o Podman normalmente já está instalado.

Depois da instalação, verifique a versão:

$ podman --version

Para obter informações detalhadas sobre o ambiente:

$ podman info

Esse comando mostra o mecanismo de armazenamento, o runtime utilizado, a configuração de rede e outros dados.

Executando o primeiro contêiner

Vamos utilizar a imagem do Alpine, uma distribuição Linux minimalista muito usada em contêineres.

Execute:

$ podman run --rm docker.io/library/alpine:latest \
    echo "Meu primeiro contêiner está funcionando"
Meu primeiro contêiner está funcionando

Na primeira execução, o Podman perceberá que a imagem ainda não existe localmente e fará seu download. Em seguida, criará um contêiner e executará o comando echo dentro dele.

A opção --rm determina que o contêiner seja removido automaticamente depois que o comando terminar. A imagem baixada permanece armazenada e poderá ser reutilizada.

A sequência de acontecimentos é a seguinte:

  1. O Podman procura a imagem no armazenamento local.
  2. Se ela não estiver disponível, faz seu download.
  3. Um novo contêiner é criado.
  4. O comando solicitado é executado.
  5. O processo termina.
  6. O contêiner é removido por causa da opção --rm.

Entrando em um contêiner interativo

Também podemos abrir um shell dentro do contêiner:

$ podman run --rm -it docker.io/library/alpine:latest /bin/sh

As opções utilizadas são:

Opção Função
-i Mantém a entrada padrão aberta
-t Cria um terminal
--rm Remove o contêiner quando ele terminar
/bin/sh Comando executado dentro do contêiner

Depois da execução, o prompt será semelhante a "/ #"

Agora estamos dentro do contêiner. Podemos verificar qual sistema operacional está sendo utilizado:

$ cat /etc/os-release

Também podemos listar os processos com o comando "ps" e observar o sistema de arquivos com o comando "ls /".

Para sair digite exit.

O contêiner será encerrado e removido. Qualquer arquivo criado dentro dele também desaparecerá, pois utilizamos --rm e ainda não configuramos armazenamento persistente.

Obtendo ajuda

O Podman possui uma ajuda integrada:

$ podman --help

Cada subcomando apresenta suas próprias opções:

$ podman run --help
$ podman images --help
$ podman ps --help

Também podemos consultar as páginas de manual:

$ man podman
$ man podman-run

Neste primeiro contato, aprendemos que uma imagem funciona como um modelo e que um contêiner é uma instância criada a partir dela. Também instalamos o Podman, executamos nosso primeiro comando isolado e abrimos uma sessão interativa no Alpine Linux.

No próximo artigo, usaremos esses conhecimentos para executar e administrar um servidor web completo.



Veja a relação completa dos artigos de Rubens Queiroz de Almeida