Utilizando Containers com Podman! Alternativa ao Docker.
O que é ?
Podman é uma ferramenta multiplataforma de linha de comando, Open-Source, que permite criar e gerenciar imagens de contêiner diretamente, sob licença Apache-2.0. Desenvolvido inicialmente no projeto Atomic, do Fedora Atomic Host (Red Hat), o Podman agora é mantido pela containers organization. Disponibilizado também nos repositórios do Red Hat Enterprise Linux, Fedora e CentOS.
Um dos maiores diferenciais do Podman é que ele não precisa de um serviço (daemon-less) rodando em background para funcionar, e é totalmente Gratuito e Open-Source. É uma alternativa amigável para quem já esta acostumado com Docker, já que é baseado na CLI do Docker, tendo compatibilidade com as imagens Docker e suportando tambem Dockerfile’s e sendo possível ate rodar docker-compose.yml com podman-compose.
Como utilizar ?
Para instalar, acesse esse link e siga as instruções de acordo com seu S.O.
No caso do Fedora, execute:
sudo dnf install podman
Agora vamos baixar um container como exemplo, vamos usar o nginx:
sudo podman pull nginx
Saida:
Trying to pull docker.io/library/nginx...
Getting image source signatures
Copying blob 68ced04f60ab done
Copying blob a616aa3b0bf2 done
Copying blob 28252775b295 done
Copying config 6678c7c2e5 done
Writing manifest to image destination
Storing signatures
6678c7c2e56c970388f8d5a398aa30f2ab60e85f20165e101053c3d3a11e6663
Para rodar o container do nginx, vamos executar:
sudo podman run --name nginx -d -p 80:80 nginx
Saida:
b7900e7e9858bf02a8afb245c36a863ab4af03b7ddc50a42b0cef0f9c90f7ab6
Acesse no navegador localhost e veja:
Para ver os containers em execução, execute:
sudo podman ps
Saida:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0ccdfb7f3d58 docker.io/library/nginx:latest nginx -g daemon o... 2 minutes ago Up 2 minutes ago 0.0.0.0:80->80/tcp nginx
Para parar o container, execute:
sudo podman stop nginx
Para remover, execute:
sudo podman rm -f nginx
Criando uma imagem personalizada com Dockerfile
Crie um arquivo chamado Dockerfile, com o seguinte conteudo:
FROM fedora:latestRUN dnf -y update && dnf -y install httpd git && dnf clean allRUN echo "<html><body><h1>Dockerfile with Podman</h1><p>Hello World!</p></body></html>" > /var/www/html/index.htmlEXPOSE 80ENTRYPOINT /usr/sbin/httpd -DFOREGROUND
e para fazer o build, execute:
sudo podman build --tag fedora:myhttpd -f ./Dockerfile
para verificar suas imagens, execute:
sudo podman images
Saida:
REPOSITORY TAG IMAGE ID CREATED SIZE
localhost/fedora myhttpd 94856e199b7d 26 seconds ago 385 MB
docker.io/library/nginx latest 6678c7c2e56c 4 days ago 131 MB
docker.io/library/fedora latest 536f3995adeb 2 weeks ago 200 MB
Agora vamos testar nossa imagem:
sudo podman run -p 8080:80 --name myhttpd --rm fedora:myhttpd
Resultado, Acesse no navegador localhost:8080:
Para remover a imagem, execute:
sudo podman rmi fedora:myhttpd
Tambem existe um Dashboard para Gerenciamento do podman, o Cockpit.
Guia de instalação aqui.
Vou ficando por aqui, ate a proxima galera!
Links uteis: