4 points par GN⁺ 2024-09-21 | 2 commentaires | Partager sur WhatsApp
  • Container Desktop est une UI desktop gratuite et open source qui permet de gérer Podman, Docker et Apple™ Container depuis un seul écran, avec prise en charge de Windows, macOS et Linux
  • Au-delà des moteurs locaux, il permet de basculer dans un même gestionnaire entre les connexions distantes SSH, Windows WSL, macOS LIMA et Apple™ Container sur Apple silicon
  • Les tâches courantes d’exploitation se font depuis l’UI : logs par conteneur, état, variables d’environnement, montages, ports, statistiques, terminal intégré, ouverture dans le navigateur, etc.
  • Il prend en charge la gestion des images, de la sécurité des images, des Pods, réseaux, secrets et volumes, ainsi que les réglages de thème, police, mode de démarrage, tray, mises à jour et niveau de logs
  • Application sous licence MIT, elle propose des paquets natifs pour Linux, macOS et Windows, ainsi qu’une distribution via le Microsoft Store

Le rôle de Container Desktop

  • Container Desktop est une UI desktop pour Podman, Docker et Apple™ Container
  • Il permet de gérer un environnement de conteneurs de la même manière sous Windows, macOS et Linux
  • Il administre les moteurs locaux, les connexions distantes SSH et les environnements WSL depuis une seule UI
  • C’est une application gratuite et open source, sous licence MIT
  • Si vous avez besoin d’une application créée par l’équipe officielle de Podman, Podman Desktop existe séparément

Moteurs et modes de connexion

  • Un seul gestionnaire permet de basculer entre plusieurs moteurs de conteneurs et modes de connexion
    • Moteur natif sous Linux
    • Moteur virtualisé
    • LIMA sur macOS
    • WSL sur Windows
    • Apple™ Container sur Apple silicon
    • Connexion distante SSH
  • Les cibles prises en charge incluent Podman, Docker, Apple™ Container, LIMA, WSL et SSH

Écran d’exploitation des conteneurs

  • Il permet de vérifier la provenance et l’état des conteneurs
  • Les logs, variables d’environnement, montages, ports et statistiques en direct sont consultables par conteneur
  • Il permet d’effectuer les opérations de base comme démarrer, arrêter et redémarrer
  • Une console terminal intégrée peut être ouverte pour accéder au conteneur
  • Les services exposés peuvent être ouverts directement dans le navigateur
  • Le même flux de travail fonctionne de façon identique avec Podman, Docker et Apple™ Container

Gestion des images, Pods, réseaux, secrets et volumes

  • Images

    • Il est possible de pull, build et inspect des images
    • Des conteneurs peuvent être créés avec des ports et montages personnalisés
  • Sécurité des images

    • Des fonctions permettent de prendre connaissance des vulnérabilités connues et de maintenir la sécurité du système
  • Pods

    • Les logs, processus et détails des Pods peuvent être consultés
    • Une fonction de génération kube est fournie
  • Réseaux

    • Les réseaux peuvent être créés et réutilisés
    • Les paramètres détaillés peuvent être gérés par réseau
  • Secrets

    • Les secrets à l’échelle de l’environnement peuvent être définis, inspectés et supprimés
  • Volumes

    • Le partage de volumes entre conteneurs est pris en charge

Réglages et confort de débogage

  • Il est possible de configurer le thème et la police à chasse fixe
  • Le mode de démarrage de l’application, le comportement dans la zone de notification et le contrôle des mises à jour peuvent être ajustés
  • Le niveau de logs peut être choisi
  • L’emplacement d’enregistrement des réglages et des logs est affiché
  • Avec des emplacements de logs et de configuration clairement indiqués, la configuration vise à faciliter le débogage

Manuel et paquets d’installation

  • Le Manual fournit des guides de configuration par moteur et par plateforme, avec des commandes pouvant être copiées-collées
  • Le guide Linux inclut le démarrage rapide, l’utilisation de Podman comme Docker, une alternative à Docker Desktop et le partage de connexions
  • Le guide macOS couvre le démarrage rapide avec colima, Podman et Docker basés sur LIMA, l’utilisation de Podman comme Docker, Apple™ Container et le partage de connexions
  • Le guide Windows inclut la configuration et les prérequis WSL, le démarrage rapide, l’utilisation de Podman comme Docker, l’installation personnalisée et des conseils
  • Les téléchargements, sur la base de la version v5.3.7, proposent des paquets natifs par plateforme
    • Linux : .deb, .rpm, .tar.gz, .AppImage, .pacman pour x86_64 et arm64
    • macOS : .dmg pour Apple silicon, .tar.gz portable
    • Windows : Microsoft Store pour x64, .exe installable, .zip portable

2 commentaires

 
ndrgrd 2024-09-27

