4 pontos por GN⁺ 2024-09-21 | 2 comentários | Compartilhar no WhatsApp
  • Container Desktop é uma UI desktop gratuita e open source para gerenciar Podman, Docker e Apple™ Container em uma única tela, com suporte a Windows, macOS e Linux
  • Além de engines locais, permite alternar em um único gerenciador entre conexões remotas via SSH, Windows WSL, macOS LIMA e Apple™ Container no Apple silicon
  • Trata tarefas cotidianas de operação pela UI, como logs, status, variáveis de ambiente, mounts, portas, estatísticas, terminal integrado e abertura no navegador por contêiner
  • Suporta gerenciamento de imagens, segurança de imagens, Pods, redes, secrets e volumes, além de configurações de tema, fonte, modo de inicialização, tray, atualizações e nível de log
  • É um app sob licença MIT e oferece pacotes nativos para Linux, macOS e Windows, além de distribuição pela Microsoft Store

O papel do Container Desktop

  • Container Desktop é uma UI desktop para Podman, Docker e Apple™ Container
  • Permite lidar com ambientes de contêiner da mesma forma no Windows, macOS e Linux
  • Gerencia engines locais, remotos via SSH e ambientes WSL em uma única UI
  • É um app gratuito e open source, com licença MIT
  • Caso seja necessário um app criado pela equipe oficial do Podman, existe separadamente o Podman Desktop

Engines e formas de conexão

  • É possível alternar entre várias engines de contêiner e formas de conexão em um único gerenciador
    • Engine nativa no Linux
    • Engine virtualizada
    • LIMA no macOS
    • WSL no Windows
    • Apple™ Container no Apple silicon
    • Conexão remota via SSH
  • Os alvos compatíveis incluem Podman, Docker, Apple™ Container, LIMA, WSL e SSH

Tela de operação de contêineres

  • Permite verificar a origem e o status dos contêineres
  • Permite ver logs, variáveis de ambiente, mounts, portas e estatísticas em tempo real por contêiner
  • Executa operações básicas como iniciar, parar e reiniciar
  • Permite abrir um console de terminal integrado para acessar o contêiner
  • Serviços expostos podem ser abertos diretamente no navegador
  • O mesmo fluxo de trabalho funciona da mesma forma no Podman, Docker e Apple™ Container

Gerenciamento de imagens, Pods, redes, secrets e volumes

  • Images

    • Permite fazer pull, build e inspect de imagens
    • Permite criar contêineres com portas e mounts personalizados
  • Image security

    • Oferece recursos para reconhecer vulnerabilidades conhecidas e manter a segurança do sistema
  • Pods

    • Permite verificar logs, processos e detalhes de Pods
    • Oferece recurso de geração de kube
  • Networks

    • Permite criar e reutilizar redes
    • Permite lidar com configurações detalhadas por rede
  • Secrets

    • Permite definir, inspecionar e excluir secrets em todo o ambiente
  • Volumes

    • Suporta compartilhamento de volumes entre contêineres

Conveniência em configurações e depuração

  • Permite configurar tema e fonte monoespaçada
  • Ajusta o modo de inicialização do app, o comportamento na system tray e o controle de atualizações
  • Permite selecionar o nível de log
  • Mostra onde configurações e logs são armazenados
  • Busca uma configuração favorável à depuração, com locais de logs e configurações bem definidos

Manual e pacotes de instalação

  • O Manual oferece guias de configuração por engine e plataforma, incluindo comandos que podem ser copiados e colados
  • O guia de Linux inclui início rápido, como usar Podman como Docker, alternativa ao Docker Desktop e compartilhamento de conexão
  • O guia de macOS cobre início rápido com colima, Podman e Docker baseados em LIMA, como usar Podman como Docker, Apple™ Container e compartilhamento de conexão
  • O guia de Windows inclui configuração e requisitos do WSL, início rápido, como usar Podman como Docker, instalação personalizada e dicas
  • Os downloads, com base na v5.3.7, oferecem pacotes nativos por plataforma
    • Linux: .deb, .rpm, .tar.gz, .AppImage, .pacman para x86_64 e arm64
    • macOS: .dmg para Apple silicon, .tar.gz portable
    • Windows: Microsoft Store para x64, .exe instalável, .zip portable

2 comentários

 
ndrgrd 2024-09-27

