Docker | |
---|---|
Type | gratis og open source software , virtualiseringsmekanisme [d] og containerbeskrivelsesformat [d] |
Forfatter | Solomon Hykes [d] |
Udvikler | havnearbejder |
Skrevet i | Gå [1] |
Operativ system | Linux [2] , Microsoft Windows [3] , macOS [4] og Unix-lignende operativsystemer |
Første udgave | 13. marts 2013 [5] |
Hardware platform | x86_64 , ARM [6] og IBM System/390 |
nyeste version |
|
Læsbare filformater | Dockerfile [d] |
Genererede filformater | Dockerfile [d] |
Licens | Apache License 2.0 [8] [9] og proprietær |
Internet side | docker.com _ |
Mediefiler på Wikimedia Commons |
Docker er en software til automatisering af implementering og administration af applikationer i containeriserede miljøer , en applikationscontainer. Giver dig mulighed for at "pakke" en applikation med alle dens miljøer og afhængigheder i en container, der kan implementeres på ethvert Linux - system med understøttelse af cgroups kernen , og giver også et sæt kommandoer til at administrere disse containere. Til at begynde med brugte han LXC 's muligheder , siden 2015 begyndte han at bruge sit eget bibliotek, som abstraherer virtualiseringsmulighederne i Linux-kernen - libcontainer . Med fremkomsten af Open Container Initiative begyndte overgangen fra monolitisk til modulær arkitektur.
Den er udviklet og understøttet af startup- virksomheden af samme navn , distribueret i to udgaver - offentlige ( Community Edition ) under Apache 2.0-licensen og for organisationer ( Enterprise Edition ) under en proprietær licens [10] . Skrevet på Go -sproget .
Projektet startede som en intern proprietær udvikling af dotCloud, grundlagt af Solomon Hykes i 2008 med det mål at bygge en offentlig PaaS -platform med understøttelse af forskellige programmeringssprog . Sammen med Hayks spillede dotCloud-ingeniørerne Andrea Luzzardi og François-Xavier Bourlet en væsentlig rolle i den indledende udvikling .
I marts 2013 blev Docker-koden udgivet under Apache 2.0 [11] -licensen . I juni 2013 blev Ben Golub , som tidligere stod i spidsen for Gluster (som udviklede GlusterFS distribueret lagringsteknologi og blev erhvervet for 136 millioner dollars af Red Hat i 2011) [12] , inviteret som administrerende direktør for dotCloud . I oktober 2013, for at understrege skiftet i fokus til en ny nøgleteknologi, blev dotCloud omdøbt til Docker (mens PaaS-platformen blev bibeholdt under det tidligere navn - dotCloud).
I oktober 2013 blev Havana-udgivelsen af den replikerede OpenStack IaaS -platform frigivet , som implementerer Docker-support (som driver til OpenStack Nova). Siden november 2013 har delvis understøttelse af Docker været inkluderet i Red Hat Enterprise Linux distributionskit version 6.5 [13] og fuld support i den 20. version af Fedora distributionssættet , en aftale blev tidligere indgået med Red Hat om at inkludere Docker i replikeret OpenShift PaaS -platform fra 2014 [14] . I december 2013 blev support til implementering af Docker-containere i Google Compute Engine [15] miljøet annonceret .
Siden 2014 har der været arbejdet i gang med at inkludere Docker-support i Hadoops distribuerede applikationsrammestyringsmiljø ; ifølge resultaterne af testmuligheder for virtualiseringsplatformen for Hadoop, udført i maj 2014, viste Docker væsentligt højere ydeevne på hovedoperationerne (ved masseoprettelse, genstart og ødelæggelse af virtuelle noder) end KVM , især på testen af masseoprettelse af virtuelle computerknuder, en stigning i forbruget af processorressourcer i Docker er registreret 26 gange lavere end i KVM, og stigningen i forbruget af RAM- ressourcer er tre gange lavere [16] .
Siden 2017 er der udover den frit distribuerede udgave af produktet under Apache 2.0-licensen blevet frigivet en udgave til organisationer, der sælges til priser fra $750 til $2.000 pr. node om året, afhængigt af de tilgængelige funktioner [10] .
Softwaren kører i et Linux-miljø med en kerne, der understøtter cgroups og navnerumsisolering ( navnerum ); der er kun builds til x86-64 og ARM platforme [18] . Fra version 1.6 (april 2015) er det muligt at bruge det i operativsystemer i Windows -familien [19] .
For at spare lagerplads bruger projektet Aufs -filsystemet med understøttelse af cascading-merged mount- teknologi : containere bruger billedet af basisoperativsystemet, og ændringer skrives til et separat område. Det understøtter også placering af containere på Btrfs -filsystemet med kopier-på-skriv aktiveret .
Softwaren inkluderer en containerserver - dæmon (drevet af docker-d-kommandoen ), klientværktøjer , der giver dig mulighed for at administrere billeder og containere fra kommandolinjegrænsefladen , og en API , der giver dig mulighed for programmæssigt at administrere containere i REST -stil .
Dæmonen giver fuldstændig isolering af containere, der kører på noden på filsystemniveau (hver container har sit eget rodfilsystem ), på procesniveau (processer har kun adgang til containerens eget filsystem, og ressourcer adskilles vha. libcontainer ), på netværksniveau (hver container har kun adgang til det netværksnavneområde, der er knyttet til det, og de tilsvarende virtuelle netværksgrænseflader).
Klientværktøjssættet giver dig mulighed for at starte processer i nye containere ( docker run ), stoppe og starte containere ( docker stop og docker start ), pause og genoptage processer i containere ( docker pause og docker unpause ). En række kommandoer giver dig mulighed for at overvåge kørende processer ( docker ps , ligner ps på Unix-systemer , docker top , ligner top , og andre). Nye billeder kan oprettes fra en speciel scriptfil ( docker build , script filen hedder Dockerfile ), det er muligt at skrive alle ændringer foretaget i containeren til et nyt billede ( docker commit ). Alle kommandoer kan fungere både med docker-dæmonen i det lokale system og med enhver Docker-server, der er tilgængelig på netværket. Derudover har kommandolinjegrænsefladen indbyggede muligheder for at interagere med det offentlige Docker Hub - lager , som er vært for forudbyggede applikationsbilleder, for eksempel giver docker-søgekommandoen dig mulighed for at søge efter billeder blandt dem, der er hostet i den [20] , billeder kan downloades til det lokale system ( docker pull ), det er også muligt at pushe lokalt byggede billeder til Docker Hub ( docker push ).
Docker har også en Docker Compose-pakkehåndtering, der giver dig mulighed for at beskrive og køre multi-container-applikationer; konfigurationsfiler for det er beskrevet i YAML .
I sociale netværk | |
---|---|
Foto, video og lyd | |
Tematiske steder |
Emulerings- og virtualiseringssoftware ( sammenligning ) _ _ | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Anvendelseslag |
| ||||||||||||||
OS -niveau (containere) |
| ||||||||||||||
Hardware niveau |
| ||||||||||||||
Netværksvirtualisering |
|