dockerc - Ferramenta para compilar imagens Docker em binários portáteis standalone
(github.com/NilsIrl)- Ferramenta para compilar imagens Docker em binários independentes e portáteis
- Permite fornecer aos usuários binários executáveis sem necessidade de comandos como
docker run,pip installounpm i
Recursos
- Compila imagens Docker em binários portáteis.
- Contêineres que não exigem privilégios de root.
- Suporte a MacOS e Windows (usando QEMU): planejado
- Suporte a x86_64 (suporte a arm64 planejado)
- Suporte a argumentos
- Suporte à definição de variáveis de ambiente com
-e. - Suporte à definição de volumes com
-v.
Como usar
- Instale o dockerc a partir da release mais recente.
- Gere o binário de saída usando uma imagem do Docker Hub ou uma imagem do repositório do daemon Docker local.
- O binário gerado pode ser executado como um binário comum.
- As opções
-ee-vpodem ser especificadas da mesma forma que ao usardocker run. - É possível acessar diretamente os serviços de rede executados dentro do contêiner, sem necessidade de especificar
-p. - O carregamento de imagens usa Skopeo; para outros locais, consulte a documentação correspondente.
Opinião do GN⁺
- O dockerc é uma ferramenta que pode melhorar bastante a usabilidade do Docker, permitindo que os usuários executem aplicações sem processos de instalação complexos. Isso pode ser especialmente útil para usuários não técnicos.
- A capacidade de compilar imagens Docker em binários simplifica a distribuição e a implantação, oferecendo economia de tempo e eficiência para desenvolvedores e administradores de sistemas.
- No entanto, para que essa tecnologia seja amplamente adotada, questões relacionadas a segurança, desempenho e compatibilidade precisam ser suficientemente resolvidas. Por exemplo, é necessário verificar se os binários compilados são tão seguros quanto as imagens Docker originais e se funcionam sem problemas em todos os sistemas.
- Outro projeto com funcionalidades semelhantes às do Docker é o Podman, que oferece a capacidade de executar contêineres sem privilégios de root.
- Ao adotar o dockerc, é preciso considerar a integração com os fluxos de trabalho existentes do Docker, os métodos de atualização e gerenciamento das imagens, além do tamanho e do desempenho dos binários compilados. Os benefícios dessa tecnologia estão na simplificação da distribuição e na facilidade de uso, mas também é necessário avaliar com cuidado o overhead do processo de compilação e possíveis problemas de compatibilidade.
2 comentários
Oh, bem interessante.
Opiniões do Hacker News
Isso é realmente muito legal.
No passado, eu usei e recomendei
nix-bundle¹ ou sua contraparte oficial,nix bundle².nix bundlepode criar não apenas executáveis grandes, mas também imagens Docker, AppImages e alguns outros formatos de imagem/executável.É realmente bom voltar para executáveis portáteis com um SO embutido.
O usuário está esperando que as pessoas comecem a enviar Dockerfiles que gerem contêineres Docker para executar essas coisas.
Há uma grande ironia cósmica nisso.
Isso é um avanço legal, Nils! Fico feliz em ver o progresso do projeto desde que conversamos na AGI House.
Ainda são necessárias coisas diferentes para outras arquiteturas.
Boa ideia! Como isso realmente funciona?
Foi legal usar a ilustração do rant.
O que isso significa? Agora os usuários podem distribuir um executável Ruby portátil sem instalar Ruby?