Podman AlmaLinux · 10 min read · Oct 05, 2025

Guia para Iniciantes para Instalar e Usar Podman no AlmaLinux 9

Podman é uma ferramenta nativa do Linux para implantar aplicações usando contêineres e imagens de contêineres da Open Container Initiative (OCI). Ele suporta múltiplos formatos de imagem de contêiner, incluindo imagens Docker e imagens de contêiner OCI. Além disso, o Podman suporta o gerenciamento de pods e grupos de contêineres.

Podman é uma ferramenta sem daemon, funcionando como um único comando binário na linha de comando sem um serviço. Ele fornece uma linha de comando semelhante ao Docker, você pode usar um alias como ‘alias docker=podman’.

Neste guia, mostraremos como instalar e usar o Podman como um substituto para o Docker Engine em um servidor AlmaLinux 9. Você aprenderá algumas noções básicas de uso do Podman para gerenciar aplicações em contêineres. Ao completar este guia, você terá uma melhor compreensão de como usar o Podman como orquestração de contêineres para seu desenvolvimento local.

Pré-requisitos

Para começar com este guia, você deve ter o seguinte:

  • Um servidor AlmaLinux 9 - Este exemplo usa um servidor com o nome do host ‘ AlmaLinux9 ‘.
  • Um usuário não-root com privilégios de administrador sudo/root.

Instalando o Podman

Podman é uma orquestração de contêineres sem daemon e de código aberto para desenvolvimento rápido. Podman é uma aplicação nativa do Linux e fornece uma interface de linha de comando semelhante ao Docker.

Com o Podman, você pode encontrar, executar, compartilhar e implantar aplicações usando contêineres e imagens de contêiner da OCI (Open Containers Initiative).

No AlmaLinux, o Podman está disponível por padrão no repositório AppStream, você pode instalá-lo usando o gerenciador de pacotes DNF.

Execute o seguinte comando dnf para instalar o Podman em seu servidor AlmaLinux.

sudo dnf install podman

Digite y quando solicitado, em seguida, pressione ENTER.

instalando podman

Como o Podman é sem daemon, você pode simplesmente executá-lo sem iniciar nenhum daemon.

Execute o seguinte comando para verificar a versão do Podman e informações detalhadas sobre sua instalação.

podman version

Abaixo está uma saída da versão atual do Podman durante esta escrita:

verificando versão do podman

Além disso, você também pode verificar os detalhes da instalação do Podman usando o seguinte comando.

podman info

Executando o Podman como um Usuário Não-root

Nesta seção, você configurará o Podman para um usuário não-root. Você criará um novo usuário e garantirá que o novo usuário não-root possa executar e rodar contêineres com o Podman.

Execute o seguinte comando para criar um novo usuário chamado ‘ alice ‘ e configurar a senha para ele. Digite uma nova senha quando solicitado, em seguida, repita.

sudo useradd -m -s /bin/bash alice  
sudo passwd alice

Agora, adicione o novo usuário ‘ alice ‘ ao grupo ‘ wheel ‘. Isso permite que o novo usuário execute ‘ sudo ‘ e se torne root.

sudo usermod -aG wheel alice

Depois disso, execute o seguinte comando para habilitar o lingering para o usuário ‘alice’. Isso permite que o usuário ‘alice’ execute o processo do contêiner por um longo período, mesmo quando o usuário estiver desconectado, o processo ainda estará em execução.

sudo loginctl enable-linger alice

Em seguida, faça login como o novo usuário ‘ alice ‘ usando o comando abaixo.

su - alice

criar novo usuário

Execute o comando ‘ podman ‘ abaixo para rodar um novo contêiner com a imagem ‘ hello-world ‘.

podman run hello-world

Se bem-sucedido, você deve obter uma saída como esta:

executando contêiner hello-world

Por fim, execute o seguinte comando ‘podman’ para verificar a lista de contêineres em execução e encerrados.

podman ps -a

Se a configuração for bem-sucedida, você deve ver o contêiner com a imagem base ‘ hello-world ‘ com o status ‘ Exited ‘.

Encontrando Imagens de Contêiner

Por padrão, o Podman irá recuperar imagens de contêiner de múltiplos registros de imagem, como o registro de imagens Redhat, quay.io e também DockerHub. Você pode adicionar mais registros de imagem de contêiner à configuração ‘/etc/containers/registries.conf’.

Este exemplo usará o DockerHub como um registro de contêiner, então vamos começar.

Execute o seguinte comando para encontrar novas imagens de contêiner que contenham ‘ httpd ‘.

podman search httpd

Abaixo está uma saída que você deve receber em seu terminal:

buscando contêiner

Você também pode limitar a saída usando a opção ‘ –limit ‘ assim:

podman search httpd --limit 3

