A Amazon anunciou a expansão de sua ferramenta open-source Finch para o Linux, consolidando o suporte para as três principais plataformas: Linux, macOS e Windows. Desenvolvida para facilitar o gerenciamento de contêineres, Finch oferece uma interface de linha de comando para criar, executar e publicar contêineres de forma eficiente, utilizando padrões da Open Container Initiative (OCI). Agora, com suporte ao Linux, o Finch unifica a experiência de desenvolvimento de contêineres, permitindo que os desenvolvedores utilizem os mesmos comandos e recursos em todas as plataformas.
Recursos do Finch no Linux
No Linux, Finch oferece as mesmas funcionalidades encontradas nas versões para macOS e Windows, como:
- Construção de imagens de contêineres usando Dockerfiles.
- Execução local de contêineres.
- Envio e recuperação de imagens de contêineres em repositórios.
- Gerenciamento de redes e volumes de contêineres.
- Orquestração de múltiplos contêineres com o finch compose.
No entanto, no Linux, o Finch interage diretamente com o kernel, utilizando recursos nativos como namespaces e cgroups, sem a necessidade de uma camada de virtualização intermediária, como ocorre no macOS e Windows com Lima.
Instalação do Finch no Linux
Em distribuições Amazon Linux:
O Finch está disponível em pacotes RPM para Amazon Linux 2 e Amazon Linux 2023, podendo ser instalado facilmente através do gerenciador de pacotes YUM com o seguinte comando:
sudo yum install runfinch-finch
Isso instalará o binário do Finch e todas as dependências necessárias. Para garantir que os serviços necessários sejam inicializados automaticamente no boot do sistema e iniciados imediatamente, execute os seguintes comandos:
sudo systemctl enable --now containerd.service
sudo systemctl enable --now finch.service
sudo systemctl enable --now finch-buildkit.service
sudo systemctl enable --now finch-buildkit.socket
Em outras distribuições Linux baseadas em RPM:
Além do suporte nativo ao Amazon Linux, o Finch também pode ser compilado para outras distribuições que utilizam pacotes RPM, como Fedora. Para essas distribuições, você pode utilizar os scripts de construção disponíveis no repositório GitHub do Finch.
Verificação da Instalação
Após a instalação, você pode validar o funcionamento do Finch executando um contêiner de teste com o comando:
sudo finch run --rm public.ecr.aws/finch/hello-finch
Este comando irá baixar a imagem do contêiner, criar uma instância e executá-la. O contêiner será removido automaticamente após a conclusão do processo.
Suporte a imagens multi-arquitetura
O Finch no Linux também oferece suporte à criação e execução de contêineres para diferentes arquiteturas de CPU, como AMD64 e ARM64, através do emulador QEMU, que pode ser instalado manualmente:
sudo finch run --privileged --rm tonistiigi/binfmt --install all
Com o QEMU instalado, você poderá criar e executar contêineres em arquiteturas não nativas, como ARM64, utilizando a flag --platform
para especificar a arquitetura desejada.
Conclusão
A chegada do Finch no Linux amplia as possibilidades para desenvolvedores que trabalham com contêineres, oferecendo uma plataforma unificada para o gerenciamento eficiente e simplificado de contêineres em todas as plataformas. Ao combinar componentes como nerdctl, containerd e BuildKit, o Finch proporciona uma experiência consistente e independente de fornecedores, tornando o desenvolvimento de contêineres mais acessível e padronizado.