Je sais depuis quelques années qu’il existe quelque chose appelé posman, mais j’ai entendu dire qu’il y avait pas mal de bugs et de points agaçants. Est-ce que ça s’est beaucoup amélioré récemment ?

 
GN⁺ 2024-09-21
Avis sur Hacker News
  • Le support de Kubernetes est prévu, et mon responsable DevOps insiste fortement pour qu’on l’ajoute
    Beaucoup de gens ici sont des power users, et semblent voir l’UI comme une sorte de test visuel pour décider si elle est nécessaire ou non
    Ce n’est pas un projet commercial et il ne poursuit pas d’objectifs business, mais cela ne veut pas dire qu’on renonce à la qualité. L’idée est d’offrir partout une consommation minimale de ressources, une expérience simple et une bonne UI/UX
    Si l’on ouvre la console développeur, l’outil explique tout ce qu’il fait en arrière-plan, et peut aider l’utilisateur à comprendre progressivement, jusqu’à pouvoir automatiser avec des scripts et des spécifications
    Aujourd’hui, on a tendance à considérer les utilisateurs soit comme trop intelligents, soit comme trop bêtes, mais ce n’est pas ma vision. Tout le monde a commencé quelque part, et je pense qu’une expérience d’apprentissage progressive est ce qu’il y a de mieux
    Quand j’étais petit, j’ai cassé beaucoup de radios et de jouets, et j’ai beaucoup appris en regardant ce qu’il y avait dedans. Ce projet est développé par une personne seule après le travail, et quand il pleut dehors. Il pleut beaucoup en Belgique

    • Moi non plus, je ne passe pas toute ma vie dans la ligne de commande, mais une GUI pour Docker me semble être une niche intéressante
      Je ne vois pas très bien quelle est exactement l’intersection des gens qui savent qu’ils veulent lancer des conteneurs Docker en local, qui comprennent comment cela fonctionne, mais qui ne veulent pas taper dans un prompt les quelques commandes nécessaires à leur exécution
    • La formule « aujourd’hui, tout le monde est considéré comme soit trop intelligent, soit trop bête » résume de façon très concise et poétique beaucoup de situations dans ce domaine
    • Ça a vraiment l’air très soigné. Le site indique que le support d’autres moteurs est aussi prévu, et je me demande lesquels
      J’imagine qu’il s’agira d’une intégration directe avec containerd ou kata, mais j’aimerais en savoir plus. Si je pouvais faire une demande, ce serait une option utilisant directement systemd. systemd dispose désormais d’un ensemble de fonctionnalités assez solide pour exécuter des conteneurs
    • Je me demande si le support de Kubernetes signifie les fonctionnalités de type Kubernetes de Podman, comme podman play kube, ou bien Kubernetes lui-même
    • Je n’ai jamais été jusqu’au bout, mais documenter un K8S basique chez Hetzner à environ 20 euros par mois, plus précisément une configuration K3S, était assez amusant
      Cela ne permet pas vraiment d’apprendre en profondeur l’administration système ou Docker, mais on acquiert l’intuition qu’il est possible de faire tourner facilement plusieurs services sur un serveur en ne connaissant que YAML, sans DSL séparé comme chef ou puppet
  • Ça a l’air super, mais je me demande ce qu’il en est du support de Kubernetes. L’une des principales raisons pour lesquelles nous utilisons Docker Desktop en entreprise est de lancer un cluster Kubernetes local et d’y déployer des services
    Rancher Desktop, qui utilise k3s, le prend aussi en charge, et k3s peut même être vu comme un meilleur choix que la distribution Kubernetes configurée par Docker Desktop
    J’ai récemment essayé OrbStack : il démarre presque instantanément, et Kubernetes ne prend lui aussi qu’environ 2 secondes au maximum pour démarrer. L’UI est minimaliste, mais suffisante pour consulter les conteneurs, pods, services, logs, etc., et l’usage mémoire comme la consommation de batterie sont très légers. Personnellement, après avoir essayé OrbStack, je ne peux plus revenir à Docker ou Rancher Desktop
    OrbStack permet d’utiliser directement depuis l’hôte les domaines de services Kubernetes, ce qui évite kubectl port-forward, et les applications lancées sur l’hôte peuvent utiliser la même configuration que si elles étaient à l’intérieur du cluster Kubernetes
    En matière d’économie de batterie, d’utilisation dynamique de la mémoire, de temps de démarrage rapide et de commodité, OrbStack est devenu la référence des alternatives à Docker Desktop. Je ne sais pas si container-desktop satisfait toutes ces exigences, et Rancher Desktop, clairement, non

    • OrbStack est l’un des rares abonnements logiciels que je paie, et je ne regrette pas un centime. Il a une énorme avance sur Docker Desktop
    • J’ai fait une démonstration d’OrbStack à tout un département de plus de 100 ingénieurs, et nous avons maintenant résilié les comptes Docker Desktop et tout le monde a migré. Il n’y a eu aucune plainte
    • https://kind.sigs.k8s.io/ et https://k0sproject.io valent aussi le coup d’œil
  • Comme alternative à Docker Desktop, j’utilise Rancher Desktop sur macOS et Windows, et c’est assez stable : https://rancherdesktop.io/
    Il reste encore des choses à polir, mais j’ai aussi pu l’utiliser avec des IDE ; par exemple, j’ai réussi à faire fonctionner l’intégration Docker Compose d’Intellij IDEA
    Un autre bon point est que les scripts existants utilisant l’outil en ligne de commande docker-compose fonctionnent aussi avec Rancher Desktop. C’est parce qu’il utilise nerdctl en interne : https://github.com/containerd/nerdctl

    • Rancher Desktop est appréciable parce que Kubernetes fonctionne tout simplement. Et en plus, après avoir construit une image avec docker build, on peut la lancer directement dans un pod Kubernetes sans passer 10 minutes à chercher la commande permettant de « load » correctement l’image
    • +1 pour Rancher Desktop. Sur MacOS, il fonctionne aussi fluidement que Docker Desktop
    • J’utilise Rancher Desktop depuis 2 ans, et je peux clairement le recommander comme alternative à Docker Desktop
    • Notre entreprise vient aussi de terminer sa migration vers Rancher. Nous sommes environ 1 200 ingénieurs, la plupart sur Mac. Jusqu’à présent, il y a eu moins de points de friction que prévu et ça tourne plutôt bien
    • J’aime tout l’écosystème Rancher. L’expérience de configuration de clusters avec Rancher est très agréable
  • Je recommande aussi de regarder Podman Desktop, qui bénéficie d’un assez bon support de Red Hat
    https://podman-desktop.io/

    • Je ne sais pas si le support de Red Hat est une bonne chose
  • Sur macOS, OrbStack est une bonne alternative à Docker Desktop
    Je n’ai aucun lien avec OrbStack

    • J’aimerais l’essayer, mais je déteste vraiment le modèle par abonnement. Surtout quand il s’agit d’un outil dont l’entreprise doit payer le coût
      Si je pouvais payer 50 à 100 dollars une seule fois et obtenir une licence perpétuelle, je paierais volontiers, pour éviter les tracas associés
    • OrbStack est vraiment excellent. Je l’utilise pour compiler sur Ubuntu/Mac × x86_64/arm, soit 4 plateformes au total, et c’est le plus rapide de tout ce que j’ai essayé dans la famille émulation/Docker
    • colima est bien aussi : https://www.swyx.io/running-docker-without-docker-desktop
      Je n’ai aucun lien non plus, et je n’ai pas encore essayé OrbStack
    • Je suis passé à OrbStack et j’ai aussi payé la licence. Je suis d’accord qu’on en a assez des abonnements, mais j’ai l’impression que ça vaut les 8 dollars par mois
      J’ai aussi utilisé Colima, et si OrbStack n’avait pas été une option, j’aurais été satisfait de continuer avec Colima
    • C’est bien pour un usage personnel. Il faut toutefois savoir que si on l’utilise au travail, une licence est nécessaire
  • J’utilise actuellement colima, mais je regrette de ne pas trouver d’autre alternative prenant en charge le transfert de ports UDP, que j’utilise beaucoup
    Heureusement, un nouveau port forwarder avec prise en charge d’UDP a été fusionné dans lima [0]. J’espère pouvoir l’utiliser bientôt une fois qu’il sera inclus dans une release
    [0] : https://github.com/lima-vm/lima/commit/13e9cbcabc6a0a05ec389...

  • J’utilise OrbStack avec beaucoup de satisfaction : https://orbstack.dev/
    Il prend aussi en charge les VM Linux et Kubernetes, mais je n’ai pas encore essayé Kubernetes

  • Je me demande ce que cela apporte que Podman Desktop n’a pas
    https://podman-desktop.io/

    • La dernière fois que j’ai vérifié, la prise en charge de docker-compose.yml par Podman était très limitée. Je me demande si cela a changé
    • Du point de vue d’un utilisateur Windows, je me demande aussi ce que Podman Desktop apporte que WSL n’a pas
  • C’est une plainte un peu distincte, mais Podman autorise les montages de l’hôte pendant la construction d’images, contrairement à Docker
    Un monorepo utilisant Podman exploitait cette fonctionnalité pour construire des images de conteneurs à partir des sources, mais essayer de faire la même chose avec Docker était un gros casse-tête, car il fallait à chaque fois copier le monorepo dans le contexte de build Docker
    Je devais utiliser Docker à cause de la prise en charge des M1, mais j’aurais probablement dû essayer quelque chose comme Colima

    • https://docs.docker.com/reference/dockerfile/#run---mount
    • Je me trompe peut-être, mais il me semble que BuildKit fournit cette fonctionnalité à Docker
    • À ma place, je monterais l’arborescence en bind mount dans le contexte. Je suppose que Docker ne suivra pas un simple lien symbolique
  • Je suis globalement satisfait de Colima sur Mac, mais cela ressemble aussi à une bonne alternative à Docker Desktop

    • Après quelques difficultés au début avec colima, je suis globalement d’accord. Il fallait surtout préciser les arguments VZ[0] pour faire tourner des images Docker x86_64 sur les séries M
      Je me demande ce que ces UI desktop apportent que colima n’a absolument pas
      [0] colima start --vm-type=vz --vz-rosetta