Isso mostrará apenas as três principais imagens de contêiner de cada registro de imagem de contêiner.

encontrando imagens top 3

Por fim, você também pode usar a opção ‘ –filter ‘ assim:

podman search httpd --filter=is-official

Isso mostrará apenas imagens de contêiner oficiais.

Baixando Imagens

Depois de encontrar as imagens de contêiner, o próximo passo é baixar as imagens de contêiner dos registros.

Execute o seguinte comando para baixar a imagem ‘ httpd ‘ com a tag ‘ alpine ‘.

podman pull httpd:alpine

Selecione o registro de imagem que você deseja usar. Este exemplo usará o DockerHub.

Após a fonte ser selecionada, o processo de download começará.

baixando imagens

Uma vez terminado, execute o seguinte comando para verificar as imagens disponíveis em seu servidor AlmaLinux.

podman images

Neste ponto, se bem-sucedido, você deve obter duas imagens de contêiner, a imagem ‘ hello-world ‘ do quay.io e ‘ httpd ‘ do DockerHub.

Inspecionando Imagens

Inspecionar imagens é uma maneira poderosa de obter informações detalhadas sobre como o contêiner será iniciado. No Podman e no Docker, você pode inspecionar imagens com a opção ‘inspect’.

Execute o seguinte comando para obter informações detalhadas sobre a imagem ‘ httpd:alpine ‘.

podman inspect docker.io/library/httpd:alpine

Isso mostrará informações detalhadas sobre as imagens, como a data de criação, tamanho, diretório de trabalho padrão, comando de início, porta exposta e muito mais.

imagem detalhada

Você também pode especificar qual parte deseja verificar usando o parâmetro adicional assim:

podman inspect --format "size: {{.Size}}" docker.io/library/httpd:alpine  
podman inspect --format "ports: {{.Config.ExposedPorts}}" docker.io/library/httpd:alpine  
podman inspect --format "workdir: {{.Config.WorkingDir}}" docker.io/library/httpd:alpine

Isso mostrará o tamanho da imagem, a porta exposta padrão e o diretório de trabalho padrão.

Executando Contêiner

Nesta seção, você aprenderá como executar o contêiner com o Podman.

Digite o seguinte comando para executar um novo contêiner chamado ‘httpd’, expor a porta 8080 na máquina host e usar a imagem ‘ httpd:alpine ‘. Além disso, o parâmetro ‘ –rm ‘ removerá automaticamente o contêiner ao parar o contêiner.

podman run -it --rm -d -p 8080:80 --name httpd docker.io/library/httpd:alpine

Se bem-sucedido, você deve obter a string e número aleatórios do novo id do contêiner.

Verifique o contêiner em execução usando o seguinte comando. Você deve obter o contêiner ‘ httpd ‘ com o status ‘ Up ‘ e usar a porta 8080 na máquina host.

podman ps

Em seguida, você pode verificar o contêiner ‘httpd’ usando o comando curl abaixo. Certifique-se de substituir o endereço IP no exemplo abaixo pelo endereço IP do seu servidor.

curl http://192.168.5.20:8080/

Se bem-sucedido, você deve obter uma saída como esta:

