Saját privát dokkoló-nyilvántartás létrehozása – CloudSavvy IT

Avatar Gadam | 2021.03.25. 67 Views 0 Likes 0 Ratings

67 Views 0 Ratings Rate it

[ad_1]

A saját Docker-nyilvántartás futtatása privát helyet biztosít a Docker-képek tárolásához. Akár vállalati környezetben van, akár csak csökkenteni kívánja a Docker Hubra való támaszkodását, a következőképpen állíthatja be és futtathatja a rendszerleíró adatbázis-telepítést.

A Docker Registry egy szerveroldali rendszer, amely tárolja és indexeli a Docker képeket. Az előre elkészített képeket „belökik” a rendszerleíró adatbázisba. A többi felhasználó ezután lefuttathatja őket a futtatáshoz, anélkül, hogy hozzáférést kellene kapnia az eredeti Dockerfile-hoz.

A legismertebb nyilvános nyilvántartás a Docker Hub. A saját nyilvántartás használatával átveheti az irányítást a képtárolás és a hozzáférési módszerek felett. Megkönnyítheti a külső eszközökkel történő integrációt is.

Vannak kezelt szolgáltatások állnak rendelkezésre ez lehetővé teszi a rendszerleíró adatbázis-telepítések gyors létrehozását. Ez az útmutató a rendszerleíró adatbázis saját kiszolgálón történő tárolására összpontosít. Az egyetlen előfeltétel, amire szükséged van telepítse a Docker és a Docker-compose programokat azon a gépen, amelyiknek a rendszerleíró adatbázisa lesz.

Nyilvántartás futtatása

A Docker Registry szerver saját Docker képként kerül terjesztésre. Megszerezheti a Docker Hub-tól. A kiszolgáló az 5000-es porton látható; hozzá kell kötnie egy gazdagép portot, hogy az ügyfelek csatlakozhassanak.

Be kell állítania egy kötetet is, hogy a Docker Hub legyen hová tartósan tárolni a feltöltött képeket. Győződjön meg arról, hogy elegendő szabad hely áll rendelkezésre a gazdagépen. Az aktívan használt nyilvántartás gyorsan növekedhet.

Kezdje a docker-compose.yml fájl a telepítés leírására. Beállíthatja a portokat és a fájlrendszer útvonalait, hogy megfeleljenek az Ön igényeinek. Ez a példa hozzáférhetővé teszi a rendszerleíró adatbázist az 5000-es porton. A képeket a data mappát a munkakönyvtárban.

version: "3"
services:
  registry:
      image: registry:2
      ports:
        - 5000:5000
      environment:
        - REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY: /data
      restart: unless-stopped
      volumes:
        - ./data:/data

Mentse a fájlt, és futtassa docker-compose up -d a rendszerleíró adatbázis elindításához. A docker-compose lekéri a rendszerleíró adatbázis képét a Docker Hubról. Ezután egy új tárolót indít el a konfigurációval.

Hozzáférés a regisztrációhoz

Most már képesnek kell lennie a rendszerleíró adatbázis használatának megkezdésére. Címkézzen egy képet a rendszerleíró adatbázisához vezető útvonal segítségével. Te tudod használni localhost ha magában a rendszerleíró szerveren dolgozik. Ezután képesnek kell lennie arra, hogy a képet felemelje a rendszerleíró adatbázisba.

docker tag my-image localhost:5000/my-image
docker push localhost:5000/my-image

A kép mostantól elérhető lesz a nyilvántartásban. Ha megvizsgálja a data mappában láthatja a képet alkotó rétegeket. Használatával lehúzhatta egy másik gépről docker pull. Cserélje ki localhost a nyilvántartást futtató kiszolgáló hálózati címével.

A hitelesítés beállítása

A rendszerleíró adatbázis jelenleg nincs biztonságban. Bárki húzhat és tolhat képeket! Oldjuk meg ezt hitelesítés beállításával. A konfigurálás után használnia kell docker login mielőtt kapcsolatba léphet a rendszerleíró adatbázissal.

A Docker Registry alapértelmezett hitelesítési megközelítése a HTTP alap hitelesítést használja. Létre kell hoznia egy htpasswd fájl – ezt a legjobban a apache2-utils.

sudo apt install apache2-utils
mkdir auth
htpasswd -Bc auth/.htpasswd my-username

Ez létrehoz egy hitelesítési fájlt a felhasználó számára my-username. A rendszer kéri a jelszó megadását. A htpasswd A fájl ezután a munkakönyvtárba kerül beírásra auth/.htpasswd.

Következő frissítse a docker-compose.yml a hitelesítési rendszer konfigurálásához. Meg kell adnia a használt hitelesítés típusát és az elérési útvonalát htpasswd fájl. Ezt új kötetként kell felszerelni.

version: "3"
services:
  registry:
      image: registry:2
      ports:
        - 5000:5000
      environment:
        - REGISTRY_AUTH: htpasswd
        - REGISTRY_AUTH_HTPASSWD_REALM: Registry Realm
        - REGISTRY_AUTH_HTPASSWD_PATH: /auth/.htpasswd
        - REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY: /data
      restart: unless-stopped
      volumes:
        - ./auth:/auth
        - ./data:/data

