Nyilvántartás kontra Docker

Nyilvántartás kontra Docker

„Nyilvántartás” kontra „Tároló”.

A repository egy olyan hely, ahol az adatokat ténylegesen tárolják. A registry az adatokra mutató mutatók gyűjteménye.

Például egy könyvtár kártyakatalógusa az a nyilvántartás , amelyben megtalálhatja a szükséges könyv helyét. A könyvtár tényleges könyvespolcai a tárházát alkotják .

Legyen biztonságban. Vásároljon SSL tanúsítványt.
  • Biztonságos adatátvitel
  • Elkerüli a böngésző figyelmeztetéseit
  • Javítja a Google rangsorolását

Követelmények

  • Docker használatának és parancsainak alapvető ismerete.
  • A Docker telepítve és fut a rendszeren.
  • Internetkapcsolat.

Ha saját tárhelyen tárolt adattárat hoz létre, és úgy dönt, hogy elérhetővé teszi azt az internetről, akkor a következőkre is szüksége lesz:

  • Egy működő domain név (URL).
  • Egy SSL tanúsítvány .
SSL tanúsítvány-ellenőrző

Saját üzemeltetésű Docker-nyilvántartás beállítása

biztosít A Docker beépített regisztrációs szervert . A regisztrációs szerver egy konténerben fut, amelyet a docker run paranccsal indíthatunk el.

Például egy “my-registry” nevű rendszerleíró adatbázis-kiszolgáló elindításához a parancs a következő lenne:

sudo docker run -d -p 5000:5000 --name my-registry registry:2
Megjegyzés

Ha tűzfalat használ, akkor lehet, hogy hozzáférést kell biztosítania az 5000-es porthoz.

Képfájl feltöltése a saját üzemeltetett beállításjegyzékbe

A saját üzemeltetésű beállításjegyzék használatának első lépése egy Docker-rendszerkép címkézése az adott beállításjegyzékhez a docker tag parancs használatával:

sudo docker tag [image name] localhost:5000/[image name]

Például a my-nginx kép újracímkézéséhez a saját üzemeltetésű beállításjegyzékben a parancs a következő lenne:

sudo docker tag my-nginx localhost:5000/my-nginx

Ezután a következő paranccsal töltheted fel ezt a képet a beállításjegyzékbe:

sudo docker push localhost:5000/[image name]

A fenti példában létrehozott kép feltöltéséhez a következő parancsot kell használni:

sudo docker push localhost:5000/my-nginx

Képfájl lekérése a saját üzemeltetett beállításjegyzékből

A rendszerleíró adatbázisból egy képfájl lekérésének parancsa a következő:

sudo docker pull localhost:5000/[image name]

Például a fenti példában létrehozott kép letöltéséhez a következő parancsot kell használni:

sudo docker pull localhost:5000/my-nginx

Saját üzemeltetett beállításjegyzék leállítása és törlése

Ha hibát követ el, vagy egyszerűen csak le szeretné állítani és eltávolítani a létrehozott beállításjegyzéket az ott tárolt összes képpel együtt, használja a következő parancsot:

sudo docker stop [repository name] && docker rm -v [repository name]

Például a fent létrehozott, my-registry nevű rendszerleíró adatbázis leállításához és törléséhez a következő parancsot kell használni:

sudo docker stop my-registry && docker rm -v my-registry

Külső hozzáférés engedélyezése a saját üzemeltetett rendszerleíró adatbázishoz

Mielőtt elkezdené megosztani a privát beállításjegyzékét, TLS-sel kell biztosítania a hozzáférést egy SSL-tanúsítvánnyal .

Hozz létre egy certs nevű könyvtárat a Docker gyökérkönyvtáradban. A legtöbb rendszeren ez a /var/lib/docker könyvtár lesz:

sudo mkdir /var/lib/docker/certs

Nevezd el az SSL-tanúsítvány (cert) fájlodat domain.crt-nek, az SSL-kulcsfájlodat pedig domain.key-nek. Mindkét fájlt helyezd a /var/lib/docker/certs könyvtárba.

Ha egy meglévő, saját üzemeltetésű beállításjegyzéket frissít, akkor a következő paranccsal kell leállítania:

sudo docker stop [repository name]

Indítsa el (vagy indítsa újra) a saját üzemeltetett beállításjegyzékét a következő paranccsal:

