Satamatyöläinen | |
---|---|
Tyyppi | ilmainen ja avoimen lähdekoodin ohjelmisto , virtualisointimekanismi [d] ja säilön kuvausmuoto [d] |
Tekijä | Solomon Hykes [d] |
Kehittäjä | telakka |
Sisään kirjoitettu | Mene [1] |
Käyttöjärjestelmä | Linux [2] , Microsoft Windows [3] , macOS [4] ja Unix-tyyppinen käyttöjärjestelmä |
Ensimmäinen painos | 13. maaliskuuta 2013 [5] |
Laitteistoalusta | x86_64 , ARM [6] ja IBM System/390 |
uusin versio |
|
Luettavat tiedostomuodot | Docker-tiedosto [d] |
Luodut tiedostomuodot | Docker-tiedosto [d] |
Lisenssi | Apache License 2.0 [8] [9] ja oma |
Verkkosivusto | docker.com _ |
Mediatiedostot Wikimedia Commonsissa |
Docker on ohjelmisto, joka automatisoi sovellusten käyttöönoton ja hallinnan konttiympäristöissä , sovelluskontitointiohjelma. Voit "pakkaa" sovelluksen kaikkine ympäristöineen ja riippuvuuksineen säilöön, joka voidaan ottaa käyttöön missä tahansa Linux -järjestelmässä, joka tukee ytimen c- ryhmiä ja tarjoaa myös joukon komentoja näiden säilöjen hallintaan. Aluksi hän käytti LXC :n ominaisuuksia , vuodesta 2015 lähtien hän alkoi käyttää omaa kirjastoaan, joka tiivistää Linux-ytimen virtualisointiominaisuudet - libcontainer . Open Container Initiativen myötä siirtyminen monoliittisesta arkkitehtuurista modulaariseen arkkitehtuuriin alkoi.
Sen on kehittänyt ja tukee samanniminen startup -yritys, ja sitä jaetaan kahtena versiona - julkinen ( Community Edition ) Apache 2.0 -lisenssillä ja organisaatioille ( Enterprise Edition ) omalla lisenssillä [10] . Kirjoitettu Go -kielellä .
Projekti alkoi Solomon Hykesin vuonna 2008 perustaman dotCloudin sisäisenä kehitystyönä tavoitteena rakentaa julkinen PaaS -alusta, joka tukee useita ohjelmointikieliä . DotCloud-insinöörit Andrea Luzzardi ja François-Xavier Bourlet olivat Hayksin ohella merkittävässä roolissa alkuperäisessä kehityksessä .
Maaliskuussa 2013 Docker-koodi julkaistiin Apache 2.0 [11] -lisenssillä . Kesäkuussa 2013 Ben Golub , joka johti aiemmin Glusteria (joka kehitti GlusterFS- hajautetun tallennusteknologian ja jonka Red Hat osti 136 miljoonalla dollarilla vuonna 2011) [12] , kutsuttiin dotCloudin toimitusjohtajaksi . Lokakuussa 2013 painopisteen siirtymistä uuteen avainteknologiaan korostaen dotCloud nimettiin uudelleen Dockeriksi (kun taas PaaS-alusta säilytettiin entisellä nimellä - dotCloud).
Lokakuussa 2013 julkaistiin replikoidun OpenStack IaaS -alustan Havana-julkaisu , joka toteuttaa Docker-tuen ( OpenStack Novan ajurina ). Marraskuusta 2013 lähtien osittainen tuki Dockerille on sisällytetty Red Hat Enterprise Linux -jakelusarjan versioon 6.5 [13] ja täysi tuki Fedora -jakelusarjan 20. versioon. Red Hatin kanssa sovittiin aiemmin Dockerin sisällyttämisestä replikoitu OpenShift PaaS -alusta vuodelta 2014 [14] . Joulukuussa 2013 julkistettiin tuki Docker-säilöjen käyttöönotolle Google Compute Engine [15] -ympäristössä .
Vuodesta 2014 lähtien on työskennelty Docker-tuen sisällyttämiseksi Hadoop -hajautetun sovelluskehyksen hallintaympäristöön . Hadoopin virtualisointialustalle toukokuussa 2014 suoritettujen testausvaihtoehtojen tulosten mukaan Docker osoitti merkittävästi parempaa suorituskykyä päätoiminnoissa (virtuaalisolmujen massaluominen, uudelleenkäynnistys ja tuhoaminen) kuin KVM , erityisesti virtuaalisten laskentasolmujen massaluominen, prosessoriresurssien kulutuksen kasvu Dockerissa on 26 kertaa pienempi kuin KVM:ssä ja RAM- resurssien kulutuksen kasvu on kolme kertaa pienempi [16] .
Vuodesta 2017 lähtien Apache 2.0 -lisenssin alaisen tuotteen vapaasti jaetun painoksen lisäksi on julkaistu organisaatioille tarkoitettu versio, jonka hinnat vaihtelevat 750–2 000 dollarin välillä solmua kohden vuodessa, riippuen käytettävissä olevista toiminnoista [10] .
Ohjelmisto toimii Linux-ympäristössä, jonka ydin tukee cgroups- ja nimitilan eristämistä ( nimiavaruudet ); koontiversioita on vain x86-64- ja ARM -alustoille [18] . Versiosta 1.6 (huhtikuu 2015) alkaen sitä on mahdollista käyttää Windows - perheen käyttöjärjestelmissä [19] .
Tallennustilan säästämiseksi projekti käyttää Aufs -tiedostojärjestelmää , joka tukee Cscading-merged mount -tekniikkaa : säilöissä käytetään peruskäyttöjärjestelmän kuvaa, ja muutokset kirjoitetaan erilliselle alueelle. Se tukee myös säiliöiden sijoittamista Btrfs -tiedostojärjestelmään, kun kopiointi-kirjoitus on käytössä .
Ohjelmisto sisältää säilöpalvelindaemonin (joka suorittaa docker -d - komento ), asiakastyökalut , joiden avulla voit hallita kuvia ja säilöjä komentoriviliittymästä , ja API :n, jonka avulla voit hallita säilöjä ohjelmallisesti REST - tyylillä .
Daemon tarjoaa täydellisen eristyksen solmussa käynnissä olevista säilöistä tiedostojärjestelmätasolla (jokaisella säilöllä on oma juuritiedostojärjestelmä ), prosessitasolla (prosesseilla on pääsy vain säilön omaan tiedostojärjestelmään ja resurssit erotetaan toisistaan libcontainer ), verkkotasolla (jokaisella säiliöllä on pääsy vain siihen liittyvään verkon nimiavaruuteen ja vastaaviin virtuaalisiin verkkoliitäntöihin).
Asiakastyökalupakin avulla voit käynnistää prosesseja uusissa säilöissä ( Docker Run ), pysäyttää ja käynnistää säilöjä ( Docker stop and Docker start ), keskeyttää ja jatkaa prosesseja konteissa ( Docker Pause ja Docker Unpause ). Komentosarjan avulla voit seurata käynnissä olevia prosesseja ( docker ps , samanlainen kuin ps Unix - järjestelmissä , docker top , samanlainen kuin top ja muut). Uusia kuvia voidaan luoda erityisestä skriptitiedostosta ( docker build , skriptitiedoston nimi on Dockerfile ), on mahdollista kirjoittaa kaikki säilöön tehdyt muutokset uuteen kuvaan ( docker commit ). Kaikki komennot voivat toimia sekä paikallisen järjestelmän Docker-daemonin että minkä tahansa verkossa saatavilla olevan Docker-palvelimen kanssa. Lisäksi komentorivikäyttöliittymässä on sisäänrakennetut ominaisuudet vuorovaikutukseen julkisen Docker Hub -arkiston kanssa, joka isännöi esimerkiksi valmiita sovelluskuvia, esimerkiksi Docker- hakukomento antaa sinun etsiä kuvia siinä isännöidyistä kuvista [20] , kuvia voi ladata paikalliseen järjestelmään ( docker pull ), on myös mahdollista työntää paikallisesti rakennettuja kuvia Docker Hubiin ( docker push ).
Dockerissa on myös Docker Compose -paketinhallinta, jonka avulla voit kuvata ja suorittaa monisäilösovelluksia. sen asetustiedostot on kuvattu YAML :ssa .
![]() | |
---|---|
Valokuva, video ja ääni | |
Temaattiset sivustot |
Emulointi - ja virtualisointiohjelmistot ( vertailu ) _ | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Sovelluskerros |
| ||||||||||||||
OS- taso (säilöt) |
| ||||||||||||||
Laitteistotaso _ |
| ||||||||||||||
Verkon virtualisointi |
|