Kasutaja:Kraanivesi/Docker: erinevus redaktsioonide vahel
lisasin viite |
Resümee puudub |
||
10. rida: | 10. rida: | ||
== Komponendid == |
== Komponendid == |
||
Docker kasutab klient-server arhitektuuri. Dockeri klient suhtleb Dockeri |
Docker kasutab klient-server arhitektuuri. Dockeri klient suhtleb Dockeri deemoniga (ingl ''daemon''), mis ehitab, jooksutab ning jagab Dockeri konteinereid. Dockeri klient ja deemon suhtlevad üle REST API, UNIX socketite või võrguliideste. Klient-server rakenduse nimeks on Docker Engine.<ref>{{Netiviide|Autor=Docker.com|URL=https://docs.docker.com/engine/docker-overview|Pealkiri=Docker overview|Väljaanne=|Aeg=|Kasutatud=}}</ref> |
||
Dockeri register hoiustab Dockeri pilte, mis sisaldab juhist konteineri loomiseks. Sageli põhineb pilt mõnel teisel pildil, kuid sisaldab lisaks täiendavat funktsionaalsust. Näiteks võib luua pildi, mis põhineb [[Ubuntu]] distributsioonil ning koosneb veel täiendavalt Apache veebiserverist ja konfiguratsiooniseadetest. Pildi ehitamiseks tuleb luua Dockerfile, mis kirjeldab vajalikke samme.<ref name=":0">{{Netiviide|Autor=|URL=https://docs.docker.com/v17.09/engine/userguide/storagedriver/imagesandcontainers/|Pealkiri=Docker: About images, containers, and storage drivers|Väljaanne=|Aeg=|Kasutatud=}}</ref> |
Dockeri register hoiustab Dockeri pilte, mis sisaldab juhist konteineri loomiseks. Sageli põhineb pilt mõnel teisel pildil, kuid sisaldab lisaks täiendavat funktsionaalsust. Näiteks võib luua pildi, mis põhineb [[Ubuntu]] distributsioonil ning koosneb veel täiendavalt Apache veebiserverist ja konfiguratsiooniseadetest. Pildi ehitamiseks tuleb luua Dockerfile, mis kirjeldab vajalikke samme.<ref name=":0">{{Netiviide|Autor=|URL=https://docs.docker.com/v17.09/engine/userguide/storagedriver/imagesandcontainers/|Pealkiri=Docker: About images, containers, and storage drivers|Väljaanne=|Aeg=|Kasutatud=}}</ref> |
Redaktsioon: 2. detsember 2018, kell 22:51
Docker | |
---|---|
Autor | Solomon Hykes |
Veebisait |
docker |
Docker on arvutiprogramm, mis teostab operatsioonisüsteemi tasemel virtualiseerimist, teisiti tuntud kui “konteineriseerimine”.[1] See avaldati 2013. aastal ning seda arendab Docker, Inc. Dockerit kasutatakse tarkvarapakettide (konteinerite) jooksutamiseks. Konteinerid on isoleeritud teineteisest ning sisaldavad enda tööriistu, teeke ja konfiguratsioonifaile; konteinerid saavad suhelda teineteistega kindlaksmääratud kanalite kaudu. Kõiki konteinereid juhib üks operatsioonisüsteemi kernel ning on seetõttu on need kergekaalulisemad virtuaalmasinatest.
Ajalugu
Solomon Hykes algatas Dockeri Prantsusmaal siseprojektina ettevõttes dotCloud koos teiste arendajate Andrea Luzzardi ja Francois-Xavier Bourlet’ga. Tarkvara sai avalikuks Santa Claras toimunud PyConil 2013. aastal.[2]
Docker avaldati avatud lähtekoodina märtsis 2013. aastal.
Komponendid
Docker kasutab klient-server arhitektuuri. Dockeri klient suhtleb Dockeri deemoniga (ingl daemon), mis ehitab, jooksutab ning jagab Dockeri konteinereid. Dockeri klient ja deemon suhtlevad üle REST API, UNIX socketite või võrguliideste. Klient-server rakenduse nimeks on Docker Engine.[3]
Dockeri register hoiustab Dockeri pilte, mis sisaldab juhist konteineri loomiseks. Sageli põhineb pilt mõnel teisel pildil, kuid sisaldab lisaks täiendavat funktsionaalsust. Näiteks võib luua pildi, mis põhineb Ubuntu distributsioonil ning koosneb veel täiendavalt Apache veebiserverist ja konfiguratsiooniseadetest. Pildi ehitamiseks tuleb luua Dockerfile, mis kirjeldab vajalikke samme.[4]
Dockeri konteiner on jooksutatav versioon pildist. Seda saab luua, peatada, alustada, kustutada või muuta kasutades Docker API-d või CLI-d.[4]
Tehnoloogia
Docker võimaldab jooksutada rakendusi isoleeritud keskkonnas, mida nimetatakse konteineriks. Konteinerid on kergekaalulised, sest need ei vaja hüpervisorit, vaid jooksevad arvuti kernelil.
Docker on kirjutatud keeles Go ning kasutab mitut Linuxi kerneli funktsiooni.[5]
Üheks selliseks funktsiooniks on nimeruumid, mis võimaldavad isoleerida konteineri erinevaid kihte. Docker Engine kasutab järgnevaid nimeruume Linuxil:[6]
- pid: protsesside isoleerimine;
- net: võrguliideste haldamine;
- ipc: IPC ressursside haldamine (IPC: InterProcess Communication);
- mnt: failisüsteemi mount-punktide ehk liitepunktide haldamine;
- uts: kerneli ja versiooniidentifikaatorite isoleerimine.
Teine Linuxi funktsionaalsus on kontrollgrupid (ingl cgroups). Kontrollgrupp piirab rakendusele kindla hulga ressursse. Kontrollgrupid võimaldavad Docker Engine’il jagada vabu riistvara ressursse konteineritele ning vajadusel seada piire.[7]
Docker Engine kasutab UnionFS failisüsteemi, mille tööpõhimõtteks on erinevate kihtide lisamine teineteise peale. Docker Engine kasutab erinevaid UnionFS-i variante, nende seas AUFS, btrfs, vfs ja DeviceMapper.[8]
Docker Engine kombineerib nimeruumid, kontrollgrupid ja UnionFS-i kokku konteineriformaati.[9]
Vaata ka
Viited
- ↑ "Docker: A Favourite in the DevOps World".
- ↑ "Ettevõtte ülevaade".
- ↑ Docker.com. "Docker overview".
- ↑ 4,0 4,1 "Docker: About images, containers, and storage drivers".
- ↑ "Docker and Go: why did we decide to write Docker in Go?".
- ↑ "Docker: Introduction to User Namespaces in Docker Engine".
- ↑ "Understanding the Docker Internals".
- ↑ "Drooling Over Docker #2 — Understanding Union File Systems".
{{netiviide}}
: nähtamatu tähemärk (juustühik) parameetris|Pealkiri=
positsioonil 24 (juhend) - ↑ "Docker overview - Container format".