-
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
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 comproot. Esse ambiente servia bem para vários tipos de trabalho, e um script chamadobag.shpermitia automatizar a criação do ambiente e a execução de comandos. Esse script tem um roadmap que não é atualizado há 5 anosGosto 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