Eu já sabia havia alguns anos que existia algo chamado posman, mas ouvi dizer que tinha bastante bugs e vários pontos inconvenientes. Recentemente melhorou bastante?

 
GN⁺ 2024-09-21
Opiniões no Hacker News
  • O suporte a Kubernetes está planejado, e meu responsável por DevOps quer muito que eu inclua isso
    Muita gente aqui é power user, então parece ver a UI como uma espécie de poesia visual, julgando se ela é necessária ou não
    Este não é um projeto comercial e também não segue objetivos de negócio, mas isso não significa abrir mão da qualidade. A ideia é oferecer uso mínimo de recursos, uma experiência fácil e boa UI/UX em todos os lugares
    Se você abrir o console de desenvolvedor, ele explica tudo o que está fazendo por trás e pode se tornar uma ferramenta que ajuda o usuário a entender, em algum momento, a automatizar com scripts e especificações
    Hoje em dia, as pessoas tendem a enxergar os usuários como inteligentes demais ou burros demais, mas eu não vejo assim. Todo mundo começou de algum lugar, e acho que uma experiência de aprendizado gradual é a melhor
    Quando eu era criança, quebrei muitos rádios e brinquedos, e aprendi bastante olhando o que havia dentro. Este projeto está sendo feito por uma pessoa depois do expediente, e quando está chovendo lá fora. Na Bélgica chove muito

    • Eu também não passo a vida inteira só na linha de comando, mas uma GUI para Docker me parece um nicho curioso
      Não sei exatamente qual é a interseção de pessoas que sabem que querem rodar contêineres Docker localmente e também sabem como isso funciona, mas não querem digitar no prompt os poucos comandos necessários para executá-los
    • A frase "hoje em dia todo mundo é considerado inteligente demais ou burro demais" descreve de forma muito concisa e poética muitas situações desta área
    • Parece realmente bem polido. O site diz que também há planos de suporte a outros engines, e fiquei curioso sobre quais seriam
      Imagino que seja algo como integração direta com containerd ou kata, mas gostaria de saber mais. Se eu pudesse pedir uma coisa, seria uma opção para usar systemd diretamente, já que hoje o systemd tem recursos bem bons para rodar contêineres
    • Fico me perguntando se suporte a Kubernetes significa recursos parecidos com Kubernetes do Podman, por exemplo algo como podman play kube, ou se significa o Kubernetes em si
    • Nunca cheguei a terminar, mas foi bem divertido documentar uma configuração básica de K8S na Hetzner, mais exatamente uma configuração K3S, que custava cerca de 20 euros por mês
      Você não aprende administração de sistemas ou Docker em profundidade com isso, mas consegue ter a sensação de rodar vários serviços facilmente em um servidor sabendo apenas YAML, sem uma DSL separada como chef ou puppet
  • Parece legal, mas fico curioso sobre como é o suporte a Kubernetes. Um dos grandes motivos para usarmos Docker Desktop na empresa é subir um cluster Kubernetes local e fazer deploy de serviços nele
    O Rancher Desktop, que usa k3s, também dá suporte a isso, e o k3s pode até ser visto como uma escolha melhor do que a distribuição Kubernetes que o Docker Desktop configura
    Testei recentemente o OrbStack e ele inicia quase instantaneamente; o Kubernetes também leva no máximo uns 2 segundos para iniciar. A UI é minimalista, mas suficiente para verificar contêineres, pods, serviços, logs etc., e o uso de memória e consumo de bateria são muito leves. Pessoalmente, depois de usar o OrbStack, não consigo voltar para Docker ou Rancher Desktop
    O OrbStack permite usar domínios de serviço do Kubernetes diretamente a partir do host, então não é necessário kubectl port-forward, e aplicações executadas no host também podem usar a mesma configuração de dentro do cluster Kubernetes
    Em termos de economia de bateria, uso dinâmico de memória, tempo de inicialização rápido e conveniência, o OrbStack virou a referência para alternativas ao Docker Desktop. Não sei se o container-desktop atende a todos esses requisitos, e o Rancher Desktop certamente não atende

    • OrbStack é uma das poucas assinaturas de software pelas quais eu pago, e vale cada centavo. Está muito à frente do Docker Desktop
    • Demonstrei o OrbStack para um departamento inteiro com mais de 100 engenheiros, e agora cancelamos as contas do Docker Desktop e todo mundo migrou. Não houve reclamações
    • https://kind.sigs.k8s.io/ e https://k0sproject.io também valem a pena conferir
  • Tenho usado o Rancher Desktop como alternativa ao Docker Desktop no macOS e no Windows, e ele é bastante estável: https://rancherdesktop.io/
    Ainda há pontos a polir, mas consegui usá-lo integrado a IDEs; por exemplo, fiz a integração do Docker Compose do Intellij IDEA funcionar
    Outro ponto positivo é que scripts existentes que usam a ferramenta de linha de comando docker-compose também funcionam no Rancher Desktop. Isso porque ele usa nerdctl internamente: https://github.com/containerd/nerdctl

    • Gosto do Rancher Desktop porque Kubernetes simplesmente funciona. Além disso, depois de criar uma imagem com docker build, dá para rodá-la diretamente como um pod Kubernetes sem ficar procurando por 10 minutos o comando para "load" corretamente a imagem
    • Mais um voto para o Rancher Desktop. No MacOS, ele funciona tão bem quanto o Docker Desktop
    • Uso o Rancher Desktop há 2 anos e posso recomendá-lo com segurança como alternativa ao Docker Desktop
    • Minha empresa também acabou de concluir a migração para o Rancher. Somos cerca de 1200 engenheiros, a maioria usando Mac. Até agora, houve menos obstáculos do que o esperado e está funcionando bem
    • Gosto de todo o ecossistema Rancher. A experiência de configurar clusters com o Rancher é muito agradável
  • Recomendo também dar uma olhada no Podman Desktop, que tem um suporte bem bom da Red Hat
    https://podman-desktop.io/

    • Não sei se o suporte da Red Hat é algo bom
  • Se for macOS, OrbStack é uma boa alternativa ao Docker Desktop
    Não tenho nenhuma relação com o OrbStack

    • Tenho vontade de testar, mas detesto muito o modelo de assinatura. Especialmente se for uma ferramenta cuja empresa precisa pagar
      Se eu pudesse pagar 50–100 dólares uma vez e receber uma licença perpétua, pagaria de bom grado e evitaria essa dor de cabeça
    • O OrbStack é realmente excelente. Uso para compilar para Ubuntu/Mac × x86_64/arm, no total 4 plataformas, e é o mais rápido entre as opções de emulação/Docker que já usei
    • O colima também é bom: https://www.swyx.io/running-docker-without-docker-desktop
      Também não tenho relação com ele, e ainda não testei o OrbStack
    • Migrei para o OrbStack e também paguei a licença. Concordo que assinaturas cansam, mas sinto que ele vale os 8 dólares por mês
      Também usei o Colima e, se o OrbStack não fosse uma opção, eu ficaria satisfeito em continuar usando o Colima
    • É bom para uso pessoal. Mas é preciso saber que é necessária uma licença se for usado no trabalho
  • Atualmente uso colima, mas é uma pena eu não ter encontrado outra alternativa que dê suporte a encaminhamento de portas UDP, algo que uso bastante
    Felizmente, foi mesclado no lima um novo encaminhador de portas com suporte a UDP [0]. Espero poder usá-lo em breve quando entrar em uma release
    [0]: https://github.com/lima-vm/lima/commit/13e9cbcabc6a0a05ec389...

  • Estou usando OrbStack com bastante satisfação: https://orbstack.dev/
    Ele também oferece suporte a VMs Linux e Kubernetes, mas ainda não testei Kubernetes

  • Fico curioso para saber o que isto oferece que o Podman Desktop não tem
    https://podman-desktop.io/

    • Da última vez que verifiquei, o suporte do Podman a docker-compose.yml era bastante limitado. Fico curioso para saber se isso mudou
    • Do ponto de vista de um usuário de Windows, também fico curioso para saber o que o Podman Desktop oferece que o WSL não tem
  • É uma reclamação um pouco à parte, mas o Podman permite montagem do host durante a construção de imagens, enquanto o Docker não permite
    Um monorepo que usava Podman aproveitava esse recurso para criar imagens de contêiner a partir do código-fonte; ao tentar implementar o mesmo com Docker, era uma grande dor de cabeça ter que copiar o monorepo para o contexto de build do Docker toda vez
    Eu precisava usar Docker por causa do suporte ao M1, mas talvez devesse ter tentado algo como Colima

  • No Mac, estou em geral satisfeito com o Colima, mas isto também parece uma boa alternativa ao Docker Desktop

    • Depois de sofrer um pouco no começo com o colima, em geral concordo. Principalmente, precisei especificar os argumentos do VZ[0] para rodar imagens Docker x86_64 na série M
      Fico curioso para saber o que essas UIs desktop oferecem que simplesmente não existe no colima
      [0] colima start --vm-type=vz --vz-rosetta