sudo docker run -d -p 5000:5000 --restart=always --name my-registry -v `pwd`/certs:/certs -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key registry:2

Saját tárhelyen tárolt rendszerleíró adatbázis elérése egy másik tárhelyszolgáltatóról

A beállításjegyzék másik gazdagépről való eléréséhez használja a következőt : [a domained]:5000/[rendszerkép neve] .

Például egy my-nginx nevű képfájlnak az example.com címen található beállításjegyzékbe való feltöltéséhez először meg kell címkéznie a képet:

sudo docker tag my-nginx example.com:5000/my-nginx

Ezután a következő paranccsal küldheted el a képet:

sudo docker push example.com:5000/ubuntu

Ugyanazon kép kinyeréséhez a beállításjegyzékből használja a következő parancsot:

sudo docker pull example.com:5000/ubuntu

Docker Hub adattár beállítása

A Docker Hub webhely egy kényelmes hely a Docker-lemezképek felhőben történő tárolására és rendszerezésére. Ezt az oldalt használhatja saját nyilvános vagy privát adattár üzemeltetésére, a felhasználói hozzáférés kezelésére, valamint az adattár elérésére az internet bármely pontjáról.

Hivatalos képek

Docker Hub is also an excellent place to browse public Docker images. Be aware that only repos­i­to­ries marked “Official” contain the official versions of the images.

Azt javasoljuk, hogy csak hivatalos Docker-lemezképeket húzzon le és futtasson.

Docker Hub fiók létrehozása

Kezdéshez létre kell hoznia egy Docker Hub fiókot. Töltse ki fiókja adatait a Docker Hub fő weboldalán , majd kattintson a Regisztráció gombra .

Ellenőrizd az e-mail fiókodat, hogy érkezett-e egy üzenet a fiók aktiválásának befejezéséhez, majd jelentkezz be az oldalra.

Every Docker Hub account can create a number of free public repos­i­to­ries. Each account also comes with one free private repos­i­to­ry. You can purchase more private repos­i­to­ries for a monthly fee.

Setting up an or­ga­ni­za­tion and teams

Docker Hub lets you set up or­ga­ni­za­tions and teams in order to manage a number of users. This is con­ve­nient if you have several different groups of people, and you need to manage their per­mis­sions sep­a­rate­ly.

A három hozzáférési szint a következő:

  • Olvasás (csak képeket lehet lekérni, nem lehet feltölteni)
  • Írás (képeket is tud húzni és küldeni)
  • Adminisztrátor (képeket tud lekérni és feltölteni, valamint felhasználókat adhat hozzá és törölhet)

Szervezet létrehozása

A Docker Hub fő irányítópultján kattintson a Szervezet létrehozása elemre .

Töltse ki a szervezet adatait, majd kattintson a Létrehozás gombra .

Minden szervezet egy alapértelmezett csapattal indul, amelyet Tulajdonosoknak automatikusan hozzáadódik a Tulajdonosok listához. hívnak. A szervezet létrehozásakor

Ha valakit hozzá szeretne adni a Tulajdonosok listához , töltse ki a Docker Hub felhasználónevét, és kattintson a kék + jelre .

Szervezet beállítása nyilvános vagy privátként

A szervezetek alapértelmezés szerint nyilvánosak . Ha a szervezetet privátra szeretné állítani , a fő szervezeti oldalon kattintson a Beállítások gombra .

Kattintson a Privát , majd a Mentés gombra .

Csapat hozzáadása

Csapat hozzáadásához válassza ki a szervezet nevét a legördülő menüből (ha még nincs kiválasztva), majd kattintson a Csapatok lehetőségre .

A Csapatok oldalon kattintson a Csapat hozzáadása gombra .

Add meg a csapat nevét és leírását, majd kattints a Hozzáadás gombra .

Megjegyzés

Minden alkalommal, amikor hozzáadsz valakit egy csapathoz, a Docker Hub e-mailt küld az adott személynek a változásról.

Docker Hub adattár létrehozása

A Docker Hub irányítópulton kattintson a Tárhely létrehozása elemre .

Töltse ki a tárhely adatait (győződjön meg arról, hogy a Láthatóság legördülő menüt nyilvános vagy privát értékre állította ), majd kattintson a Létrehozás gombra .