Além disso, você também pode acessar o contêiner ‘httpd’ através do navegador da web. Abra seu navegador da web e visite o endereço IP do servidor seguido pela porta do contêiner 8080 (ou seja: http://192.168.5.20:8080/).

Se bem-sucedido, você deve obter a página index.html padrão do contêiner ‘ httpd ‘ como esta:

Verificando os Logs do Contêiner

Com o contêiner ‘httpd’ em execução, agora você verificará os logs do contêiner. Saber disso é útil para depurar suas aplicações.

Para mostrar todos os logs do contêiner ‘ httpd ‘, execute o seguinte comando.

podman logs httpd

Este é um exemplo de logs do contêiner ‘httpd’.

Em seguida, você pode reduzir a saída do log usando o parâmetro ‘ –tail ‘ assim:

podman logs --tail 20 httpd

Neste exemplo, o parâmetro ‘tail 20 ‘ mostrará as últimas 20 linhas de logs do contêiner ‘ httpd ‘.

Parando o Contêiner

Agora, se você quiser parar o contêiner, basta executar o *podman stop*.

Execute o seguinte comando para parar o contêiner ‘ httpd ‘.

podman stop httpd

Uma vez que o contêiner ‘ httpd ‘ foi parado, execute o comando abaixo para verificar a lista de contêineres disponíveis em seu sistema.

podman ps  
podman ps -a

O contêiner ‘ httpd ‘ é automaticamente excluído após o contêiner ser parado. Isso ocorre porque você executou o contêiner com o parâmetro ‘ –rm ‘.

Executando Contêiner com Volume Personalizado

Neste exemplo, você executará um novo contêiner com volume personalizado. Isso montará o diretório local na máquina host para o contêiner.

Crie um novo diretório ‘ data ‘ dentro do diretório home do usuário alice. Em seguida, crie um novo arquivo ‘ index.html ‘ dentro do diretório ‘ data ‘ usando o editor nano.

mkdir -p ~/data/  
nano ~/data/index.html

Insira o seguinte script HTML.

  
  
  
    
  Bem-vindo ao Container Nginx  
  
  
  

Olá do contêiner httpd - Gerenciado com Podman

Salve e feche o arquivo.

Agora, execute o seguinte comando para executar um novo contêiner ‘httpd’ com o volume personalizado do diretório ‘ data ‘, que será montado no diretório ‘ /usr/local/apache2/htdocs ‘ no contêiner.

podman run --privileged=true -it --rm -d -p 8080:80 --name httpd -v ~/data:/usr/local/apache2/htdocs docker.io/library/httpd:alpine

Além disso, este contêiner está sendo executado com um parâmetro adicional ‘ –privileged=true ‘. Isso é para teste, e ainda assim o contêiner será executado como um usuário ‘ alice ‘ e não como o usuário root. Obtenha mais informações sobre as flags privilegiadas no Podman.

Em seguida, execute o seguinte comando para verificar o contêiner em execução em seu sistema.

podman ps

Se bem-sucedido, você deve ver o novo contêiner ‘ httpd ‘ com o status ‘ Up ‘ e a porta exposta 8080 na máquina host.

Execute o comando curl abaixo para verificar o novo contêiner ‘ httpd ‘.

curl http://192.168.5.21:8080/

Você deve obter uma saída do script index.html que você criou anteriormente.

acessando contêiner

Como do navegador da web em http://192.168.5.21:8080/, você deve exibir a página personalizada como esta:

acessar contêiner

Fazendo Login no Contêiner

Com o contêiner ‘ httpd ‘ em execução, você pode acessar o contêiner via shell utilizando o comando ‘ podman exec ‘.

Faça login no contêiner ‘ httpd ‘ usando o seguinte comando. Isso executará o shell ‘ /bin/sh ‘ no contêiner ‘ httpd ‘ e o anexará à sua sessão atual.

podman exec -it httpd /bin/sh

Uma vez logado, você deve estar no diretório ‘ WorkingDir ‘. Neste exemplo, o WorkingDir padrão é o diretório ‘ /usr/local/apache2 ‘.

Agora execute o seguinte comando no contêiner ‘ httpd ‘. Verifique o usuário atual, o endereço IP local do contêiner e o gateway padrão para o contêiner.

id  
  
ip a  
route -n

Você pode ter uma saída com um endereço IP e gateway diferentes, mas deve ser semelhante a isto:

acessando contêiner

Executando e Gerenciando Pod

No Podman, você pode criar e executar um Pod. O pod é um invólucro para contêineres, o que significa que múltiplos contêineres podem ser executados em um único Pod. Assim como no Kubernetes, o Pod é a menor entidade onde sua aplicação está em execução.

Com o Podman, você pode criar e executar um Pod, mesmo sem Kubernetes.

Execute o seguinte comando para criar um novo pod httpdTest com a imagem ‘ httpd:alpine ‘ e expor a porta 9090 na máquina host.

podman run -dt --pod new:httpdTest -p 9090:80 docker.io/library/httpd:alpine

Se bem-sucedido, você deve obter a string e número aleatórios do id do Pod.

Agora execute o seguinte comando para verificar o Pod em execução em seu sistema.

podman pod ls

Você deve ver o Pod ‘ httpdTest ‘ com o status ‘ Running ‘ e 2 contêineres.

criar pod

Você pode agora utilizar a opção ‘ inspect ‘ no pod assim:

podman pod inspect httpdTest

Você deve obter informações detalhadas sobre o pod httpdTest.

podman inspect pod

Você também pode verificar o número de contêineres que estão em execução dentro dos pods, incluindo os nomes dos contêineres, usando o seguinte comando.

podman pod inspect --format="containers: {{.NumContainers}}" httpdTest  
podman pod inspect --format "{{.Containers}}" httpdTest

Você obterá uma saída como esta:

Por fim, execute o seguinte comando para acessar o pod httpdTest, que está em execução na porta 9090 na máquina host. Se bem-sucedido, você deve obter a página index.html padrão dos contêineres que estão em execução no pod httpdTest.

curl http://192.168.5.21:9090/

Conclusão

Parabéns! Você agora instalou o Podman no AlmaLinux 9. Você também aprendeu o uso básico do Podman para gerenciar imagens e contêineres. Além disso, você também aprendeu como criar e executar um Pod com o Podman.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.