Post

Instalando e usando Podman 🦭📦

 Introdução

Como prometido na semana passada, e também pra me ajudar a lembrar no futuro, aqui estão os comandos básicos pra subir uma imagem Docker usando Podman.

Antes de tudo, certifique-se de que o WSL está ativado na máquina com a versão do Linux que você quer usar. No meu caso, tô rodando o Ubuntu 24.04 no momento deste post. Então bora instalar o Podman e o Podman Compose pra começar os trabalhos!

1
sudo apt update && sudo apt install -y podman podman-compose

para confirmar que está instalado digite:

1
podman ps -a

Simples assim.

 Usando Podman Compose

Para compilar e subir sua imagem utilizando docker-compose.yml e Dockerfile, execute o seguinte comando no diretório do projeto:

1
podman-compose --podman-build-args='--format docker' up --build -d

O ponto crucial aqui é o argumento --podman-build-args='--format docker', que instrui o Podman Compose a operar em modo de compatibilidade com o Docker. Sem essa flag, o Podman não consegue interpretar corretamente as variáveis de ambiente definidas no docker-compose.yaml, o que pode impedir a criação adequada dos containers.

 Usando o Podman Build

Antes de realizar o deploy de uma aplicação, é recomendável simular o comportamento do ambiente de destino — como AWS, GCP, OpenShift, entre outros — em relação à sua imagem. Para isso, o ideal é compilar a imagem diretamente, sem utilizar o Compose. Isso permite validar o processo de build de forma mais próxima ao que será executado pelo orquestrador. Utilize o comando abaixo:

1
podman build --format docker -t nome_da_imagem:1.0.0 -f Dockerfile --build-arg PORT_FROM=<PORTA_INTERNA> --build-arg PORT_TO=<PORTA_EXTERNA> .

  Comandos uteis

Listar todos os conteineres que foram criados, inclusive os que estão parados:

1
podman ps -a

Visualizar os logs do conteiner:

1
podman logs -f <nome_do_container>

Limpar cache de imagens criadas, muito util pra liberar espaço depois de tantos testes que provavelmente você irá fazer:

1
podman image prune -a

Entrar na imagem:

1
podman exec -it <nome_do_container> <terminal_do_linux_bash_ou_sh_por_exemplo>

  Miscelânea

Agora dá pra compartilhar os posts no Bluesky também! Aproveitei que estava atualizando a biblioteca do Font Awesome e já incluí essa opção. Afinal, o X anda cada vez mais insuportável — felizmente consegui me livrar dessa rede e não olho pra trás!

Esta postagem está licenciada sob CC BY 4.0 pelo autor.