Categorias
Container DevOps Docker Podman Tutorial

O naufrágio do Docker? Vamos com Podman..

Provavelmente o Kubernetes não vai mais atender o Docker, então aprenda logo a usar outro container runtime! Vamos te ensinar a usar o Podman.

E aí, você tá ligado que a galera do Kubernetes tá metendo o pé na bunda da galera do Docker né? Não? Olha só essa treta que tá quase virando a terceira guerra mundial: https://kubernetes.io/kicking-docker-ass, bom agora que tu já sabe, não entre em pânico, se você é apenas um padawan e deve estar tirando seus garbosos tufos de cabelo de sua cabeça, eu vou lhe mostrar que de forma fácil e rápida você vai trocar Docker por Podman, vamos deixar simples o que parece complexo….

Para tudo… Você sabe o que é Podman? …. Claro que não, pois você mal sabia da terceira guerra mundial! Ok, vamos lá… eu vou fazer um ctrl+c e ctrl+v sem nenhuma vergonha, até porque, o autor desse artigo mandou muito bem: Filipinho

Image for post

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.

Diferenciais importantes

Arquitetura Podman.
Arquitetura do Podman

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 ele é baseado na CLI do Docker e também tem compatibilidade com as imagens Docker, suportando tambem Dockerfile’s, e, além disso, sendo possível até rodar docker-compose.yml com podman-compose, melzinho na chupeta, não?

Valeu Filipinho pelo texto até aqui!

Bom, daqui em diante, vou comandar a bagaça por aqui e te ensinar a instalar o Podman, executar um Pod, converter um Dockerfile pro podman e até mesmo um docker-compose… Eu estou usando o Ubuntu 20.10, vê se não faça feio aí e venha pro lado OpenSource da força, experimente o Ubuntu, PopOS, Fedora, LinuxMint…te garanto que você vai gostar! Então, mão na massa!

As estatísticas apontam que a cada 1 minuto nasce uma nova imagem Docker, só não é maior que a quantidade/minuto de frameworks JS.

Instalando o Podman no Ubuntu

O pacote do Podman já está disponível nos repositórios oficiais do Ubuntu 20.10 ou mais novos. Tá usando outra distro? Dá uma olhada lá no site dos caras ,que são donos dessa parada, porque está lá tudo bem explicadinho e tenho certeza que vai ser fácil para você!

sudo apt-get -y update
sudo apt-get -y install podman

Deu tudo certo aí? Claro que deu, não tem erro…. (às vezes tem, mas aí este site pode te ajudar, rsrs parece piadinha mas você sabe que funciona!)
Após isso você vai começar a brincar com a execução dos Pods usando o interface de comando (vulgo Terminal) e se você já é um Dockerman tu vai se identificar muito com os comandos do Podman. Bora lá executar um nGinx só de zua? Pod man ou não Pod, hein man?

sudo podman pull nginx

E você deverá ver algo do tipo:

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

Agora para fazer o nGinx executar bonitão como um pod, você pod executar:

sudo podman run --name nginx -d -p 80:80 nginx

Pra você que é um Dockerman, percebeu a similaridade com a CLI do Docker? Claro né cabeção, é baseado no CLI do Docker. Viu como de antemão pareceu complexo, mas, agora que foi explicado já está bem mais fácil? Bora testar se isso funcionou? Em seu navegador navegue até o localhost que você verá a página inicial do nGinx:

Image for post

E para ver os pods em execução só digitar:

sudo podman ps

Pod ser que você veja algo do tipo:

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

Quer parar esse pod? Então pod executar o comando abaixo:

sudo podman stop nginx

E para remover:

sudo podman rm -f nginx

Executando um Dockerfile com Podman

Vamos tentar executar um arquivo Dockerfile? Eu disse que tinha como e vamos agora provar isso, caso você não tenha nenhum arquivo Dockerfile, nós vamos começar do ZERO!! Crie um arquivo chamado Dockerfile com este conteúdo abaixo:

FROM fedora:latest
RUN dnf -y update && dnf -y install httpd git  && dnf clean all
RUN echo "<html><body><h1>Dockerfile with Podman</h1><p>Hello World!</p></body></html>" > /var/www/html/index.html
EXPOSE 80
ENTRYPOINT /usr/sbin/httpd -DFOREGROUND

Após isso, vamos fazer o build desta imagem desta forma:

sudo podman build --tag fedora:myhttpd -f ./Dockerfile

Vamos verificar se a imagem foi realmente criada:

sudo podman images

Então Pod ser que tenhamos algo semelhante à isso:

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

Vamos testar essa bagaça agora, vamos rodar este container, Pod ser?

sudo podman run -p 8080:80 --name myhttpd --rm fedora:myhttpd

E para ver se funcionou, acesse no navegador: localhost:8080 e se tudo deu certo essa é a página que vamos visualizar:

Image for post

E se quiser remover a imagem, execute:

sudo podman rmi fedora:myhttpd

Fácil não é mesmo? E aí, bora trocar de Docker pra Podman? Caso queira ler mais sobre Podman, acesse este site que tem um artigo muito legal sobre o Podman em comparação ao Docker. Para criar imagens de containers, você pode usar o Buildah!

Vaaleeeu! Bons estudos!

Podman Alternatives and Similar Software - AlternativeTo.net

Uma resposta em “O naufrágio do Docker? Vamos com Podman..”

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *