Podman Tutorial · 8 min read · Feb 11, 2026
Introdução ao Podman: Gerenciar Imagens, Contêineres e Volumes

Podman é um tempo de execução de contêiner que fornece recursos semelhantes ao Docker. Faz parte da biblioteca libpod e pode ser usado para gerenciar pods, contêineres, imagens de contêiner e volumes de contêiner. O Podman é muito diferente do Docker, que usa a arquitetura cliente-servidor e requer um daemon do docker para ser executado, enquanto o Podman não requer nenhum daemon para ser executado e também pode ser executado perfeitamente sem privilégios de root.
Neste tutorial, mostraremos o uso básico do Podman para gerenciar contêineres, imagens e volumes, e criar imagens de contêiner. Para completar este guia, você deve ter o Podman instalado. Aqui estão guias para diferentes sistemas operacionais:
- Como instalar o Podman no Ubuntu 22.04
- Introdução ao Podman (Alternativa ao Docker) no Rocky Linux
- Como instalar e usar o Podman (Alternativa ao Docker) no Ubuntu 20.04
- Como instalar o Podman como alternativa ao Docker no Debian 11
Pré-requisitos
- Servidor Ubuntu com Podman instalado
- Conhecimento básico de Docker facilitará
1. Comando Básico do Podman
Após instalar o Podman no sistema Ubuntu, devemos saber como verificar o próprio Podman. Precisamos verificar a versão que já está instalada no sistema, o ambiente do sistema Podman e o uso básico de ajuda.
Para obter a versão instalada do Podman na máquina, use o seguinte comando.
podman versionQualquer versão do Podman > 1.0.1 estará boa para este guia.
Agora verifique a configuração do ambiente do Podman.
podman infoE você verá o ambiente do sistema da instalação do Podman. Incluindo as informações dos pacotes do Host, Registries e Armazenamento.

Em seguida, execute o seguinte comando para mostrar todas as opções de comando disponíveis do Podman.
podman --helpPara exibir ajuda para um comando específico, você pode usar como abaixo.
podman pod help
2. Gerenciar Imagens de Contêiner usando Podman
Agora estamos passando para a gestão de imagens de contêiner com o Podman. Existem alguns comandos básicos que você deve conhecer relacionados à gestão de imagens de contêiner, incluindo pesquisa de imagens, download de imagens, exibição de imagens disponíveis no sistema local e remoção de imagens.
Execute o comando abaixo para pesquisar uma imagem.
podman search nginxO comando irá procurar por imagens que contenham a palavra ‘nginx’ em todos os repositórios disponíveis que já estão definidos no arquivo de configuração ‘/etc/containers/repositories.conf’.

Agora baixe algumas imagens usando os comandos ‘podman pull’ abaixo.
podman pull docker.io/library/nginx
podman pull docker.io/library/alpineUma vez que esteja completo, verifique todas as imagens disponíveis na máquina do servidor.
podman imagesAgora você terá as imagens nginx e alpine no sistema.

Para remover a imagem alpine, você pode usar a opção ‘rmi’ como abaixo.
podman rmi alpine
Como resultado, você terá apenas a imagem de contêiner nginx no sistema.
3. Gerenciar Contêineres
Neste estágio, aprendemos sobre a gestão de imagens de contêiner. E o próximo passo, aprenderemos como criar e gerenciar contêineres com o Podman.
Para criar um novo contêiner, podemos usar o comando ‘podman run’ como abaixo.
podman run -d -p 8000:80 --name hakase-nginx docker.io/library/nginxO comando criará um novo contêiner chamado ‘hakase-nginx’ baseado na imagem nginx e exporá a porta 8000 na máquina host.
Detalhes das opções do comando:
-d - mantém o contêiner em execução em segundo plano e apenas imprime o ID do contêiner como resultado.
-p 8000:80 - mapeamento de porta para o contêiner e o sistema host. Porta 8000 na máquina host e porta 80 no contêiner.
–name hakase-nginx - especifica o nome do contêiner como ‘hakase-nginx’.
Agora exiba todos os contêineres em execução no sistema.
podman psE você verá que o contêiner chamado ‘hakase-nginx’ está ativo e em execução.
Se você quiser verificar todos os contêineres disponíveis, pode usar a opção ‘-a’.
podman ps -aAgora você verá todos os contêineres disponíveis com diferentes estados.
Depois de obter todos os contêineres em execução na máquina host, mostraremos como verificar todos os processos dentro do contêiner, anexá-lo ao contêiner em execução e parar e remover o contêiner.
Para verificar o processo dentro do contêiner em execução, use o seguinte comando.
podman top hakase-nginxAgora, para anexar e acessar o contêiner em execução, você pode usar o comando ‘exec’ como abaixo.
podman exec -it hakase-nginx /bin/bashDentro do contêiner ‘hakase-nginx’, verifique a versão do nginx nele.
nginx -VVocê obterá o resultado como abaixo.

Agora digite ‘exit’ para sair do contêiner.
Em seguida, pare o contêiner ‘hakase-nginx’.
podman stop hakase-nginxEntão remova o contêiner.
podman rm hakase-nginx
Se você quiser forçar a parada e remoção do contêiner em execução, pode usar ‘-f’ para forçar a opção.
podman rm hakase-nginx -f4. Gerenciar Volume
Desde a versão 0.12, o Podman tem suporte para criar e gerenciar volumes apenas locais. Portanto, se você estiver usando uma versão mais antiga, não obterá este comando ‘podman volume’.
Agora crie um novo volume local usando o seguinte comando.
podman volume create hakase-volumeDepois disso, exiba todos os volumes disponíveis no sistema.
podman volume lsE você verá o ‘hakase-volume’ na lista.
Para verificar detalhes sobre o volume ‘hakase-volume’, podemos usar a opção ‘inspect’ como abaixo.
podman volume inspect hakase-volumeE você verá que o ‘mountPoint’ do volume é o diretório local ‘/var/lib/containers/storage/hakase-volume/_data’.

Vá para esse diretório e crie um novo arquivo index.html.
cd /var/lib/containers/storage/hakase-volume/_data
echo "Este é o índice personalizado e volume - Olá Podman
" > index.htmlAgora crie um novo contêiner e monte o ‘hakase-volume’ dentro do contêiner.
podman run -d -p 8000:80 -v hakase-volume:/usr/share/nginx/html --name hakase-nginx docker.io/library/nginxUma vez que o contêiner é criado, verifique os volumes disponíveis no contêiner usando o seguinte comando.
podman inspect -f '{{ json .Mounts }}' hakase-nginx | jqNa parte inferior do resultado, você verá o ‘hakase-volume’ no contêiner.

Em seguida, verifique o endereço IP do contêiner.
podman inspect -f '{{ .NetworkSettings.IPAddress }}' hakase-nginxAcesse o contêiner na porta HTTP usando httpie.
http http://10.88.0.4/E você obterá o arquivo index.html personalizado que foi criado no ‘hakase-volume’.

Agora, se você quiser remover o volume, pode usar a opção ‘rm’.
podman volume rm hakase-volumeE o ‘hakase-volume’ será removido.
5. Criar Imagens Personalizadas com Commit
Agora vamos criar imagens de contêiner personalizadas usando o Podman. Basicamente, o Podman permite que você crie imagens personalizadas com base no contêiner alterado ou crie novas imagens personalizadas usando o ‘Dockerfile’.
Nesta seção, vamos criar novas imagens personalizadas com base no contêiner alterado através do comando ‘podman commit’.
Baixe/puxe a imagem mestre ‘ubuntu’.
podman pull docker.io/library/ubuntuAgora execute o contêiner baseado na imagem ubuntu. E dentro do contêiner, execute o comando ‘bash’ que atualizará os repositórios e instalará o pacote nginx.
podman run --name container-temp ubuntu bash -c "apt update && apt install -y nginx"Aguarde a instalação do nginx dentro do contêiner.

Uma vez que esteja completo, crie uma nova imagem personalizada com base no ‘container-temp’ usando o seguinte comando.
podman commit container-temp my-nginxEm seguida, verifique as imagens disponíveis no sistema.
podman imagesE você verá uma nova imagem chamada ‘my-nginx’ na lista.

Se você quiser executar o contêiner baseado na imagem ‘my-nginx’, execute o seguinte comando.
podman run -dt -p 8001:80 --name nginx01 my-nginx /usr/sbin/nginx -g 'daemon off;'Agora verifique o contêiner em execução e verifique seu endereço IP.
podman ps
podman inspect --format '{{ .NetworkSettings.IPAddress }}' nginx01E você verá que o contêiner ‘nginx01’ está ativo e em execução. Depois disso, acesse a porta HTTP no contêiner ‘nginx01’.
http -p h 10.88.0.19Como resultado, você obterá a resposta do cabeçalho HTTP como abaixo.

6. Criar Imagens Personalizadas com Dockerfile
Agora vamos criar uma nova imagem de contêiner personalizada usando o Dockerfile.
Crie um novo diretório de projeto e crie um novo ‘Dockerfile’ dentro.
mkdir project; cd project/
vim DockerfileCole a seguinte configuração.
FROM ubuntu
# Instalar Nginx
RUN \
apt-get update && \
apt-get install -y nginx && \
rm -rf /var/lib/apt/lists/* && \
echo "\ndaemon off;" >> /etc/nginx/nginx.conf && \
chown -R www-data:www-data /var/lib/nginx
# Definir diretórios montáveis.
VOLUME ["/etc/nginx/sites-enabled", "/etc/nginx/certs", "/etc/nginx/conf.d", "/var/log/nginx", "/var/www/html"]
# Definir o diretório de trabalho.
WORKDIR /etc/nginx
# Definir comando padrão.
CMD ["nginx"]
# Expor portas.
EXPOSE 80
EXPOSE 443Salve e feche.
Agora execute o podman abaixo para construir uma nova imagem personalizada usando o Dockerfile.
podman build -t hakase-image .
Uma vez que esteja completo, verifique a nova imagem na máquina.
podman imagesE você verá a ‘hakase-image’.

Em seguida, crie um novo contêiner baseado na ‘hakase-image’ executando o seguinte comando.
podman run -d -p 8002:80 --name nginx02 hakase-imageDepois disso, verifique o contêiner ‘nginx02’ e seu endereço IP.
podman ps
podman inspect --format '{{ .NetworkSettings.IPAddress }}' nginx02Certifique-se de que o contêiner ‘nginx02’ está ativo e em execução.
Agora verifique o contêiner usando a ferramenta httpie.
http 10.88.0.21E você verá a página padrão do Nginx e seu cabeçalho HTTP.

Finalmente, agora você pode gerenciar contêineres, imagens e volumes usando o Podman. E você pode criar novas imagens personalizadas para sua aplicação usando o Dockerfile.
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.