Funktioniert das neue Habitat-Tool von Chef irgendwie mit Docker? Wenn ja, welches Problem versucht Habitat zu lösen, oder versucht es nur Werkzeuge im Docker-Toolset zu ersetzen (z. B. Docker Swarm, Docker Machine, Docker Compose usw.)?Was ist der Unterschied zwischen dem neuen Habitat-Tool von Docker und Chef?
Antwort
Dies wird die Grenzen der Stackoverflow-Politik auf offene Fragen Fußleisten, aber ich werde auf jeden Fall antworten:
Docker und Habitat nicht wirklich viel überlappen. Der Hauptpunkt des Wettbewerbs ist der Aufbau von Release-Artefakten. Docker hat Dockerfiles und docker build
, Habitat hat Pläne und das Studio. Die Ausgabe von beiden kann jedoch ein Docker-Image sein, das im Grunde ein Tarball eines Dateisystems zusammen mit einigen Metadaten ist. Habitat zielt mehr darauf ab, superminimale Artefakte zu bauen, d. H. Ohne eine Linux-Distribution jeglicher Art, keinen Paketmanager, nur statisch kompilierten ausführbaren Code und welche Support-Dateien Sie für diese spezifische App benötigen.
Wie zur Laufzeit sind sie 100% orthogonal. Docker ist eine Möglichkeit, einen Prozess innerhalb einer Reihe von Linux-Sicherheitsfunktionen auszuführen, die jetzt als "Container" bezeichnet werden. Habitat ist ein kleiner Stub, der Ihren Prozess umgibt und Dinge wie Runtime-Config-Verteilung, Secrets-Transfer und Service-Discovery behandelt. Diese Features überschneiden sich eher mit übergeordneten Tools wie Kube, aber selbst dort überlappt es sich kaum. Du brauchst etwas, um tatsächlich zu starten hab-sup
, die docker run
(möglicherweise über Swarm), Nomad, Kube, oder sogar ein Nicht-Container-System wie Upstart oder Runit sein könnte, wenn Sie wollten. Der einzige Interaktionspunkt zwischen diesen ist, dass alle Tools einen Einstiegspunkt-Prozess starten und hab-sup
ein generischer Einstiegspunkt-Prozess ist, der jede App, die unter einigen coolen Funktionen läuft, anbietet, wenn sie sie benutzen wollen.
- 1. Was ist der Unterschied zwischen Chef App und Chef Repo
- 2. Was ist der Unterschied zwischen dem neuen Operator und Class.newInstance()?
- 3. Was ist der Unterschied zwischen Docker-Bundles und Docker-Compose?
- 4. Was ist der Unterschied zwischen docker und docker-komponieren
- 5. Der Unterschied zwischen Chef-Server und Chef-Repo?
- 6. Was ist der Unterschied zwischen Import und Laden in Docker?
- 7. Was ist der Unterschied zwischen Docker Host und Container
- 8. Was ist der Unterschied zwischen Cloud Foundry und Docker?
- 9. was ist der Unterschied zwischen 'neuen()' int und 'int * p'
- 10. Was ist der Unterschied zwischen dem WebConfigurationManager und dem ConfigurationManager?
- 11. Was ist der Unterschied zwischen dem Standard- und dem Standardkonstruktor?
- 12. Was ist der Unterschied zwischen dem Betriebssystem und dem Kernel?
- 13. Was ist der Unterschied zwischen `==` und `ist`?
- 14. Was ist der Unterschied zwischen mysqli :: real_connect und dem neuen mysqli-Objekt in der Verbindungsdatenbank?
- 15. Was ist der Unterschied zwischen einem Mixin und dem Dekorationsmuster?
- 16. Was ist der Unterschied zwischen `&` und `ref`?
- 17. Was ist der Unterschied zwischen dem [OptionalField] und [NonSerialized]
- 18. Unterschied zwischen Konvergenz und Idempotenz in Chef
- 19. Unterschied zwischen dem Erstellen eines neuen Objekts und der Abhängigkeitsinjektion
- 20. Was ist der Unterschied zwischen OnStart und dem App Constructor
- 21. Was ist der Unterschied zwischen docker-compose up und docker-compose start?
- 22. Was ist der Unterschied zwischen $ und $$?
- 23. Was ist der Unterschied zwischen/* ... */und/** ... */
- 24. Was ist der Unterschied zwischen Difftime und '-'?
- 25. Was ist der Unterschied zwischen BlobBuilder und dem neuen Blob-Konstruktor?
- 26. Was ist der Unterschied zwischen dem create index und dem alter add index von MySQL?
- 27. Unterschied zwischen Docker und OpenVZ
- 28. Was ist der Unterschied zwischen:.! und: r !?
- 29. Was ist der Unterschied zwischen Verilog! und ~?
- 30. was ist der Unterschied zwischen [[], []] und [[]] * 2
Edited die Frage, um genauer zu sein, werden die Menschen hoffentlich nicht wählen, um es jetzt zu schließen. Also würde ich kein DockerFile mit Habitat verwenden, obwohl beide Docker-Images ausgeben? – Justin
Das stimmt, Habitat baut seine HART-Artefakte auf und konvertiert diese in Docker-Images. Es ist ein Ports-System auf FreeBSD, Homebrew oder Portage anstatt auf einem Build-Skript-System. – coderanger
Ich werde dies als die richtige Antwort markieren, also danke für deine Zeit, Punkte zu klären. Wenn es Ihnen nichts ausmacht, habe ich eine andere Frage. Du sagst, dass ich Docker Swarm (oder docker run) verwenden kann, um Habitat (hab-sup) tatsächlich auszuführen? Also kann ich Docker Swarm zusammen mit Habitat benutzen? – Justin