22. Primeiros passos com o Podman no Ubuntu Server: um guia completo

Introdução

Primeiros passos com o Podman apresenta a você um mecanismo de contêineres moderno e leve, projetado como uma alternativa segura e sem root ao Docker. Ao contrário do Docker, o Podman elimina a necessidade de um daemon central, oferecendo mais segurança e flexibilidade para desenvolvedores e administradores de sistemas que gerenciam contêineres. Sua arquitetura sem root é particularmente atraente para ambientes em que minimizar a escalação de privilégios é uma prioridade.

Neste guia, abordaremos os aspectos essenciais da instalação e do uso do Podman no Ubuntu Server 22.04. Também trataremos de um problema comum relacionado à obtenção de imagens de contêiner usando nomes curtos (por exemplo,nginx) e forneceremos uma solução clara para ajudá-lo a começar a usar o Podman sem problemas.

Primeiros passos com o Podman

Artigos anteriores:

01. Introdução ao Ubuntu Server – SysOSX: AI & Cloud

02. Como configurar seu primeiro Ubuntu Server: guia para iniciantes – SysOSX: AI & Cloud

03.Dominando a linha de comando do Linux para Ubuntu Server – SysOSX: AI & Cloud

04. Gerenciamento de usuários e permissões no Ubuntu Server: guia abrangente – SysOSX: AI & Cloud

05. Fundamentos de rede para Ubuntu Server: guia abrangente – SysOSX: AI & Cloud

06. Instalação e gerenciamento de software no Ubuntu Server: guia completo – SysOSX: AI & Cloud

07.Aplicação de patches e atualização do Ubuntu Server: guia abrangente – SysOSX: AI & Cloud

08. Protegendo seu Ubuntu Server: etapas práticas de reforço e proteção – SysOSX: AI & Cloud

09. Auditoria e registro do Ubuntu Server

10. Ferramentas de monitoramento de sistema para Ubuntu Server: guia abrangente – SysOSX: AI & Cloud

11. Registro centralizado para Ubuntu Server: um guia indispensável – SysOSX: AI & Cloud

12. Auditoria e conformidade para Ubuntu Server: práticas recomendadas – SysOSX: AI & Cloud

13.Configuração do seu Ubuntu Server para hospedagem e aplicações web: guia definitivo – SysOSX: AI & Cloud

14. Hospedar vários sites em um único Ubuntu Server: dicas úteis – SysOSX: AI & Cloud

15. Gerenciamento de armazenamento e discos no Ubuntu Server: guia simples – SysOSX: AI & Cloud

16. Configuração de serviços de compartilhamento de arquivos no Ubuntu Server: guia completo – SysOSX: AI & Cloud

17. Configuração de um servidor de banco de dados seguro no Ubuntu: MySQL vs. MariaDB – SysOSX: AI & Cloud

18. Como configurar e usar o LVM no Ubuntu Server: guia abrangente – SysOSX: AI & Cloud

19. Introdução à virtualização com KVM: guia para iniciantes de Ubuntu Server – SysOSX: AI & Cloud

20. Como instalar o Docker no Ubuntu Server: guia passo a passo para conteinerização – SysOSX: AI & Cloud

21. Primeiros passos com o LXD: instale contêineres com facilidade + folha de dicas – SysOSX: AI & Cloud



O que é o Podman e por que usá-lo?

O Podman é um mecanismo de contêineres projetado para criar, executar e gerenciar contêineres com foco em segurança e flexibilidade. Veja por que o Podman está ganhando popularidade:

  • Arquitetura sem daemon: O Podman não depende de um serviço em segundo plano (ao contrário do modelo baseado em daemon do Docker), reduzindo superfícies de ataque e melhorando a segurança.
  • Contêineres sem root: Execute contêineres como usuário sem root para aumentar ainda mais a segurança.
  • Comandos compatíveis com o Docker: A CLI do Podman foi projetada para ser compatível com o Docker, permitindo que você use comandos como podman pull ou podman run sem complicações.
  • Integração com o systemd: Gerencie contêineres como serviços do sistema com facilidade.

Etapa 1: Instalar o Podman no Ubuntu Server 22.04

1.1 Atualize seu sistema

Antes de instalar o Podman, verifique se seu sistema está atualizado para evitar problemas de compatibilidade:

sudo apt update && sudo apt upgrade -y  

1.2 Instalar o Podman

O Podman está incluído nos repositórios padrão do Ubuntu, então você pode instalá-lo diretamente usando o gerenciador de pacotes apt:

sudo apt install podman -y  

1.3 Verificar a instalação

Após a instalação, verifique a versão instalada do Podman para garantir que está pronto para uso:

podman --version  

Exemplo de saída:

podman version 3.4.4