Fuss docker-compose up -d --force-recreate a futó rendszerleíró tároló újrateremtéséhez az új konfiguráció használatával. Meg kell találnia, hogy a Docker parancssori felület most nem hajlandó kommunikálni a rendszerleíró adatbázissal.

A hozzáférés visszaállításához futtassa docker login localhost:5000. Be kell állítania a beállításjegyzék URI-t, ha nem ugyanazon a gépen futtatja a Dockert. A Docker kéri, hogy adja meg felhasználónevét és jelszavát. Használja a beállított értékeket a .htpasswd fájl.

Miután a hitelesítés sikeres volt, újra elkezdheti a képeket tolni és húzni. A Docker gyorsítótárba helyezi a hitelesítő adatait, így addig nem kell megismételnie a hitelesítést docker logout.

SSL beállítása

Hozzá kell adnia egy SSL-tanúsítványt a legalapvetőbb kapcsolatok kivételével localhost. SSL-tanúsítványt hozzáadhat a nyilvántartáshoz, ha a tanúsítványt kötetbe illeszti, és további környezeti változókat állít be. Általában frissítenie kell a port konfigurációját, hogy a rendszerleíró adatbázis az alapértelmezett HTTPS portot, a 443-at hallgassa.

version: "3"
services:
  registry:
      image: registry:2
      ports:
        - 443:5000
      environment:
        - REGISTRY_AUTH: htpasswd
        - REGISTRY_AUTH_HTPASSWD_REALM: Registry Realm
        - REGISTRY_AUTH_HTPASSWD_PATH: /auth/.htpasswd
        - REGISTRY_HTTP_ADDR: 0.0.0.0:443
        - REGISTRY_HTTP_TLS_CERTIFICATE=/certs/cert.crt
        - REGISTRY_HTTP_TLS_KEY=/certs/cert.key
        - REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY: /data
      restart: unless-stopped
      volumes:
        - ./auth:/auth
        - ./certs:/certs
        - ./data:/data

Adja hozzá a tanúsítványfájlokat ide: certs majd indítsa újra a rendszerleíró adatbázist. A HTTPS támogatással vissza kell térnie a mellékelt tanúsítványfájl segítségével.

SSL a LetsEncrypt segítségével

A rendszerleíró adatbázis-kiszolgáló beépített támogatást nyújt a Let’s Encrypt programhoz. Ez lehetővé teszi az SSL-tanúsítványok automatikus létrehozását és megújítását. A Let’s Encrypt használatához te kell nyilvánosan tegye nyilvántartását a 443-as portra.

Állítsa be a REGISTRY_HTTP_TLS_LETSENCRYPT_EMAIL és REGISTRY_HTTP_TLS_LETSENCRYPT_HOSTS környezeti változók a TLS támogatás hozzáadásához a rendszerleíró adatbázisához. A Let’s Encrypt az e-mail címet fogja használni az SSL-tanúsítványok kapcsolatfelvevőjeként.

version: "3"
services:
  registry:
      image: registry:2
      ports:
        - 443:5000
      environment:
        - REGISTRY_AUTH: htpasswd
        - REGISTRY_AUTH_HTPASSWD_REALM: Registry Realm
        - REGISTRY_AUTH_HTPASSWD_PATH: /auth/.htpasswd
        - REGISTRY_HTTP_TLS_LETSENCRYPT_EMAIL: example@example.com
        - REGISTRY_HTTP_TLS_LETSENCRYPT_HOSTS: [my-registry.com]
        - REGISTRY_STORAGE_FILESYSTEM_ROOTDIRECTORY: /data
      restart: unless-stopped
      volumes:
        - ./auth:/auth
        - ./certs:/certs
        - ./data:/data

Hozza létre újra a tartályt docker-compose up -d --force-recreate a változás alkalmazásához. A rendszerleíró adatbázis a Let’s Encrypt használatával SSL-tanúsítványt szerez a megadott tartományokhoz. Néhány percbe telhet, amíg a tanúsítvány elérhetővé válik.

A telepítés egyéb módjai

A docker-compose használatával a HTTP Basic Auth és a Let’s Encrypt a privát tároló-nyilvántartás futtatásának legegyszerűbb módja. Vannak más lehetőségek is, különösen, ha fejlettebb hozzáférés-vezérlést szeretne.

Az alap hitelesítés használata nem terjed túl jó néhány felhasználónál. Alternatív megoldásként a szerver támogatja a delegált hitelesítési rutin amely külső token szerverekre támaszkodik. Ez olyan esetekre készült, ahol szoros integrációra van szükség a szervezeti beléptető rendszerekkel.

A rendszerleíró adatbázis-kiszolgáló nem hajtja végre a token-hitelesítést. Olyan projektek, mint docker_auth próbálja meg hozzáadni ezt a hiányzó darabot, egy teljes értékű hitelesítési rendszert biztosítva, amely a fő nyilvántartás mellett telepíthető.

Az alternatív projektek célja, hogy megkönnyítsék a rendszerleíró adatbázis kezelését, anélkül, hogy gyakorlati terminálparancsokra lenne szükség. Portus egy SUSE projekt, amely webes felületet, valamint saját felhasználói hitelesítési rendszert biztosít.

[ad_2]
Source link


67 Views 0 Ratings Rate it