6 pontos por GN⁺ 2024-11-24 | 1 comentários | Compartilhar no WhatsApp
  • Bocker

    • Bocker é uma versão simples do Docker implementada em cerca de 100 linhas de bash.
  • Prerequisites

    • Pacotes necessários para executar o Bocker:
      • btrfs-progs
      • curl
      • iproute2
      • iptables
      • libcgroup-tools
      • util-linux >= 2.25.2
      • coreutils >= 7.5
    • Requisitos de configuração do sistema:
      • montar um sistema de arquivos btrfs em /var/bocker
      • uma ponte de rede chamada bridge0 com o IP 10.0.0.1/24
      • encaminhamento de IP ativado em /proc/sys/net/ipv4/ip_forward
      • firewall para rotear o tráfego de bridge0 para a interface física
    • É possível usar o Vagrantfile para montar o ambiente necessário.
    • O Bocker é executado com privilégios de root e altera interfaces de rede, tabelas de roteamento e regras de firewall, portanto é recomendável executá-lo em uma máquina virtual.
  • Example Usage

    • Exemplos de uso do Bocker:
      • usar o comando bocker pull centos 7 para baixar a imagem do CentOS 7.
      • usar bocker images para verificar a lista de imagens.
      • usar bocker run img_42150 cat /etc/centos-release para executar um comando no contêiner.
      • usar bocker ps para verificar os contêineres em execução.
      • usar bocker logs ps_42045 para verificar os logs do contêiner.
      • usar bocker rm ps_42045 para remover o contêiner.
      • usar bocker run img_42150 yum install -y wget para instalar pacotes.
      • usar bocker commit ps_42018 img_42150 para commitar as alterações do contêiner.
      • é possível definir limites de CPU e memória.
  • Functionality: Currently Implemented

    • Funcionalidades implementadas atualmente:
      • implementação limitada de docker build
      • docker pull
      • docker images
      • docker ps
      • docker run
      • docker exec
      • docker logs
      • docker commit
      • docker rm / docker rmi
      • rede
      • suporte a cotas / CGroups
  • Functionality: Not Yet Implemented

    • Funcionalidades ainda não implementadas:
      • contêineres de volume de dados
      • volumes de dados
      • encaminhamento de portas
  • License

    • Este programa é software livre distribuído sob a GNU General Public License.
    • Não há garantia de comercialização nem de adequação a um propósito específico.

1 comentários

 
GN⁺ 2024-11-24
Comentários do Hacker News
  • Criei um projeto chamado Bag usando proot. Não é uma alternativa ao Docker, não tem relação com cgroups, e a CLI também é diferente da do Docker. Desenvolvi uma solução de cadeia de proxies para contornar a censura na internet e queria executá-la no termux. Na época, o termux não tinha jdk/jre, então consegui usar o jdk criando um ambiente archlinux com proot. Esse ambiente servia bem para vários tipos de trabalho, e um script chamado bag.sh permitia automatizar a criação do ambiente e a execução de comandos. Esse script tem um roadmap que não é atualizado há 5 anos

  • Gosto de scripts bash mínimos; há 10 anos, em um hackathon, implementei um balanceador de carga intra-cluster em 40 linhas de bash para divulgar uma infraestrutura distribuída usando Docker, Mesos etc. Também desenvolvi uma ferramenta de transferência colo-to-cloud, mas hoje ela está perdida. Dá para encontrar coleções úteis de scripts em lugares como Shell Fu

  • Gosto quando um repositório tem mensagens como "ainda não implementado", "a fazer" e "em andamento", e o último commit foi há vários anos. Isso me dá um alívio por não precisar voltar a revisar a lista de tarefas que deixei passar no meu próprio código

  • Surpreende que o lazydocker não tenha sido mencionado como uma ótima alternativa ao Docker Desktop. É uma TUI bem completa que roda via ssh

  • BastilleBSD é uma ferramenta para gerenciar jails no BSD e usa muitas das estruturas que se encontram no Docker. Eu a prefiro a outros softwares de gerenciamento de jails no BSD porque tem menos dependências

  • Independentemente da utilidade prática, há muito o que aprender com a implementação

  • O link da página inicial no GitHub está quebrado, então é preciso remover o "www.";

  • O fato de que uma reimplementação simples do Docker é possível é o maior problema que a empresa Docker enfrenta. O verdadeiro valor do Docker não está só no Docker Hub, mas na experiência integrada oferecida pelo Docker para Windows e Mac. Isso proporciona uma experiência muito superior a configurar manualmente VirtualBox e Vagrant

  • Fica a dúvida de como o Docker começou

  • Fica a dúvida de por que o Docker ainda não está incluído nos repositórios do ubuntu/debian. Isso seria lucro fácil