close

Docker (programvare)

Gå til navigasjon Gå til søk
Docker
Docker (beholdermotor) logo.png
Generell informasjon
programtype gratis og åpen kildekode-programvare
Forfatter Solomon Hykes
utvikler Docker, Inc.
Første utgivelse 13. mars 2013
Tillatelse Apache-lisens 2.0
Teknisk informasjon
Planlagt inn
Støttede plattformer x86-64 , ARM , MIPS , ppc64le og s390x
Versjoner
Siste stabile versjon 20.10.19 ( info ) (14. oktober 2022 (4 dager))
lesbare filer
docker-fil
redigerbare filer
docker-fil
Lenker

Docker er et åpen kildekode-prosjekt som automatiserer distribusjonen av applikasjoner i programvarebeholdere , og gir et ekstra lag med abstraksjon og automatisering av applikasjonsvirtualisering på tvers av flere operativsystemer. [ 1 ] Docker bruker Linux-kjerneressursisoleringsfunksjoner som cgroups og navnerom for å tillate uavhengige "containere" å kjøre innenfor en enkelt Linux-forekomst, og unngå overhead med å starte og vedlikeholde maskiner .virtuell . [ 2 ]

Linux-kjernens støtte for navneområder isolerer en applikasjons syn på dets driftsmiljø, [ 3 ] inkludert prosesstrær, nettverk, bruker-IDer og monterte filsystemer, mens kjerne-cgroups gir isolasjon av ressurser, inkludert CPU, minne, blokk-I/O , og nettverk. Fra versjon 0.9 inkluderer Docker libcontainer- biblioteket som sin egen måte å direkte bruke virtualiseringsfasilitetene som tilbys av Linux-kjernen, i tillegg til å bruke de abstraherte virtualiseringsgrensesnittene via libvirt , LXC (Linux Containers) og systemd-nspawn . [ 4 ]​ [ 5 ]​ [ 6 ]

I følge bransjeanalytikerfirmaet 451 Research er "Docker et verktøy som kan pakke en applikasjon og dens avhengigheter inn i en virtuell beholder som kan kjøres på hvilken som helst Linux-server. Dette bidrar til å muliggjøre fleksibilitet og portabilitet der applikasjonen kan kjøres enten lokalt, offentlig sky , privat sky, etc." [ 7 ]

Sammendrag

Image
Docker kan bruke forskjellige grensesnitt for å få tilgang til virtualiseringsmulighetene til Linux-kjernen. [ 6 ]

Docker implementerer et høyt nivå API for å tilby lette containere som kjører prosesser isolert. [ 8 ]

Bygget på fasilitetene som tilbys av Linux-kjernen (hovedsakelig cgroups og navneområder), krever en Docker-beholder, i motsetning til en virtuell maskin, ikke et separat operativsystem som skal inkluderes. [ 7 ] I stedet bygger den på kjernefunksjoner og bruker ressursisolasjon (CPU, minne, blokk I/O, nettverk, etc.) og separate navneområder for å isolere en applikasjons syn på systemets operative. Docker får tilgang til Linux-kjernevirtualisering enten direkte gjennom libcontainer-biblioteket (tilgjengelig siden Docker 0.9), eller indirekte gjennom libvirt , LXC eller systemd-nspawn . [ 6 ]​ [ 9 ]

Ved å bruke containere kan ressurser isoleres, tjenester begrenses, og prosesser gis muligheten til å ha et nesten helt privat syn på operativsystemet med sin egen prosessplassidentifikator, filsystemstruktur og nettverksgrensesnitt. Flere beholdere deler samme kjerne, men hver beholder kan begrenses til å bruke bare en definert mengde ressurser som CPU, minne og I/O.

Å bruke Docker til å lage og administrere containere kan forenkle opprettelsen av svært distribuerte systemer , slik at flere applikasjoner, arbeidsoppgaver og andre prosesser kan kjøres autonomt på en enkelt fysisk maskin eller flere virtuelle maskiner. Dette gjør at nodedistribusjon kan skje etter hvert som ressurser blir tilgjengelige eller flere noder er nødvendig, noe som muliggjør PaaS- stil distribusjon og skalering av systemer som Apache Cassandra , MongoDB eller Riak . Docker forenkler også opprettelsen og driften av arbeidsbelastningsoppgaver eller køer og andre distribuerte systemer. [ 10 ]​ [ 11 ]

Integrasjon

Docker kan integreres med forskjellige infrastrukturverktøy, som Amazon Web Services , [ 12 ] ​Ansible , [ 13 ] ​Cfengine , [ 14 ] ​Chef , [ 15 ] ​Google Cloud Platform , [ 16 ] ​DigitalOcean , [ 17 ] IBM Bluemix , [ 18 ] Jelastic , [ 19 ] Jenkins , [ 20 ] Microsoft Azure , [ 21 ] OpenStack Nova, [ 22 ] OpenSVC , [ 23 ] Puppet , [ 24 ] Salt , [ 25 ] og Vagrant . [ 26 ]

Cloud Foundry Diego-prosjektet integrerer Docker med Cloud Foundry PaaS. [ 27 ]

GearD-prosjektet har som mål å integrere Docker i Red Hats OpenShift Origin PaaS. [ 28 ]

Som svar på tilgjengeligheten av disse integrasjonene utviklet overvåkingsplattformen, Datadog , en rapport om frekvensen av adopsjon av Docker-tjenester av 7000 selskaper med skybasert infrastruktur. [ 29 ]​ [ 30 ]

Historie

Solomon Hykes startet Docker som et internt prosjekt innen dotCloud, [ 31 ] et plattform-som-en-tjeneste (PaaS)-fokusert selskap, [ 32 ] med innledende bidrag fra andre dotCloud-ingeniører, inkludert Andrea Luzzardi og Francois-Xavier Bourlet. Jeff Lindsay deltok også som frilansbidragsyter. Docker representerer en utvikling av dotClouds proprietære teknologi, som i seg selv er bygget på tidligere åpen kildekode-prosjekter som Cloudlets.

Docker ble utgitt som åpen kildekode i mars 2013. [ 8 ] Den 13. mars 2014, med utgivelsen av versjon 0.9, avviklet Docker LXC som standard kjøretid og erstattet den med sitt eget bibliotek, libcontainer, skrevet i Go . [ 4 ] [ 9 ] Per 13. april 2015 hadde prosjektet over 20 700 GitHub-stjerner ( som gjør det til et av GitHubs mest stjerneprosjekter, rangert på 20. plass ) , over 4700 gafler og nesten 900 samarbeidspartnere. [ 33 ]

En analyse i 2018 viste følgende organisasjoner som de beste bidragsyterne til Docker: Red Hat (de største bidragsyterne, enda flere enn Docker-teamet selv), Docker-teamet, Microsoft , IBM , Google , Cisco Systems og Amadeus IT Group . [ 34 ]

29. juli 2020 ble eksistensen av Doki kunngjort, en skadelig programvare som kjører på Linux-operativsystemet som tar sikte på å infisere API-en til feilkonfigurerte Docker-beholdere. Noen av handlingene er følgende: [ 35 ]

  • Lag unike nettadresser med kort levetid for å laste ned nyttelast under angrepet.
  • Den er laget for å utføre kommandoer mottatt fra operatørene.
  • Bruk TLS-biblioteket for kryptografiske funksjoner.

Samarbeid

  • Den 23. juli 2013 kunngjorde dotCloud Inc., forretningsenheten bak Docker, at tidligere Gluster- og Plaxo -sjef Ben Golub hadde sluttet seg til selskapet, og siterte Docker som selskapets hovedfokus fremover. [ 36 ]
  • 22. januar 2014 kunngjorde Docker at de hadde fullført en venturekapitalrunde på USD 15 000 000 i serie B , ledet av Greylock Partners . [ 38 ]
  • Den 23. juli 2014 kjøpte Docker Orchard, produsenter av Fig. [ 39 ]
  • 16. september 2014 kunngjorde Docker at de hadde fullført en serie C-runde på $40 millioner, ledet av Sequoia Capital . [ 40 ]
  • 4. desember 2014 kunngjorde IBM en strategisk allianse med Docker som gjør det mulig for bedrifter å mer effektivt, raskt og kostnadseffektivt bygge og kjøre neste generasjons applikasjoner i IBM Cloud ("IBM Cloud"). [ 43 ]
  • 7. juni 2016 kunngjorde HPE ( Hewlett Packard Enterprise ) en global forretningsallianse med Docker som inkluderer felles go-to-market, løsningssalg, engineering, support, tjenester og kunnskapsdeling for å hjelpe kundene med å transformere og modernisere datasentrene sine, samt dra nytte av et mer smidig utviklingsmiljø. I hjertet av denne alliansen er HPE Docker Ready Server-programmet, unikt i serverindustrien, som sikrer at HPE-servere er Docker-koblede og kommersielt støttet. [ 44 ]

Se også

Referanser

  1. O'Gara, Maureen (26. juli 2013). "Ben Golub, som solgte Gluster til Red Hat, kjører nå dotCloud" . SYS-CON Gjennomsnittlig. Arkivert fra originalen 13. september 2019 . Hentet 9. august 2013 . 
  2. ^ "Docker Documentation: Kernel Requirements" . docker.readthedocs.org . 4. januar 2014. Arkivert fra originalen 21. august 2014 . Hentet 20. august 2014 . 
  3. Dan Walsh. "Enda en grunn til at containere ikke inneholder: kjernenøkkelringer" . projectatomic.io . Hentet 13. april 2015 . 
  4. ^ a b Steven J. Vaughan-Nichols (11. juni 2014). "Docker libcontainer forener Linux-beholderkrefter" . ZDNet . Hentet 30. juli 2014 . 
  5. "libcontainer - referanseimplementering for containere" . github.com . Hentet 30. juli 2014 . 
  6. a b c "Docker 0.9: Introduserer utførelsesdrivere og libcontainer" . docker.com . 10. mars 2014 . Hentet 20. januar 2015 . 
  7. ^ a b Noyes, Katherine (1. august 2013). "Docker: En 'fraktbeholder' for Linux-kode" . linux.com . Arkivert fra originalen 8. august 2013 . Hentet 9. august 2013 . 
  8. a b Avram, Abel (27. mars 2013). "Docker: Automatiserte og konsistente programvaredistribusjoner" . InfoQ . Hentet 9. august 2013 . 
  9. ^ a b Swan, Chris (13. mars 2014). "Docker dropper LXC som standard utførelsesmiljø" . InfoQ . Hentet 20. januar 2015 . 
  10. Hall, Adron (31. juli 2013). «OSCON: Samtaler, utplasseringer, arkitektur, Docker og fremtiden?» . CloudAve . Hentet 9. august 2013 . 
  11. Reeder, Travis (22. april 2014). "Hvordan Docker hjalp oss med å oppnå det (nær) umulige" . Iron.io. Arkivert fra originalen 8. august 2014 . Hentet 2014-07-25 . 
  12. ^ "Amazon EC2 - Docker Documentation" . docs.docker.com . Arkivert fra originalen 18. oktober 2014 . Hentet 18. oktober 2014 . 
  13. /. "ansible/library/cloud/docker" . GitHub . Arkivert fra originalen 27. desember 2013 . Hentet 20. januar 2014 . 
  14. "CFEngine" . CFEngine. Arkivert fra originalen 13. juni 2014 . Hentet 6. juni 2014 . 
  15. ^ "thoward/docker-kokebok" . GitHub . Hentet 20. januar 2014 . 
  16. ^ "Beholdere på Google Cloud Platform" . Google Inc. 
  17. "Docker Tutorials | DigitalOcean» . www.digitalocean.com . Hentet 12. juli 2016 . 
  18. "Bluemix lanserer IBM Containers Beta basert på Docker" . IBM. 4. desember 2014. Arkivert fra originalen 28. april 2015 . Hentet 20. april 2015 . 
  19. "Jelastic kunngjør Docker-integrasjon for å gi den mest avanserte orkestrerte applikasjonsleveransen" . PRWeb . Hentet 3. desember 2014 . 
  20. "georgebashi/jenkins-docker-plugin" . GitHub . Hentet 20. januar 2014 . 
  21. "Her er hvordan Microsoft støtter åpen kildekode Docker-beholdermodellen" . ZDNet . 10. juni 2014 . Hentet 16. oktober 2014 . 
  22. Stefano Maffulli 7. juni 2013 (7. juni 2013). "OpenStack Community Weekly Newsletter (31. mai – 7. juni) "The OpenStack Blog" . openstack.org. Arkivert fra originalen 29. desember 2013 . Hentet 20. januar 2014 . 
  23. "OpenSVC Docker" . OpenSVC. Arkivert fra originalen 31. mai 2014 . Hentet 29. mai 2014 . 
  24. Gareth Rushgrove. "garethr/docker" . Puppet Forge . Hentet 20. januar 2014 . 
  25. "saltstabel/dokkeri" . Arkivert fra originalen 3. februar 2014 . Hentet 20. januar 2014 . 
  26. ^ "philspitler/vagrant-docker" . GitHub. Arkivert fra originalen 9. august 2013 . Hentet 20. januar 2014 . 
  27. ^ Whelan, Phil (3. september 2014). "Cloud Foundry: Diego Explained By Onsi Fakhouri" (html) . ActiveState . _ Arkivert fra originalen 19. april 2015 . Hentet 5. november 2018 . "Funksjonalitet blir lagt til for å gjøre det mulig for sluttbrukere å skyve Docker-bilder direkte inn i en Cloud Foundry-klynge som kjører Diego. »  
  28. Jackson, Joab (16. april 2014). "Red Hat for å oppdatere Docker-beholderteknologi for bedrifter: Åpen kildekode-leverandør planlegger å inkorporere avanserte Linux-verktøy som systemd og SELinux i Docker" . Computerworld (Computerworld, Inc.) . Hentet 29. mai 2014 . "Red Hat har også startet et andre fellesskapsprosjekt, kalt GearD, for å integrere Docker i sin PaaS (plattform-som-en-tjeneste) hosting-programvare, OpenShift Origin. »  
  29. Sikkerhet i docker-containere https://blog.elevenpaths.com/2018/06/docker-secure-containers-cib Arkivert 31. august 2018 på Wayback Machine .
  30. ^ "8 overraskende fakta om ekte Docker-adopsjon - Datadog" . Datadog (på amerikansk engelsk) . Hentet 1. februar 2016 . 
  31. Krazit, Tom (28. mars 2018). "Docker-gründer Solomon Hykes forlater selskapet, nevner behovet for bedriftsfokusert CTO" (html) . Geekwire . _ Arkivert fra originalen 18. februar 2019 . Hentet 12. mars 2019 . "Hykes, som tilbrakte 10 år i Docker (opprinnelig kjent som dotCloud), er på et veldig interessant sted som en 34 år gammel storaksjonær i selskapet, som på en eller annen måte burde gi ham en betydelig mengde kapital å investere i sin neste gründersatsing. »  
  32. ^ "Ett hjem for alle appene dine" . dotCloud. Arkivert fra originalen 17. mai 2014 . Hentet 8. mai 2014 . 
  33. "dotcloud/docker" . GitHub . Hentet 13. april 2015 . 
  34. "Se hvem som hjelper til med å bygge Docker - foruten Docker selv" . InfoWorld. 27. mai 2015. 
  35. "Doki New Linux Malware retter seg mot feilkonfigurerte Docker Container APIer." . 
  36. Darrow, Barb (23. juli 2013). "PaaS-pioneren dotCloud får ny administrerende direktør i industriveterinær Ben Golub" . GigaOM . Hentet 9. august 2013 . 
  37. "DotCloud svinger og vinner stort med Docker, skytjenesten nå en del av Red Hat OpenShift" . TechCrunch . 19. september 2013 . Hentet 20. januar 2014 . 
  38. Jordan Novet (21. januar 2014). "Dockers innsats med åpen kildekode lønner seg med en runde på $15 millioner" . VentureBeat . Hentet 2014-01-22 . 
  39. ^ Ben Kepes (23. juli 2014). "Docker gjør sitt trekk, anskaffer frukthage som et tegn på ting som skal komme" . Forbes . Hentet 23. juli 2014 . 
  40. Jack Clark og Peter Burrows (16. september 2014). "Docker sies å være verdsatt til $400 millioner i finansieringsrunde" . Bloomberg . Hentet 16. september 2014 . 
  41. Mary Jo Foley (15. oktober 2014). "Docker-beholderstøtte kommer til Microsofts neste Windows Server-utgivelse" . ZDNet . Hentet 16. oktober 2014 . 
  42. Scott Guthrie (15. oktober 2014). "Docker og Microsoft: Integrering av Docker med Windows Server og Microsoft Azure" . Microsoft . Hentet 12. januar 2015 . 
  43. ^ "IBM og Docker kunngjør strategisk partnerskap for å levere bedriftsapplikasjoner i skyen og på forhånd" . IBM . 4. desember 2014 . Hentet 20. april 2015 . 
  44. "Hewlett Packard Enterprise og Docker-partner for å drive distribuerte applikasjoner på tvers av hybrid infrastruktur" . HPE . 7. juni 2016. Arkivert fra originalen 12. august 2016 . Hentet 11. august 2016 . 

Eksterne lenker