Etapa 2: Execute seu primeiro contêiner do Podman

2.1 Obter uma imagem de contêiner

O Podman usa imagens de contêiner para executar aplicações. Comece obtendo a imagem leve do Alpine Linux:

podman pull alpine  

2.2 Executar um contêiner

Execute um contêiner usando a imagem do Alpine:

podman run --rm -it alpine sh  

Este comando inicia um shell interativo dentro do contêiner do Alpine. Você pode testar comandos básicos, como:

echo "Hello from Podman!"  

2.3 Sair do contêiner

Para sair do contêiner, digite:

exit  


Etapa 3: Entendendo a resolução de nomes curtos do Podman

O problema com nomes curtos

Ao obter imagens de contêiner usando nomes curtos (por exemplo,nginx), o Podman precisa saber em qual registro procurar a imagem. Sem a configuração adequada, você pode encontrar o seguinte erro:

Error: short-name "nginx" did not resolve to an alias and no unqualified-search registries are defined in "/etc/containers/registries.conf"  

Por que esse erro acontece?

O Podman requer um arquivo de configuração (registries.conf) para definir os registros de contêineres nos quais deve procurar imagens. Se esse arquivo estiver ausente ou configurado incorretamente, o Podman não consegue resolver nomes curtos como nginx.


Etapa 4: Corrigir o erro de resolução de nomes curtos

4.1 O arquivo registries.conf : localize-o ou crie-o

O arquivo registries.conf geralmente está localizado em /etc/containers/registries.conf. Verifique se o arquivo existe:

ls /etc/containers/registries.conf  

Se não existir, crie-o:

sudo nano /etc/containers/registries.conf  

4.2 Adicionar a configuração de registro padrão

Adicione a seguinte configuração ao arquivo:

[registries.search]  
registries = ['docker.io', 'quay.io']  

  • docker.io: Refere-se ao Docker Hub, o registro de contêineres mais usado.
  • quay.io: Outro registro de contêineres popular.

Salve o arquivo e saia (Ctrl+O e depois Ctrl+X, se estiver usando o nano).

4.3 Tentar novamente o comando de obtenção

Com a configuração de registro pronta, tente obter novamente a imagem de nginx novamente:

podman pull nginx  

O Podman agora deve resolver o nome curto nginx para docker.io/library/nginx e baixar a imagem com sucesso.


Etapa 5: Executar contêineres como usuário sem root

Um dos recursos de destaque do Podman é sua capacidade de executar contêineres sem exigir privilégios de root. Veja como configurá-lo:

5.1 Mudar para um usuário sem root

Faça login como usuário comum (por exemplo,uadmin):

su - uadmin  

Verifique se o Podman funciona para o usuário sem root:

podman info  

5.2 Corrigir problemas de permissão para usuários sem root

Se você encontrar um erro de permission denied ao executar o Podman como usuário sem root, provavelmente se deve à propriedade incorreta do diretório pessoal do usuário.

Verifique a propriedade do diretório pessoal:

ls -ld /home/uadmin  

Se o diretório pertencer a root, corrija-o:

sudo chown -R uadmin:uadmin /home/uadmin  

Crie manualmente o diretório .local:

mkdir -p /home/uadmin/.local/share/containers  
sudo chown -R uadmin:uadmin /home/uadmin/.local  

Teste o Podman novamente:

podman info  

O Podman agora deve funcionar corretamente como usuário sem root.


Etapa 6: Comandos úteis do Podman para iniciantes

Aqui estão alguns comandos essenciais do Podman para ajudá-lo a começar:

  • Listar contêineres em execução:
podman ps
  • Listar todos os contêineres (incluindo os parados):
podman ps -a
  • Parar um contêiner em execução:
podman stop <container-id>
  • Remover um contêiner:
podman rm <container-id>
  • Remover uma imagem:
podman rmi <image-name>

Documentação de referência:
Primeiros passos com o Podman | Podman


    Conclusão

    O Podman é um mecanismo de contêineres seguro, leve e flexível, perfeito para o Ubuntu Server 22.04. Neste guia, abordamos:

    • Instalar o Podman.
    • Executar seu primeiro contêiner.
    • Corrigir o erro de resolução de nomes curtos.
    • Executar contêineres como usuário sem root.

    Seguindo estas etapas, você agora tem uma base sólida para começar a explorar o Podman e gerenciar contêineres de forma eficaz. Com seus recursos sem root e sua CLI compatível com o Docker, o Podman é uma excelente ferramenta para fluxos de trabalho modernos de conteinerização.

    Fique atento:
    No próximo artigo, falaremos sobre como implantar o Ubuntu Server em plataformas de nuvem , como GCP, AWS e Azure.

    Deixe um comentário