Toolbx: Gerencie Múltiplos Contêineres de Desenvolvimento no Fedora
O desenvolvimento moderno em Linux evoluiu além da abordagem tradicional de instalar tudo diretamente no seu sistema. Agora você tem acesso a ferramentas que ajudam a criar ambientes de desenvolvimento isolados sem lidar com o overhead de máquinas virtuais completas ou a complexidade do gerenciamento manual de containers.
É aqui que o Fedora Toolbx entra em cena – uma ferramenta que facilita a criação de ambientes de desenvolvimento em contêiner, mantendo a experiência tão fluida quanto trabalhar diretamente no seu sistema hospedeiro.
Neste guia, você aprenderá como configurar e usar o Fedora Toolbx para criar ambientes de desenvolvimento que são isolados, reprodutíveis e fáceis de gerenciar. Você poderá explorar como o Toolbx ajuda a trabalhar em vários projetos com dependências conflitantes, mantendo seu sistema base limpo e organizado.
O guia leva você pelos conceitos básicos do Toolbx com explicações simples e práticas. Primeiro, você aprende o que é o Toolbx e por que você precisa dele, depois passa a instalar e configurar no seu sistema Fedora. Depois disso, você poderá criar seu primeiro contêiner de desenvolvimento e entender como gerenciar múltiplos ambientes de forma eficaz.
As seções finais mostram fluxos de trabalho comuns e melhores práticas que ajudam você a aproveitar ao máximo o Toolbx no seu trabalho diário de desenvolvimento.
Nota: Toolbx foi originalmente desenvolvido para Fedora e funciona melhor em sistemas baseados no Fedora, embora você também possa usá-lo em outras distribuições modernas do Linux, mas este guia se concentra principalmente no Fedora.
Entendendo o Toolbx: O Que O Torna Diferente
Antes de começar a trabalhar com Toolbx, é importante entender o que ele realmente faz e por que você precisa dele no seu fluxo de desenvolvimento.
Toolbx cria ambientes containerizados usando o Podman, que é um motor de contêineres semelhante ao Docker, mas funciona sem um daemon.
O que faz o Toolbx se destacar é o quão bem ele integra esses contêineres com o seu sistema host, oferecendo uma experiência de desenvolvimento fluida que não parece restritiva como os contêineres tradicionais.
Quando você trabalha com contêineres Toolbx, você obtém vários benefícios importantes que tornam seu trabalho de desenvolvimento mais fácil:
- Acesso Perfeito ao Diretório Home – Seu diretório home é montado automaticamente no contêiner, o que significa que seus arquivos, configurações e chaves SSH ficam imediatamente disponíveis sem nenhuma configuração adicional.
- Acesso Direto ao Hardware – Gráficos, áudio e outros dispositivos funcionam imediatamente, sem necessidade de configuração especial ou procedimentos complicados de montagem.
- Integração com o Host – Você pode executar aplicações gráficas, acessar a rede e interagir com seu sistema como se estivesse trabalhando diretamente no seu sistema host, e não dentro de um contêiner.
Você pode pensar no Toolbx como a criação de uma "bolha" protegida ao redor das suas ferramentas e dependências de desenvolvimento. Dentro dessa bolha, você pode instalar quaisquer pacotes, bibliotecas ou ferramentas que precisar para um projeto específico sem afetar o seu sistema principal.
Nas seções a seguir, você aprenderá como instalar o Toolbx no seu sistema Fedora e começar a criar esses ambientes de desenvolvimento isolados.
Instalando o Toolbx no Fedora
No Fedora Workstation (versão 28 e posteriores), o toolbx já vem pré-instalado, e você pode verificá-lo executando o seguinte comando.
toolbox --version
Se você visualizar um número de versão, está pronto para começar; se o Toolbx não estiver instalado, você pode adicioná-lo com:
sudo dnf install toolbox
Isso é tudo para a instalação. Sem arquivos de configuração complexos, sem configuração de daemon, sem dependências adicionais para se preocupar.
Criando Seu Primeiro Contêiner Toolbx
Criar um contêiner Toolbx é um processo simples que você pode concluir com apenas um comando, que criará um contêiner padrão baseado na sua versão atual do Fedora.
Se você estiver usando o Fedora 41, por exemplo, ele cria automaticamente um contêiner Fedora 41 para você. Na primeira vez que você executar este comando, o Toolbx fará o download da imagem do contêiner, o que leva alguns minutos dependendo da velocidade da sua conexão com a internet.
toolbox create
Uma vez que o contêiner é criado, você pode entrar nele executando o próximo comando:
toolbox enter
Você notará o pequeno ícone de contêiner (⬢) que aparece no prompt, o que indica que você está dentro do seu contêiner Toolbx.
Mesmo trabalhando em um ambiente conteinerizado, você vai perceber que seu diretório pessoal, seus arquivos e a maior parte do ambiente do sistema host permanecem facilmente acessíveis, assim como seriam no seu sistema principal.
Usando Diferentes Versões do Fedora
Às vezes, você precisa trabalhar com uma versão específica do Fedora, talvez seus servidores de produção usem uma versão mais antiga, ou você queira testar a compatibilidade com a versão mais recente antes de atualizar seu sistema principal.
O Toolbx facilita isso com a opção --release ou -r:
toolbox create --release 39 fedora39-container
toolbox create --release 41 testing-fedora41
Você pode até usar contêineres de versões mais antigas do Fedora enquanto executa uma versão mais recente no seu sistema host, oferecendo uma maneira conveniente de manter a compatibilidade com diferentes ambientes.
Testando Seu Ambiente de Contêiner
Para verificar se você está realmente dentro do contêiner e ver como ele difere do seu sistema host, você pode executar alguns comandos simples, por exemplo, verificar quais pacotes estão instalados.
dnf list installed | wc -l
Você também pode verificar o nome do host do container:
hostname
Para ver o seu diretório de trabalho atual e verificar se o diretório home está acessível:
pwd
ls -la
Você vai perceber que está no seu diretório home com todos os seus arquivos e pastas familiares visíveis, mesmo estando dentro de um contêiner.
Instalando Software Dentro do Seu Container
Agora que você está dentro do contêiner, pode instalar ferramentas de desenvolvimento sem afetar seu sistema principal. Por exemplo, se você quiser configurar um ambiente de desenvolvimento Python:
sudo dnf install python3-pip python3-virtualenv git vim -y
Se você sair do contêiner e verificar seu sistema host, esses pacotes não estarão instalados lá, eles existem apenas dentro do seu ambiente Toolbx.
Vamos tentar outro exemplo com as ferramentas de desenvolvimento do Node.js.
sudo dnf install nodejs npm -y
node --version
npm --version
Esses comandos instalam o Node.js e o npm, e depois verificam a instalação conferindo suas versões. Novamente, essa instalação é completamente isolada do seu sistema principal.
Quando você terminar de trabalhar no seu contêiner, pode sair dele simplesmente executando:
exit
Criando Contêineres Nomeados para Diferentes Projetos
Embora o contêiner padrão funcione bem para trabalho de desenvolvimento geral, você frequentemente precisará de contêineres separados para diferentes projetos ou propósitos específicos. Criar contêineres nomeados ajuda a organizar seus ambientes de desenvolvimento de forma mais eficaz e a manter seu trabalho isolado.
Para criar contêineres nomeados, você executa o comando toolbox create seguido do nome que deseja dar ao seu contêiner:
toolbox create python-dev
toolbox create nodejs-project
toolbox create rust-experiments
Cada um desses comandos cria um contêiner distinto com seu próprio ambiente isolado. Quando você quer trabalhar em um projeto específico, você entra no contêiner correspondente fornecendo seu nome com o comando enter:
toolbox enter python-dev
Essa abordagem ajuda você a manter ambientes completamente isolados para diferentes tipos de trabalho de desenvolvimento. Por exemplo, seu contêiner Python pode rodar Python 3.12 com todas as suas dependências modernas, enquanto o contêiner do seu projeto legado pode usar Python 3.8 com bibliotecas mais antigas, e nenhum dos ambientes interferirá no outro ou afetará o sistema hospedeiro de qualquer maneira.
Executando Aplicativos Gráficos a partir do Toolbx
O que torna o Toolbx verdadeiramente especial é a sua capacidade de executar aplicativos gráficos de forma contínua de dentro dos seus contêineres. Ao contrário dos contêineres tradicionais, que exigem configuração complexa de X11 e encaminhamento.
Toolbx cuida de toda a integração de exibição automaticamente, fazendo com que pareça que você está executando os aplicativos diretamente no seu sistema anfitrião.
Para ver como isso funciona na prática, vamos instalar e executar um editor de texto gráfico como exemplo.
toolbox enter
sudo dnf install gedit -y
Uma vez que a instalação seja concluída, você pode abrir o editor.
gedit &
A janela do gedit abre na sua área de trabalho como se você tivesse iniciado a partir do seu sistema host. Você pode criar, editar e salvar arquivos, e tudo funciona exatamente como você esperaria.
O e comercial (&) no final executa o aplicativo em segundo plano, permitindo que você continue usando seu terminal enquanto o aplicativo gráfico permanece aberto.
Gerenciando Múltiplos Contêineres Toolbx
À medida que você cria mais contêineres para diferentes projetos, precisará de uma forma de acompanhá-los e gerenciá-los de maneira eficaz. Toolbx oferece vários comandos que ajudam você a visualizar, controlar e organizar seus ambientes conteinerizados.
Listando Seus Contêineres
Para ver todos os contêineres que você criou, execute o comando de listagem:
toolbox list
A partir desta saída, você pode ver quais contêineres estão atualmente em execução e quais foram finalizados.
Verificando detalhes do contêiner
Se você quiser informações mais detalhadas sobre um contêiner específico, pode usar o Podman diretamente, já que os contêineres Toolbx são contêineres comuns do Podman:
podman ps -a
Você também pode inspecionar um contêiner específico para ver sua configuração completa:
podman inspect python-dev
Parando e Iniciando Contêineres em Execução
Quando você terminar de trabalhar em um contêiner e quiser liberar recursos do sistema, você pode pará-lo explicitamente.
podman stop python-dev
Você pode verificar se o contêiner foi parado executando o comando de listagem novamente:
toolbox list
Você verá que o status do contêiner mudou de “em execução” para “finalizado“.
Se você tem um contêiner que está parado no momento e quer usá-lo novamente, basta entrar nele, e o Toolbx irá iniciá-lo automaticamente para você:
toolbox enter python-dev
Removendo Contêineres Que Você Não Precisa Mais
Com o tempo, você pode acumular containers que não usa mais, e esses containers ocupam espaço em disco no seu sistema. Quando tiver certeza de que não precisa mais de um container, você pode removê-lo completamente usando o comando rm:
toolbox rm python-dev
Antes de remover o contêiner, o Toolbx pede que você confirme a ação. Basta digitar y para confirmar, e o Toolbx remove o contêiner junto com todos os pacotes e configurações que você instalou dentro dele.
Nota Importante: Remover um contêiner exclui todos os pacotes, configurações do sistema e quaisquer dados armazenados no sistema de arquivos do contêiner, mas os arquivos do seu diretório pessoal permanecem completamente seguros.
Após remover, você pode verificar o uso do disco de todos os seus containers, imagens e volumes com:
podman system df
Se você quiser liberar espaço em disco removendo todos os containers parados e imagens não utilizadas, pode executar um comando de limpeza:
podman system prune
Conclusão
Toolbx oferece uma maneira poderosa de gerenciar ambientes de desenvolvimento no seu sistema Fedora sem a complexidade das máquinas virtuais tradicionais.
Ao longo deste guia, você aprendeu como criar contêineres isolados, executar aplicações gráficas e gerenciar múltiplos ambientes de desenvolvimento enquanto mantém seu sistema base limpo.
Você achou este guia útil? Compartilhe sua experiência, dúvidas ou dicas nos comentários abaixo. Seu feedback nos ajuda a melhorar nosso conteúdo e auxilia outros leitores em sua jornada com o Toolbx.









