Adeus Docker, Olá CRIO e Podman Link to heading
Docker foi uma ferramenta divisora de aguas para auxiliar na transição de workloads baseados em VM para workloads baseados em containers, quem acompanhou desde o começo sabe o tanto de dor de cabeça que o docker podia proporcionar em produção, principalmente epoca do aufs. Hoje em dia existem varias alternativas ao Docker na hora de implementar container, graças a Open Container Iniative.
No RHEL8 e Centos8 a versão recomendada para executar workloads em container é o podman que utiliza o cri-o como container runtime.
Para instalar nós vamos executar o seguinte comando:
# yum install podman buildah
O pacote do podman e todas as suas depencias estão presentes nos repositorios base do Centos.
Após instalar o pacote já podemos testar o comando, a syntax é parecida com a do Docker:
$ podman pull fedora
Trying to pull registry.redhat.io/fedora:latest...Failed
Trying to pull quay.io/fedora:latest...Failed
Trying to pull docker.io/fedora:latest...Getting image source signatures
Copying blob fd2e8b5b2254: 66.15 MiB / 66.15 MiB [==========================] 9s
Copying config ef49352c9c21: 1.99 KiB / 1.99 KiB [==========================] 0s
Writing manifest to image destination
Storing signatures
ef49352c9c21ca58ce753fd0b5dda645492236cec4213ac31ee47c35f2e91b1c
Agora podemos rodar a container:
$ podman run -ti fedora
[root@9cc3fc2da354 /]# cat /etc/redhat-release
Fedora release 30 (Thirty)
Utilizando Dockerfiles com o podman e buildah Link to heading
Para construir imagens para utilizar no podman, nós vamos utilizar o Buildah, que é outra ferramenta que vem junto com a instalação do podman. Ela será responsavel por ler o Dockerfile e construir a imagem.
Vamos utilizar esse reposotirio como base, já que ele possui um Dockerfile funcional, https://gitlab.com/odilonjunior/post-ci-cd.
git clone https://gitlab.com/odilonjunior/post-ci-cd && cd post-ci-cd
Podemos já construir a imagem com o Buildah:
$ buildah bud -t post-ci-cd:buildah .
$ buildah images post-ci-cd
REPOSITORY TAG IMAGE ID CREATED SIZE
localhost/post-ci-cd buildah ce3a1312ba53 7 seconds ago 123 MB
Podemos utilizar o podman tambem para construir as imagens:
$ podman build -t post-ci-cd:podman .
$ podman images post-ci-cd:podman
REPOSITORY TAG IMAGE ID CREATED SIZE
localhost/post-ci-cd podman e76806aabb9d 2 weeks ago 123 MB
Docker foi importante, mas chegou a hora de dizer adeus.