Dokkmunkás Csomagolt alkalmazások létrehozása úgynevezett konténerek. Minden tartály egy elszigetelt környezetet biztosít a Virtuális gép (VM). Ellentétben a VMS, a dokkoló konténerek Ne futtasson teljes operációs rendszert . Megosztják a gazdagép rendszermagjait és virtualizálják egy szoftver szinten.
Dokkoló alapok
A dokkoló a szoftverfejlesztők és a rendszergazdák szabványos eszközévé vált. Ez egy szép módja annak, hogy gyorsan elindítsa az alkalmazásokat anélkül, hogy befolyásolná a rendszer többi részét. Egy új szolgáltatást forgathat egyetlen egyetlen
dokkoló futás
parancs.
Konténerek magukba minden szükséges futtatni egy alkalmazást, az OS csomag függőségeket a saját forráskódját. Meghatározza a konténer létrehozási lépéseit, mint utasításokat a
Dockerfile
. A dokkoló a dokkológépet használja a
kép
.
A képek meghatározzák a konténerekben rendelkezésre álló szoftvert. Ez lazán egyenértékű kezdő VM operációs rendszerrel ISO. Ha létrehoz egy képet, bármelyik dokkoló felhasználó képes lesz elindítani az alkalmazást
dokkoló futás
.
Hogyan működik a dokkoló?
A konténerek az operációs rendszer kernel jellemzőit használják részlegesen virtualizált környezetek biztosítására. Lehetőség van arra, hogy olyan konténereket hozzon létre, mint a parancsok
chroot
. Ez a rendszergyökér helyett egy meghatározott gyökérkönyvtárat indít. De a kernel funkciók közvetlenül is nehézkes, bizonytalan, és hibára hajlamos.
A dokkoló teljes megoldás a konténerek előállítására, terjesztésére és használatára. A modern dokkolószabadságok vannak Számos független alkatrész . Először is van a dokkoló Kli , amely az, amit kölcsönhatásba lép a terminálban. A CLI parancsokat küld a Dokkoló démon . Ez helyileg vagy egy távoli gépen . A démon felelős a konténerek kezeléséért és a létrehozott képekért.
A végső komponenst a konténer futási ideje . A Runtime a kernel funkcióit a konténerek ténylegesen elindíthatja. A dokkoló kompatibilis a futóhelyekkel, amelyek ragaszkodnak a OCI specifikáció. Ez a nyílt szabvány lehetővé teszi a különböző konténerizációs eszközök közötti interoperabilitást.
Nem kell túl sokat kell aggódnia a dokkoló belső működéséről, amikor először elkezded. Telepítés
dokkmunkás
A rendszeren megadja mindazt, amire szüksége van a konténerek építéséhez és futtatásához.
Miért használják sok ember dokkolót?
A konténerek olyan népszerűvé váltak, mert sok közös kihívást megoldanak a szoftverfejlesztésben. A konténerezés képessége egyszer és futás mindenhol csökkenti a szakadékot fejlesztési környezetét és termelési szervereit.
A konténerek segítségével bizalmat ad, hogy minden környezet azonos. Ha új csapattagja van, csak kell
dokkoló futás
saját fejlesztési példányának beállítása. Amikor elindítja a szolgáltatást, használhatja a dokkoló képét a termelésre. Az
élő környezet
Pontosan megfelel a helyi példánynak, elkerülve a "Működik a gépemen" forgatókönyveket.
A dokkoló kényelmesebb, mint egy teljes fúvott virtuális gép. A VMS olyan általános célú eszközök, amelyek minden lehetséges munkaterhelést támogatnak. Ezzel szemben a konténerek könnyűek, önellátóak és jobban megfelelnek az esetek eldobására. Mivel a dokkoló megosztja a gazdagép kernelt, a konténerek elhanyagolható hatással vannak a rendszer teljesítményére. A konténerindítási idő szinte pillanatnyi, mivel csak a kezdeti folyamatok, nem egy teljes operációs rendszer.
Elkezdeni
A dokkoló minden népszerű Linux eloszlásban elérhető. A Windows és a MacOS-on is működik. Kövesd a DOCKER SETUP utasítások a platformra felállni és futni.
Ellenőrizheti, hogy a telepítés egyszerű konténer indításával működik-e:
Docker Run Hello-World
Ez új tartályt indít az alapvető
Helló Világ
kép. A kép néhány kimenetet bocsát ki, amely elmagyarázza a dokkoló használatát. A tartály akkor kilép, visszahúzódik a terminálhoz.
Képek létrehozása
Miután lefuttatott
Helló Világ
, Akkor készen áll, hogy saját Docker képeket. A Dockerfile leírja, hogyan kell futtatni a szolgáltatás
telepítése szükséges szoftver
és másolás fájlokat. Itt egy egyszerű példa segítségével az Apache webszerver:
AZ httpd: legújabb RUN echo "LoadModule headers_module modulok / mod_headers.so" & gt; & gt; /usr/local/apache2/conf/httpd.conf COPY .htaccess /var/www/html/.htaccess COPY index.html /var/www/html/index.html COPY css / a / var / www / html / css
Az
TÓL TŐL
vonal határozza meg a kép felé. Ebben az esetben kezdjük a hivatalos Apache képet. Docker érvényes a további utasításokat a Dockerfile tetején a kép felé.
Az
FUSS
szakaszban egy parancsot futtat a tartályon belül. Ez lehet bármilyen parancs elérhető a tartályban környezetében. Lehetővé tesszük a
fejlécek
Apache modul, amelyet fel lehetne használni a
.htaccess
fájlt létrehozni útválasztási szabályokat.
Az utolsó sorokat másolja a HTML és CSS fájlokat a munka könyvtárba a tartályba képet. A kép már tartalmaz mindent meg kell futtatni a honlapon.
Most már lehet építeni a képet:
dokkoló építmények -t my-honlap: v1.
Docker fogja használni Dockerfile építeni a képet. Meglátod kimenet a terminál Docker fut minden a utasításokat.
Az
-t
A parancs
jelöli meg az image
egy adott nevet (
my-honlap: v1
). Ez megkönnyíti, hogy olvassa el a jövőben. Címkék két elemből, kettősponttal elválasztva. Az első rész meghatározza a kép nevét, míg a második jelentése általában a változat. Ha elhagyjuk a vastagbél, Docker alapértelmezés
használata
legújabb
Amikor a címke változat.
Az
.
végén a parancs utasítja Docker használni a Dockerfile a helyi üzemi könyvtárban. Ez is
beállítja az építmények összefüggésben
, Amely lehetővé teszi, hogy használja a fájlok és mappák a munka könyvtárba
MÁSOLAT
utasításokat a Dockerfile.
Miután létrehozta a kép, akkor lehet kezdeni egy edényben
dokkoló futás
:
dokkoló távon -d -p 8080: 80 my-honlap: v1
Mi egy pár extra zászlókat
dokkoló futás
itt. Az
-d
zászló teszi a Docker CLI leválnak a tartály, amely lehetővé teszi, hogy fut a háttérben. A port mapping van meghatározva
-P
, Így 8080 a gazda térképek 80-as portra a tartályba. Látnia kell a weboldalt, ha ellátogatnak
localhost: 8080
a böngészőben.
Docker képek vannak kialakítva rétegek. Minden utasítást a Dockerfile létre egy új réteget. A speciális építési funkciók referencia több bázisállomás képek Eldobása közbenső rétegek korábbi képeket.
A fényképek jegyzékek
Ha van egy kép, akkor nyomja meg a rendszerleíró adatbázist. jegyzékek központosított tárolás így megoszthatja másokkal konténerek. Az alapértelmezett registry Docker Hub .
Amikor futtatja a parancsot, amely hivatkozik egy kép, Docker először ellenőrzi, hogy ez helyileg elérhető. Ha nem, akkor próbálja húzni azt a Docker Hub. Manuálisan húzza képeket a
dokkoló pull
parancs:
dokkoló pull httpd: legfrissebb
Ha azt szeretnénk, hogy közzé egy képet, hozzon létre egy
Docker Hub
fiók. Fuss
dokkoló bejelentkezés
és adja meg felhasználónevét és jelszavát.
Ezután címkézni a kép segítségével Docker Hub felhasználónév:
dokkoló Felcímkézhetem-image: legújabb dokkoló-hub-felhasználónév / my-image: legfrissebb
Most, akkor nyomja meg a képet:
dokkoló tolja dokkoló-hub-felhasználónév / my-image: legfrissebb
Más felhasználók képesek lesznek, hogy húzza a képet, és indítsa konténerek vele.
tudsz futtatni a saját regisztrációs ha szüksége van saját képek tárolásához. Számos harmadik fél szolgáltatások is hez Docker nyilvántartások alternatívájaként Docker Hub.
Kezelése A konténerek
A Docker CLI több parancsot tartalmaz, hogy kezelje a futó tartályokat. Íme néhány a leghasznosabb tudni:
Listázási konténerek
dokkoló
Megmutatja az összes futó tartályt. A
-a
A zászló megmutatja a megállt konténereket is.
A tartályok leállítása és kiindulása
A tartály leállítása, futtatás
Docker Stop My-Container
. Helyettesít
a-konténerem
a tartály nevével vagy azonosítójával. Ezt az információt megkaphatja a
ps
parancs. A megállított tartály újraindul
Docker Indítsa el a tartályt
.
A konténerek általában mindaddig, amíg fő folyamatuk él.
Indítsa újra a házirendeket
Ellenőrizze, hogy mi történik, ha egy tartály megáll, vagy a gazdagép újraindul. Átad
--RRESTART mindig
nak nek
dokkoló futás
hogy a tartály azonnal újrainduljon, miután megáll.
A héj megszerzése
tudsz
futtat egy parancsot
egy tartályt használva
Docker Exec My-Container My-Command
. Ez akkor hasznos, ha manuálisan szeretné végrehajtani a tartály fő folyamatát.
Adja hozzá a
-azt
Zászló, ha interaktív hozzáférésre van szüksége. Ez lehetővé teszi, hogy futjon egy héjba futással
Docker EXEC -IT MY-CONTAINER SH
.
Monitoring naplók
A dokkoló automatikusan összegyűjti a tartály szabványos bemeneti és kimeneti áramára kibocsátott kimenetet. Az
A dokkoló naplózza a tartályt
A parancs megmutatja a tartály naplóit a terminálon belül. Az
--kövesse
A zászló folyamatos adatfolyamot állít fel, így valós időben megtekintheti a naplókat.
Források tisztítása
A régi konténerek és képek gyorsan felhalmozódhatnak a rendszeren. Használat
Docker RM My-Container
A tartály törléséhez azonosítójával vagy nevével.
A képek parancsnoksága
Docker RMI My-Image: Legújabb
. Adja át a kép azonosítóját vagy teljes címke nevét. Ha megad egy címkét, a kép nem törlődik, amíg nem rendelkezik több címkével. Ellenkező esetben az adott címke eltávolításra kerül, de a kép más címkéi továbbra is használhatók.
Tömeges tisztítások lehetségesek a
dokkolószilárdság
parancs
. Ez egyszerű módja az összes leállított konténer és redundáns kép eltávolítására.
Grafikus menedzsment
Ha a terminál nem a te dolgod, akkor harmadik féltől származó eszközöket használhat Állítson be egy grafikus felületet a dokkolóhoz . A webes irányítópultok lehetővé teszik, hogy gyorsan ellenőrizze és kezelje a telepítést. Segítenek a konténerek távvezérlését is.
Tartós adattárolás
A dokkoló konténerek alapértelmezés szerint efemerálisak. A tartály fájlrendszerének módosításai nem fognak fennállni, miután a tartály leáll. Ez nem biztonságos
Futtassa a fájltároló rendszer bármely formáját
Egy tartályban alaposan kezdődött
dokkoló futás
parancs.
Van néhány különböző megközelítés A tartós adatok kezelése . A leggyakoribb a dokkoló hangerejének használata. A kötetek tárolóegységek amelyek konténer-fájlrendszerekbe vannak szerelve. Azokat az adatokat, a hangerő is érintetlen marad, miután a kapcsolt tartály megáll, és lehetővé teszi csatlakozni egy másik tartályba a jövőben.
biztonság fenntartása
Dockerized munkaterhelés nagyobb biztonságban, mint a csupasz fém társaik, mivel Docker ad némi szétválasztása az operációs rendszer és a szolgáltatások. Mindazonáltal Docker egy potenciális biztonsági problémát, hiszen
normálisan fut
gyökér
és ki lehetne használni futtatni rosszindulatú szoftverek.
Ha csak futó Docker amely a fejlesztés eszköze, az alapértelmezett telepítés általában biztonságos a használata. Termelő szerverek és gépek hálózaton kitett démon socket kell edzett, mielőtt élesben.
Ellenőrzés a Docker telepítés a potenciális biztonsági problémákat. Vannak automatizált eszközökkel elérhető Ez segíthet megtalálni a gyengeségeket, és javaslatokat javasol. Te is Szkennelje az egyes konténereket olyan kérdéseknél, amelyeket belül ki lehetne használni.
Több konténerrel dolgozik
Az
dokkmunkás
A parancs csak egyszerre működik egy tartálynál. Gyakran használni szeretné az edényeket az aggregátumban.
Dokkoló készít
Olyan eszköz, amely lehetővé teszi, hogy a tartályokat deklarálják egy YAML fájlban. Elkezdheti őket egyetlen parancsmal.
Ez hasznos, ha a projekt más szolgáltatásokatól függ, például egy adatbázis-kiszolgálóra támaszkodó webes backend. Meghatározhatja mindkét tartályt az Önbe
dokkoló-compose.yml
és élvezze az egyszerűsített kezelést
Automatikus hálózatépítés
.
Itt van egy egyszerű
dokkoló-compose.yml
Fájl:
Verzió: "3"
Szolgáltatások:
App:
Image: App-Server: Legújabb
Portok:
- 8000: 80
Adatbázis:
Image: Adatbázis-kiszolgáló: Legújabb
Kötetek:
- adatbázis-adatok: / adatok
Kötetek:
Adatbázis-adatok:
Ez két tartályt határoz meg (
alkalmazás
és
adatbázis
). Az adatbázishoz egy kötet van létrehozva. Ez fel van szerelve
/adat
a tartályban. Az App Server 80-as portja 8000-ben van kitéve a gazdagépen. Fuss
dokkoló-készítsen fel -d
mindkét szolgáltatást, beleértve a hálózatot és a kötetet is.
A dokkoló kompozíció használata lehetővé teszi Önt
írás újrafelhasználható
Konténer definíciók, amelyeket megoszthat másokkal. Elkötelezheti a
dokkoló-compose.yml
a változatvezérlés helyett a fejlesztők megjegyzése helyett
dokkoló futás
parancsok.
Vannak más megközelítések is több tartály futtatására is. Dokkoló alkalmazás egy feltörekvő megoldás, amely egy másik absztrakciót biztosít. Máshol az ökoszisztémában, Podman dokkoló alternatíva amely lehetővé teszi a tartályok "hüvelyeinek" létrehozását a terminálon belül.
Container Orchestration
A dokkoló általában nem működik a termelésben. Most már gyakoribb használni egy zenekari platformot, mint például Kubernetes vagy Docker Swarm mód. Ezeket az eszközöket úgy tervezték, hogy kezeljék Több tartályreplia, ami javítja a skálázhatóságot és a megbízhatóságot.
A dokkoló csak egy komponens a szélesebb konteerizációs mozgásban. Orchestrátorok
ugyanazt használja
konténer futásidejű technológiák, hogy olyan környezetet, ami a jobb illeszkedés a termelés. Több konténer példány használata
Lehetővé teszi a gördülő frissítéseket
valamint a forgalmazás a gépek között, így a telepítési ellenállóbb a változás és kiesés. Rendszeres
dokkmunkás
A CLI egy gazdagépet célozza meg, és egyedi tartályokkal működik.
A konténerek erőteljes platformja
A dokkoló mindent megad, amire szüksége van a konténerekkel. A szoftverfejlesztés és a rendszer adminisztrációjának kulcsfontosságú eszközévé vált. A fő előnyök megnövelik elszigeteltség és a hordozhatóság az egyes szolgáltatásokat.
A dokkolóval való ismeret megköveteli az alaptartály és a képkoncepciók megértését. Alkalmazhatja ezeket a speciális képeket és környezeteket, amelyek a munkaterheléseket tárolják.