Ismerkedjünk meg a Docker Hubbal.
Ma ebben az oktatóanyagban megismerjük a Docker Hub-ot, beleértve a használatát, saját arculat létrehozását, valamint azt, hogy miként segít a képek közzétételében és oda-vissza húzásában. Docker Hub. Emellett eltöltünk egy kis időt a Docker Hub népszerű adattárainak felfedezésével is.
Tartalomjegyzék
Előfeltételek
A Docker alapszintű ismerete, a Windows és a Linux környezet ismerete szükséges. Ez az oktatóanyag a Docker Desktop eszközt használja a folyamatban lévő gyakorlatok gyakorlására, azaz a kép létrehozására és a Docker Hubra való átküldésére. Windows és Mac felhasználók letölthetik és telepíthetik a webhelyről ittés a Linux felhasználók ezt követik link.
Mi az a Docker Hub?
A Docker Hub egy adattár-nyilvántartási szolgáltatás, amelyet a Docker Inc.
Lehetővé teszi docker-képek húzását és tolását a Docker Hub-ba és onnan. Ezt kezelhetjük GitHubként, ahol lekérjük és leküldjük a forráskódunkat, de a Docker Hub esetében letöltjük vagy közzétesszük a tárolóképeinket. Ez egy felhő alapú online adattár, amely mindkét típusú adattárat tárolja, azaz a nyilvános adattárat, valamint a privát adattárat. A nyilvános adattárak mindenki számára hozzáférhetők, de a privát adattárak az adattárak érintett tulajdonosa számára elérhetők; továbbá költséggel jár, ha bizonyos számú adattárat privátként tárolunk.
Docker Hub jellemzői
A Docker Hub a következő funkciókat kínálja.
#1. Képtárak
Segít a konténerképek megtalálásában és lehívásában a Docker Hubról.
Segít nekünk abban is, hogy a képeket nyilvános vagy privát adattárként továbbítsuk a Docker Hubhoz.
#2. Csapat és szervezetek
Lehetővé teszi számunkra, hogy munkacsoportokat hozzunk létre, és a tárolókat privátként toljuk ki, amely csak szervezetünkön belül használható. Ily módon sikerült hozzáférnünk a konténerképek privát tárolóihoz.
#3. GitHub és Bitbucket integráció
Lehetővé teszi az integrációt olyan forráskód-tárolókkal, mint a GitHub és a BitBucket.
#4. Automatizált építmények
Ha a forráskód bármilyen változása a forráskód-tárolókba került, az automatikusan észleli és összeállítja a tárolóképeket a GitHubból vagy a BitBucketből, és továbbítja azokat a Docker Hubhoz.
#5. Webhookok
Miután sikeresen továbbítottuk a képeinket, egy webhook segítségével elindítja a Docker Hub más szolgáltatásokkal való integrálását.
#6. Hivatalos és kiadói képek
A dockerek által biztosított jó minőségű képek hivatalos képnek számítanak, húzható és használható. Hasonlóképpen, a külső szállítók által biztosított kiváló minőségű képek kiadói képek, más néven hitelesített képek, amelyek támogatást és kompatibilitási garanciát nyújtanak a Docker vállalattal. A cikk későbbi részében további hitelesített képeket fogunk tárgyalni.
Első adattár létrehozása
Ehhez a lépéshez be kell jelentkezni a Docker Hub a bejelentkezési adataid segítségével. Ha nem rendelkezik fiókkal, a weboldalon található Regisztráció gombra kattintva már létrehozhat. Miután bejelentkezett, az üdvözlő oldalon a Tár létrehozása gombra kattintva hozhatja létre a tárat.
- Miután rákattintott a Leraktár létrehozása elemre, egy nevet kér, adjon nevet a tárhelynek.
- Válasszon egy nyilvános vagy privát láthatósági beállítást.
A forráskód-tárolóinkat, például a GitHub-ot és a BitBucket-et is integrálhatjuk összeállítási beállításokkal, de ez opcionális, és egy későbbi szakaszban is megtehető.
- Ha minden elkészült, kattintson a Létrehozás gombra.
Gratulálunk! Létrehozta első tárolóit, amelyek a következőképpen fognak kinézni.
A Docker Hub csak egy privát adattárat biztosít nekünk ingyen. Bár, ha több privát adattárra van szükségünk, frissíthetjük fiókunkat fizetős csomagra.
Most nyissa meg a fent letöltött és telepített Docker Desktop eszközt/terminált, és jelentkezzen be a Docker Hubba egy parancs segítségével.
docker login
A képek felfedezése
Kétféleképpen kereshetünk nyilvános tárolókban és képekben a Docker Hubról, vagyis vagy a Docker Hub webhelyéről kereshetünk rá, vagy használhatjuk a parancssori eszközt, és futtathatjuk az alábbi parancsot. Vegyük fontolóra, hogy a MySQL-tárképben szeretnénk keresni.
docker search mysql
Kép letöltése
Letölthetünk egy képet a Docker Hub parancsból a pull paranccsal az alábbiak szerint
# docker pull mysql
Ha már van mysql kép a gépünkön, akkor a fenti parancs automatikusan frissíti a képet a legújabb verzióra. Itt érdemes szem előtt tartani, hogy ha észrevesszük a Docker keresési parancs kimenetét, sok MySQL-kép található a Docker Hubon, és ez azért van, mert bárki leküldhet egy képet. De rajtunk múlik, hogy a használati esetünk alapján melyiket használjuk, és a megfelelőt kell sajtolni.
Tegyük fel, hogy egy bitnami/mysql képet szeretnénk húzni.
# docker pull bitnami/mysql
Kép létrehozása
Ehhez a folyamathoz Dockerfile szükséges. A Dockerfile-t egy használati útmutatónak tekinthetjük, amely megmondja a dockernek, hogy mit kell összeszerelni. Röviden, ez egy konfigurációs fájl, amely folyamatosan összeállítja az utasításokat, amit mondunk neki, hogy állítsa össze.
Hogyan működik?
A Docker beolvassa az utasításokat egy Dockerfile-ból, és automatikusan képeket készít. A Docker kép egy réteges fájlrendszer, amely több csak olvasható rétegből áll, és a Docker kép minden egyes rétege egy Dockerfile utasításait képviseli. Kövesse az alábbi lépéseket a kép létrehozásához a Dockerfile segítségével.
Hozzon létre egy Docker-fájlt, amely meghatározza az alkalmazás konfigurációját.
# sudo vim Dockerfile
Megjegyzés – A fájl neve Dockerfile legyen nagy „D” betűvel.
FROM ubuntu:16.04 MAINTAINER [email protected] RUN apt-get update RUN apt-get install –y mysql CMD echo "My first image created."
Vessünk egy pillantást a Dockerfile-ban használt fontos kulcsszavakra
- # szimbólumot használhatunk megjegyzések hozzáadásához egy Docker-fájlhoz
- A „FROM” kulcsszó határozza meg a használandó alapképet.
- Az „KARBANTARTÓ” kulcsszó az a személy, aki meg akarja őrizni ezt a képet.
- A „RUN” kulcsszó a képhez adott utasítás futtatására szolgál. Esetünkben először frissítse a rendszert, majd telepítse a MySQL-t.
- A „CMD” kulcsszó a tároló elindítása utáni parancs végrehajtására szolgál.
- A „COPY” kulcsszó használható egy fájl másolására a gazdagép operációs rendszerünkről a docker-tárolóba.
- Az „EXPOSE” kulcsszó annak a portszámnak a megadására szolgál, amelyen a tároló futtatni fogja a folyamatát.
Futtassa az alábbi parancsot a Docker-kép létrehozásához
Szintaxis:
docker build -t
# docker build -t asadali08537/first-repo .
A fenti parancsban a kép neve és „.” az aktuális munkakönyvtárat határozza meg. Ez azt jelzi, hogy a Docker meg kell keresnie a docker-fájl aktuális könyvtárát. A „-t” a kép címkézésére szolgál. Hasonló kimenetet láthatunk:
Most teszteljük a képünket a docker futtatási parancsán keresztül.
docker run asadali08527/first-repo
A fenti parancs végrehajtása megkéri a Docker képfájlt, hogy sikeresen telepítse a MySQL-t a gépére az összes szükséges frissítéssel, és végül visszhang üzenetet is megjelenít.
Kép tolása
Ha a képfájlunk sikeresen létrejött és fut, push paranccsal továbbíthatjuk a Docker Hubhoz.
docker push asadali08527/first-repo
Ellenőrizhetjük a képcímkéket és az állapotot a Docker Hubon, ami valahogy így fog kinézni.
Mi az a Docker Certified Images?
Ezek a hivatalos képek, amelyeket a gyártók vagy a közreműködők toltak. A Docker Hub csak akkor tanúsíthat egy képet, ha annak tartalma megfelel a Docker Hub által biztosított szabályoknak, szabványoknak és törvényeknek. Röviden, ennek a képnek át kell mennie bizonyos alapszintű teszteken.
A Docker Hub biztosítja az inspectDockerImage eszközt, amelyen keresztül a szállító saját maga hitelesítheti a képeket és a beépülő modulokat (általában a szállító vagy a közreműködő közzéteszi beépülő moduljait a kötetek és hálózatok naplózásához).
Jegyzet –
Ahhoz, hogy képünket docker-tanúsítvánnyal tegyük közzé, először magunknak kell hitelesítenünk és tesztelnünk a képeinket és a bővítményünket a InspectDockerImage eszközt, miután tanúsítottuk és sikeresen teszteltük, a Docker Hub a benyújtás után tanúsítja azt. Ha tartalmunk nem tanúsított környezetet igényel, akkor azt semmilyen körülmények között nem lehet minősítettként közzétenni.
Népszerű képek a DockerHubon
Számos kurált és optimalizált kép érhető el a Docker Hubon.
Ezeknek a képeknek a népszerűsége számos tényezőtől függ, mint például a vonzásoktól, a piaci jelenléttől, az értékelésektől, az elégedettségi pontszámoktól stb. A legnépszerűbb adattárak részletes listájához navigáljunk a Docker Hub weboldal. A kép használata az operációs rendszertől és annak architektúrájától is függ. Ha tudjuk, hogy a lehívott képeket melyik operációs rendszerhez és annak architektúrájához fogják használni, akkor az alábbi kulcsfontosságú tényezőket figyelembe kell vennünk, mielőtt egy képet lehúznánk.
- Keressen egy adott verziót címkék segítségével (főleg a legújabb).
- Válassza azt, amelyiknek maximális letöltési száma és csillaga van.
- Ellenőrizze a frissítéseket (amikor frissült utoljára).
- Ha lehetséges, ellenőrizze a típusát, legyen az ellenőrzött kiadó vagy hivatalos (Docker Certified).
Webhookok
A webhook egy webes visszahívás, amely eseményekkel működik, és ez egy módja annak, hogy egy alkalmazás valós idejű információkat nyújtson egy másik alkalmazásnak. Manapság szinte minden alkalmazás rendelkezik webhook lehetőséggel, így a Docker Hub is rendelkezik ezzel a funkcióval.
Ez egy HTTP push API, amelyet a felhasználó által kijelölt események váltanak ki. A dockerben webhook segítségével értesíthetjük az érintett képeket használó alkalmazást vagy szolgáltatást. Általában úgy konfiguráljuk a webhookot, hogy a docker az események folyamata, így minden új kép feltöltése elindítja a tesztalkalmazásokat az aláhúzott tesztesetek futtatására.
Amint a teszt eredménye sikeres, egy másik eseményt indít el, amely a tárolótelepítés lesz, és ha a telepítés sikeresen megtörtént, más eseményeket indít el az eddig elvégzett módosítások naplózásához.
Következtetés
Úgy gondolom, hogy most már tisztességes ismeretekkel rendelkezik a Docker Hubról és arról, hogyan kereshet, hozhat létre és küldhet képeket. Ne feledje, hogy amikor nyilvános képeket küld, bárki láthatja.
Ha még nem, tekintse meg ezt a Docker telepítési útmutatót.