quelle est la différence principale entre Docker et Snap?

54

Récemment c't (malheureusement paywall ), il y a un article sur Snap et Flatpak.

Cela ressemble beaucoup à Docker, beaucoup de concepts sont les mêmes. Maintenant, ma question, quelle est la différence entre Snap et Docker? Ces cas d'utilisation sont-ils différents?

    
posée Ivanov 05.08.2016 - 17:31
la source

1 réponse

66

Vous trouverez peut-être la présentation de Mark Shuttleworth "Pourquoi nous avons besoin d’un conteneur différent uniquement pour les applications" dans le Camp de conteneurs . à votre question Il parle généralement des machines virtuelles, des conteneurs et de Docker au début, poursuivant les clichés et leur place dans environ neuf minutes. Voici mon résumé:

  • Différents types de conteneurs se ressemblent mais sont utilisés à des fins différentes.
  • Les conteneurs n'existent pas vraiment au niveau du noyau. Différentes sortes d'illusions sont possibles. Indépendamment, nous pouvons créer des illusions sur les utilisateurs, le réseau, le disque et les processus qu’un conteneur voit.
  • Différents types de conteneurs sont en réalité des classes différentes des illusions créées.
  • Les snaps sont:
    • Immuable, mais fait toujours partie du système de base.
    • Intégré en termes de réseau, partagez l’adresse IP du système, contrairement à Docker, où chaque conteneur a sa propre adresse IP.
    • En d'autres termes, Docker nous donne quelque chose . Snaps nous donne quelque chose ici . Par exemple, sur un bureau, un composant logiciel enfichable fournit une application directement dessus.
    • Un composant logiciel enfichable ne peut pas polluer le reste du système. C'est dans sa propre boîte. Mais il peut toujours voir (lecture seule) le reste du système, ce qui lui permet de parler et d’intégrer le système.

Vous avez posé des questions sur différents cas d'utilisation par rapport à Docker. Voici ce que les snaps peuvent faire, mais Docker ne peut pas: les applications de bureau. Les tiers peuvent envoyer des applications de bureau à l'aide de clichés et les utilisateurs peuvent facilement les installer et les mettre à jour. Un conteneur Docker ne peut pas (facilement) interagir avec l'utilisateur sous forme graphique sur l'écran, charger des documents à partir du répertoire personnel de l'utilisateur ou fournir une visioconférence via la webcam de l'utilisateur. Snaps peut (une fois donné la permission).

Vous pourriez vous demander comment cela est mieux que d’utiliser les PPA. Mais en comparaison de Docker, cela revient à demander comment Docker est mieux que d’installer manuellement des dépendances sur un système. C'est mieux, mais la meilleure façon de répondre à cette question est probablement une question distincte, non spécifique à Docker.

    
réponse donnée Robie Basak 06.01.2017 - 16:32
la source

Lire d'autres questions sur les étiquettes