Dokkmunkás | |
---|---|
Típusú | ingyenes és nyílt forráskódú szoftverek , virtualizációs mechanizmus [d] és konténerleírás formátum [d] |
Szerző | Solomon Hykes [d] |
Fejlesztő | dokkoló |
Beírva | Menj [1] |
Operációs rendszer | Linux [2] , Microsoft Windows [3] , macOS [4] és Unix-szerű operációs rendszer |
Első kiadás | 2013. március 13. [5] |
Hardver platform | x86_64 , ARM [6] és IBM System/390 |
legújabb verzió |
|
Olvasható fájlformátumok | Dockerfile [d] |
Generált fájlformátumok | Dockerfile [d] |
Engedély | Apache License 2.0 [8] [9] és szabadalmaztatott |
Weboldal | docker.com _ |
Médiafájlok a Wikimedia Commons oldalon |
A Docker egy szoftver, amely automatizálja az alkalmazások telepítését és kezelését konténeres környezetekben , egy alkalmazástároló. Lehetővé teszi egy alkalmazás „csomagolását” az összes környezetével és függőségével egy olyan tárolóba, amely bármely Linux rendszeren üzembe helyezhető, amely támogatja a kernelben lévő cgroupokat , és is biztosít ezeknek a tárolóknak a kezelésére. Kezdetben az LXC képességeit használta , 2015-től pedig saját könyvtárát kezdte használni, amely a Linux kernel virtualizációs képességeit absztraktálja - libcontainer . Az Open Container Initiative megjelenésével megkezdődött az átmenet a monolitikus architektúráról a moduláris architektúrára.
Az azonos nevű startup cég fejleszti és támogatja , két kiadásban terjesztve – nyilvános ( Community Edition ) az Apache 2.0 licenc alatt és szervezetek számára ( Enterprise Edition ) saját licenc alapján [10] . Go nyelven írva .
A projekt a Solomon Hykes által 2008-ban alapított dotCloud belső fejlesztéseként indult azzal a céllal, hogy egy nyilvános PaaS platformot hozzon létre különféle programozási nyelvek támogatásával . Hayks mellett a dotCloud mérnökei, Andrea Luzzardi és François-Xavier Bourlet is jelentős szerepet játszottak a kezdeti fejlesztésben .
2013 márciusában a Docker kód az Apache 2.0 [11] licenc alatt jelent meg . 2013 júniusában Ben Golub , aki korábban a Gluster élén állt (amely a GlusterFS elosztott tárolási technológiát fejlesztette ki, és 2011-ben 136 millió dollárért vásárolta meg a Red Hat ) [12] , meghívást kapott a dotCloud vezérigazgatójának . 2013 októberében, hangsúlyozva az új kulcstechnológiára való összpontosítást, a dotCloudot Docker névre keresztelték át (míg a PaaS platform a korábbi néven - dotCloud - megmaradt).
2013 októberében megjelent a replikált OpenStack IaaS platform Havanna kiadása , amely a Docker támogatást valósítja meg ( az OpenStack Nova illesztőprogramjaként ). 2013 novembere óta a Docker részleges támogatása a Red Hat Enterprise Linux disztribúciós készlet 6.5-ös verziójában [13] , a Fedora disztribúciós készlet 20. verziójában pedig teljes támogatást kapott. Korábban megállapodás született a Red Hattal a Docker beépítéséről replikált OpenShift PaaS platform 2014-től [14] . 2013 decemberében bejelentették a Docker-tárolók telepítésének támogatását a Google Compute Engine [15] környezetben .
2014 óta dolgoznak azon, hogy a Docker támogatást beépítsék a Hadoop elosztott alkalmazási keretrendszer felügyeleti környezetébe ; A Hadoop virtualizációs platformjának 2014 májusában elvégzett tesztelési eredményei szerint a Docker lényegesen nagyobb teljesítményt mutatott a fő műveletekben (a virtuális csomópontok tömeges létrehozása, újraindítása és megsemmisítése), mint a KVM , különösen a A virtuális számítási csomópontok tömeges létrehozása, a processzor erőforrások felhasználásának növekedése a Dockerben 26-szor alacsonyabb, mint a KVM-ben, és a RAM erőforrások felhasználásának növekedése háromszor kisebb [16] .
2017 óta a termék Apache 2.0 licenc alatti szabadon terjesztett kiadása mellett megjelent egy szervezeteknek szóló kiadás is, amelyet az elérhető funkcióktól függően évi 750 és 2000 dollár közötti áron értékesítenek csomópontonként [10] .
A szoftver Linux környezetben fut olyan kernellel, amely támogatja a cgroupokat és a névterek elkülönítését ( névterek ); csak x86-64 és ARM platformokra vannak buildek [18] . Az 1.6-os verziótól (2015. április) már a Windows család operációs rendszereiben is használható [19] .
A tárhely megtakarítása érdekében a projekt az Aufs fájlrendszert használja , amely támogatja a lépcsőzetes egyesített csatolási technológiát : a konténerek az alap operációs rendszer képét használják, és a változtatásokat külön területre írják. Támogatja továbbá a tárolók elhelyezését a Btrfs fájlrendszerben, ha engedélyezve van az írás-másolás .
A szoftver tartalmaz egy konténerkiszolgáló démont (amelyet a docker -d parancs futtat ), klienseszközöket , amelyek lehetővé teszik a képek és tárolók kezelését a parancssori felületről , valamint egy API -t, amely lehetővé teszi a tárolók programozott kezelését REST stílusban .
A démon biztosítja a csomóponton futó tárolók teljes elkülönítését fájlrendszer szinten (minden tárolónak saját gyökér fájlrendszere ), folyamat szinten (a folyamatok csak a tároló saját fájlrendszeréhez férnek hozzá, és az erőforrások szétválasztása libcontainer ), hálózati szinten (minden tároló csak a hozzá tartozó hálózati névtérhez és a megfelelő virtuális hálózati interfészekhez fér hozzá).
A kliens eszközkészlet lehetővé teszi folyamatok indítását új tárolókban ( docker futtatása ), konténerek leállítását és elindítását ( docker stop és docker start ), folyamatok szüneteltetését és folytatását a tárolókban ( docker szüneteltetése és docker szüneteltetése ). Egy sor parancs lehetővé teszi a futó folyamatok figyelését ( docker ps , hasonló a ps - hez Unix rendszereken , docker top , hasonló a tophoz és mások). Speciális script fájlból ( docker build , a script fájl neve Dockerfile ) lehet új képeket készíteni, lehetőség van a konténerben végrehajtott összes változtatást új képbe írni ( docker commit ). Minden parancs működhet mind a helyi rendszer docker-démonjával, mind a hálózaton elérhető bármely Docker-kiszolgálóval. Ezenkívül a parancssori felület beépített képességekkel rendelkezik a nyilvános Docker Hub adattárral való interakcióhoz, amely előre beépített alkalmazásképeket tartalmaz, például a docker keresési parancs lehetővé teszi képek keresését a benne tárolt képek között [20] , a képek letölthetők a helyi rendszerre ( docker pull ), lehetőség van a helyileg épített képek Docker Hub-ra tolására is ( docker push ).
A Docker rendelkezik egy Docker Compose csomagkezelővel is, amely lehetővé teszi a több tárolóból álló alkalmazások leírását és futtatását; A hozzá tartozó konfigurációs fájlokat a YAML írja le .
![]() | |
---|---|
Fotó, videó és hang | |
Tematikus oldalak |
Emulációs és virtualizációs szoftver ( összehasonlítás ) _ | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Alkalmazási réteg |
| ||||||||||||||
OS szint (tárolók) |
| ||||||||||||||
Hardver szint |
| ||||||||||||||
Hálózati virtualizáció |
|