Il nuovo strumento Habitat di Chef funziona in qualche modo con Docker? In tal caso, quale problema sta tentando di risolvere Habitat o si sta solo tentando di sostituire gli strumenti nel set di strumenti Docker (ad esempio, Docker Swarm, Docker Machine, Docker Compose, ecc.)?Qual è la differenza tra il nuovo strumento Habitat di Docker e Chef?
risposta
Questo è costeggiando i limiti della politica di StackOverflow su domande aperte, ma io ti risponderò in ogni caso:
Docker e degli habitat in realtà non si sovrappongono molto. Il punto principale della competizione è la creazione di artefatti di rilascio. Docker ha Dockerfiles e docker build
, Habitat ha piani e lo Studio. L'output di entrambi può essere comunque un'immagine di Docker, che è fondamentalmente un tarball di un filesystem insieme ad alcuni metadati. L'obiettivo di Habitat è quello di creare artefatti super minimi, ad esempio non includere una distro Linux di alcun tipo, nessun gestore di pacchetti, solo codice eseguibile compilato staticamente e qualsiasi altro file di supporto necessario per quella specifica app.
Come per il runtime, sono ortogonali al 100%. Docker è un modo per eseguire un processo all'interno di un gruppo di funzionalità di sicurezza Linux che ora viene chiamato collettivamente "contenitore". Habitat è un piccolo stub che circonda il tuo processo e gestisce cose come la distribuzione della configurazione di runtime, il trasferimento dei segreti e l'individuazione dei servizi. Queste funzionalità sono più sovrapposte a strumenti di livello superiore come Kube, ma anche in questo caso si sovrappongono a malapena. Hai bisogno di qualcosa per avviare effettivamente hab-sup
, che potrebbe essere docker run
(possibilmente tramite Swarm), Nomad, Kube, o anche un sistema non contenitore come Upstart o Runit se lo si desidera. L'unico punto di interazione tra questi è che tutti gli strumenti avviano un processo di un punto di accesso e hab-sup
è un processo generico di un punto di accesso che fornisce a qualsiasi app in cui viene eseguito alcune funzioni interessanti se vogliono utilizzarli.
- 1. Qual è la differenza tra bundle Docker e docker-compose?
- 2. Qual è la differenza tra docker e docker-compose
- 3. Differenza tra chef server e chef repo?
- 4. Qual è la differenza tra nuovo/cancella e: nuovo/:: cancella?
- 5. Qual è la differenza tra il nuovo operatore e Class.newInstance()?
- 6. Qual è la differenza tra Docker e Rocket di CoreOS?
- 7. Qual è la differenza tra Docker Host e Container
- 8. Qual è la differenza tra l'app dello chef e lo chef repo
- 9. qual è la differenza tra creare e nuovo?
- 10. differenza tra docker attach e docker exec
- 11. Qual è la differenza tra Docker per Windows e Docker su Windows?
- 12. Differenza tra convergenza e idempotenza in Chef
- 13. Qual è la differenza tra docker-compose up e docker-compose start?
- 14. Qual è la differenza tra Verilog! e ~?
- 15. Qual è la differenza tra ("") e (null)
- 16. qual è la differenza tra [[], []] e [[]] * 2
- 17. Qual è la differenza tra `##` e `hashCode`?
- 18. Qual è la differenza tra l'armatura e rebar3? o erlang.mk
- 19. Qual è la differenza tra? : e ||
- 20. qual è la differenza tra:.! e: r !?
- 21. Qual è la differenza tra $ e $$?
- 22. Qual è la differenza tra {0} e +?
- 23. Qual è la differenza tra = e: =
- 24. Qual è la differenza tra dict() e {}?
- 25. Qual è la differenza tra " " e ""?
- 26. Qual è la differenza tra {0} e ""?
- 27. Qual è la differenza tra .ToString() e + ""
- 28. Qual è la differenza tra il callback e la promessa
- 29. Qual è la differenza tra mysqli :: real_connect e il nuovo oggetto mysqli nel database di connessione?
- 30. Qual è la differenza tra il collegamento di nuovo libeay32MD.lib e libeay32MT.lib?
Ha modificato la domanda in modo più specifico, si spera che la gente non voterà per chiuderla ora. Quindi non userei un DockerFile con Habitat anche se entrambe le immagini Docker di output? – Justin
Ciò è corretto, Habitat crea i suoi artefatti HART e li converte in immagini Docker. È un sistema di porte a FreeBSD, Homebrew o Portage piuttosto che un sistema di script di build. – coderanger
Segnalo come risposta corretta, quindi grazie per il tempo dedicato ai punti chiarificatori. Se non ti dispiace, tuttavia, ho un'altra domanda. Dici che posso usare Docker Swarm (o la funzione docker) per eseguire effettivamente Habitat (hab-sup)? Quindi sono in grado di usare Docker Swarm insieme a Habitat? – Justin