A következő oldalon részleteket talál az új adattárról, beleértve a képfájlokhoz tartozó docker pull parancsot is.

Adattár-csapat hozzáférésének beállítása

A tárházhoz való hozzáférés csapatonkénti beállításához kattintson az Együttműködők lehetőségre .

A példánkban két csapatunk van:

  • A jdoesoftwareqa minőségbiztosítási osztály, amelynek olvasási (de írási) hozzáférésre van szüksége a képekhez.
  • A jdoesoftwaredev fejlesztőknek olvasási és írási hozzáférésre van szükségük a képekhez.

Nincs szükség arra, hogy a QA frissített képeket töltsön fel a tárhelyre, és meg akarjuk akadályozni, hogy ezt véletlenül is megtegyék. A fejlesztőknek azonban teljes hozzáféréssel kell rendelkezniük a tárhelyhez.

Biztonsági okokból érdemes az összes Docker Hub felhasználót legalább két csoportba sorolni: az egyik csak olvasási hozzáféréssel, a másik pedig olvasási/írási hozzáféréssel rendelkezik.

Egy csapat hozzáférésének beállításához válassza ki a csapatot és a hozzáférési szintet a legördülő menükből, majd kattintson a Csapat hozzáadása gombra .

A Docker Hub adattár elérése a parancssorból

A Docker Hub adattár parancssorból való eléréséhez először hitelesítenie kell magát a Docker Hub-bal a webhelyen létrehozott bejelentkezési névvel:

sudo docker login

Meg kell adnia a Docker Hub bejelentkezési nevét, jelszavát és e-mail címét.

Miután bejelentkeztél, a docker push és docker pull parancsokkal férhetsz hozzá a Docker Hub adattárhoz.

Pushing an image to your Docker Hub Repos­i­to­ry

To upload (push) an image to your Docker Hub repos­i­to­ry, you must first prepare the image. It will need:

  • Your Docker Hub username or the name of your Docker Hub or­ga­ni­za­tion.
  • The name of your Docker Hub repos­i­to­ry.
  • Optional: A version tag. (If no tag is specified, it will default to “latest.”)

You can rename an existing image using the command:

sudo docker tag [existing image name or ID] [Docker Hub username or organization]/[repository name]:[tag]

Például, ha a jdoe Docker Hub felhasználó egy jelenleg my-ubuntu-test nevű képet szeretne feltölteni egy ubuntu-test nevű Docker Hub adattárba, és 1.0-s verzióval szeretné megjelölni, akkor a képet először át kell nevezni a következő paranccsal:

sudo docker tag my-ubuntu-test jdoe/ubuntu-test:1.0

Ha a jdoe a jdoesoftware szervezet alatti repositoryba tervezi a push-olást, akkor a parancs a következő lesz:

sudo docker tag my-ubuntu-test jdoesoftware/ubuntu-test:1.0

A rendszerkép helyes átnevezését a következő paranccsal ellenőrizheti:

sudo docker images

Ezután a következő paranccsal feltöltheted a képet a tárházba:

sudo docker push [Docker Hub username or organization name]/[repository name]:[tag]

Az előző példában átnevezett kép feltöltéséhez a következő parancsot kell használni:

sudo docker push jdoe/ubuntu-test:1.0

Vagy:

sudo docker push jdoesoftware/ubuntu-test:1.0

Annak ellenőrzéséhez, hogy a rendszerkép feltöltésre került-e a Docker Hub-ra, lépjen a Docker Hub irányítópultjára, és kattintson a tárház Részletek elemére.

A tárház oldalán kattintson a Címkék elemre.

Ez felsorolja a tárházba feltöltött verziókat, a legutóbbi frissítés időpontjával együtt.

Kép lekérése a Docker Hub adattárból

A Docker Hub adattárból képfájl lekérésére szolgáló parancs a Docker Hub webhelyén található adattár oldalán látható.

A parancs a következő:

sudo docker pull [your Hub username or organization name]/[your Hub repository name]:[tag]

Például a fenti szakaszban a Hub-ra küldött jdoe/ubuntu-test:1.0 képfájl lekéréséhez a következő parancsot kell használni:

sudo docker pull jdoe/ubuntu-test:1.0

Vagy:

sudo docker pull jdoesoftware/ubuntu-test:1.0

A rendszerkép helyes átnevezését a következő paranccsal ellenőrizheti:

sudo docker images