A Harbor telepítése CentOS 7 rendszeren
A Harbor egy nyílt forráskódú, vállalati szintű rendszerleíró adatbázis-kiszolgáló, amely Docker-képfájlokat tárol és terjeszt. A Harbor kiterjeszti a nyílt forráskódú Docker Distribution b
Mindannyian ismerjük és szeretjük a Dockert, az alkalmazástárolók létrehozására, kezelésére és több gépen való terjesztésére szolgáló platformot. A Docker Inc. szolgáltatást nyújt a letölthető (vagy lehívható) nyílt forráskódú tárolók tárolására, mint egy „Docker Registry” néven ismert git-tárhely. Gondoljon úgy, mint egy GitHub Docker-tárolókhoz.
De mi van akkor, ha saját nyilvántartását szeretné tárolni a nyilvánostól elkülönítve? Nos, a Docker Inc. nyílt forráskódú rendszerleíró alkalmazását a GitHubon.
Ez az oktatóanyag végigvezeti Önt egy privát Docker-nyilvántartás beállításán a CoreOS használatával egy új VPS-en.
Nem fogunk sok időt tölteni azzal, hogy a Docker és a CoreOS pontosan mire képes, mivel ez kívül esik ennek az oktatóanyagnak a hatókörén. A CoreOS lényegében hatalmas szerverfürtökhöz készült, kicsi, gyors és rendszeres biztonsági frissítéseket kap automatikusan. A gyökérfájlrendszere is csak olvasható, ami azt jelenti, hogy a Dockert kell használnia minden olyan szoftver futtatásához, amelyet az alaptelepítés nem tartalmaz.
Ez teszi a Core OS-t tökéletes hosztrendszerré a Docker számára!
A Docker Inc. felső szintű képként biztosította a Registry-t, ami azt jelenti, hogy egy egyszerű művelettel le tudjuk húzni:
docker pull registry
This can take a few minutes depending on the connection speed.
A legfelső szintű kép plusz azt is jelenti, hogy rendszeres támogatást és frissítéseket kap.
Most teszteljük a rendszerleíró adatbázist. Létrehozhatunk egy új tárolót a rendszerleíró kép segítségével:
docker run -p 5000:5000 -d --name=basic_registry registry
Azok számára, akik nem használták túl sokat a Dockert, a -p
zászló a következőt jelenti PORT
, ami azt jelenti, hogy a tároló 5000-es portját a tároló 5000-es portjára tesszük.
A -d
jelző a következőt jelenti: daemon
ez azt eredményezi, hogy a konténer a háttérben fut, és nem nyomtatja ki a kimenetet az aktuális SSH-munkamenetbe, ezt az alapvető teszttárolót is szeretnénk az --name
opció használatával elnevezni , hogy később könnyen kezelhessük.
Győződjön meg arról, hogy az alapvető beállításjegyzék-tároló a következővel fut docker ps
. A kimenetnek ehhez hasonlóan kell kinéznie:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
edfb54e4a8c4 registry:0.8.1 "/bin/sh -c 'exec do 7 seconds ago Up 6 seconds 0.0.0.0:5000->5000/tcp basic_registry
Ezenkívül látogasson http://YOUR_IP:5000
el webböngészőjében, és a következőhöz hasonló üzenetet kell kapnia:
"docker-registry server (dev) (v0.8.1)"
Notice the word
dev
in the parenthesis. This means that the server is currently running the dev config. We'll look over more configuration soon.
Most már saját (nagyon egyszerű) konténer-nyilvántartása fut! De még nem végeztünk.
Talán meg akarja őrizni a kíváncsiskodó szemek elől, vagy esetleg az Amazon S3-on tárolja a képeit a helyi tárhely helyett. Nézzük át a különféle konfigurációs lehetőségeket a következő részben.
Mielőtt továbblépnénk, öljük meg a tesztkonténert, hogy ne ütközzünk ütköző portokba.
docker kill basic_registry
Kétféleképpen adhatjuk át a konfigurációt a Docker Registry-nek. Az egyik módja a környezeti változók átadása egy új tárolónak, a másik pedig egy konfigurációs fájl hozzáadása.
Íme néhány gyakori konfigurációs lehetőség, amelyet használni fogunk:
loglevel
- A konzolra bejelentkezni kívánt információ minimális mennyisége. Az alapértelmezett a info
.standalone
- Ennek a nyilvántartónak önállóan kell cselekednie? (Soha nem kérdezi le a nyilvános nyilvántartást.) Az alapértelmezés a true
.index_endpoint
- Ha nem önálló, milyen más indexet fogunk lekérdezni? Alapértelmezett index.docker.io
.cache
és cache_lru
- A Redis gyorsítótár használatával kapcsolatos lehetőségek kis fájlok esetén, erre később térünk ki.storage
- Milyen háttértárat használjunk ehhez a szerverhez? (Ebben az oktatóanyagban a helyi nyelvet fogjuk használni).storage_path
- Ha helyi tárhelyet használunk, milyen könyvtárban tároljuk a fájlokat?Mielőtt elkezdenénk a konfigurációval dolgozni, szükségünk van egy alapfájlra. A GitHubon található Docker Registry tárolóból származó fájl jól fog működni:
wget https://raw.githubusercontent.com/docker/docker-registry/0.8/config/config_sample.yml
A fájlt sikeresen kell menteni egy olyan kimenettel, mint például:
2014-09-14 14:09:01 (156 MB/s) - 'config_sample.yml' saved [5384/5384]
Nagy! Most már módosíthatjuk ezt a fájlt igényeinknek megfelelően.
Az egyetlen szövegszerkesztő, amely a Core OS-hez tartozik vim
, de ne aggódjon, ha még soha nem használta, ez lépésről lépésre elmagyarázza, mit és hogyan kell szerkeszteni.
vim config_sample.yml
Miután megnyitotta a fájlt, nyomja meg a gombot, I
és a jobb alsó sarokban meg kell jelennie: -- INSERT --
beszúrási módhoz. Görgessen le egészen a fájl aljáig a nyílbillentyűkkel, és egy címkével ellátott részt kell látnia prod
.
A két sort módosítani fogjuk, a változások alább láthatók
prod:
<<: *local
storage_path: _env:STORAGE_PATH:/data
Amit tettünk, megváltoztattuk a prod
konfigurációt úgy, hogy a local
szakasz helyett a s3
szakaszból származzon. Ezután felülírtuk az új tárolón belüli storage_path
elérési utat használva /data
.
Miután meggyőződött arról, hogy az összes módosítás helyes, nyomja meg ESC
a gombot a beszúrási módból való kilépéshez, és írja be :wq
(ez azt jelenti, hogy írja be a módosításokat a fájlba, és lépjen ki a vim-ből.)
Most nevezzük át a fájlt, hogy csak config.yml
mv config_sample.yml config.yml
Ha a redis segítségével szeretné felgyorsítani a tároló-nyilvántartást, akkor egyszerűen húzzon ki egy új tárolót a nyilvános nyilvántartásból, és adjon hozzá néhány további konfigurációs sort.
Először húzza ki a Redis legfelső szintű képét:
docker pull redis
Ha a kép sikeresen le van húzva, futtathatjuk és elnevezhetjük, ugyanúgy, mint a tesztnyilvántartással:
docker run -d --name registry-redis redis
Mivel a redis a memóriában van, nem kell konfigurálnunk, mivel a későbbi lépésekben összekapcsoljuk a regisztrációs tárolóval.
Még egyszer győződjön meg arról, hogy fut, a következő használatával docker ps
:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
54f65641eccf redis:2.8 "redis-server" 2 seconds ago Up 1 seconds 6379/tcp registry-redis
Most nyissa meg újra a beillesztést config.yml
, vim
és lépjen be a beszúrási módba, ugyanúgy, mint az első alkalommal, amikor szerkesztette.
Adja hozzá a következő sorokat a prod
szakasz alá, ügyelve a megfelelő behúzásra. Ezúttal csak a cache
és cache_lru
.
cache:
host: _env:REDIS_PORT_6379_TCP_ADDR
port: _env:REDIS_PORT_6379_TCP_PORT
db: 0
cache_lru:
host: _env:REDIS_PORT_6379_TCP_ADDR
port: _env:REDIS_PORT_6379_TCP_PORT
db: 1
A környezeti változók REDIS_PORT_6379_TCP_ADDR
és REDIS_PORT_6379_TCP_PORT
átadásra kerül a regisztrációs tartályból kapcsolódással Redis tartályba.
Ezzel beállított egy Redis-tárolót, amely kéz a kézben fog működni a rendszerleíró adatbázis-tárolóval. Most pedig térjünk rá a nyilvántartás felépítésére!
Megvan az összes konfiguráció, és készen állunk, most meg kell építenünk a tényleges regisztrációs tárolót.
Tűz ki vim Dockerfile
, hogy hozzon létre egy új Dockerfile. Lépjen be a beszúrási módba, és kövesse az alábbi módosításokat.
FROM registry:latest
# Add the custom configuration file we made
ADD ./config.yml /docker-registry/config/config.yml
# Create the data directory
RUN mkdir /data
# Set the configuration file to config.yml
env DOCKER_REGISTRY_CONFIG /docker-registry/config/config.yml
# Make sure we use the prod configuration settings
env SETTINGS_FLAVOR prod
Amit fent tettünk, lényegében kiterjesztettük a rendszerleíró adatbázis képét, hogy az a konfigurációs fájlunkat és beállításainkat használja. A Dockerfile egy összeállítási utasításkészlet a Docker számára, hogy elolvassa és összeállítsa. Ha többet szeretne megtudni a Dockerfilesről és szintaxisukról, tekintse meg a hivatalos Docker webhely dokumentációját.
Ezután meg kell építenünk a tárolót a használatra.
docker build -t my_registry .
Sending build context to Docker daemon 13.82 kB
Sending build context to Docker daemon
Step 0 : FROM registry
---> e42d15ec8417
Step 1 : ADD ./config.yml /docker-registry/config/config.yml
---> 4339f026d459
Removing intermediate container 2d5138fbcd34
Step 2 : RUN mkdir /data
---> Running in a090f0bdbfd1
---> 8eb27ba6e12a
Removing intermediate container a090f0bdbfd1
Step 3 : env DOCKER_REGISTRY_CONFIG /docker-registry/config/config.yml
---> Running in 565b5bfb2b22
---> 914462e46dc0
Removing intermediate container 565b5bfb2b22
Step 4 : env SETTINGS_FLAVOR prod
---> Running in 31a92847b851
---> b5949575c374
Removing intermediate container 31a92847b851
Successfully built b5949575c374
Most futásra készen állunk!
Hozzon létre egy könyvtárat a gazdagép rendszerünkön, amelyet /data
kötetként a tárolóba kell csatlakoztatni .
mkdir registry-data
Most felpörgethetünk egy új tartályt. Ha a Redis gyorsítótár használatát tervezi, használja az alábbi 2. parancsot.
# For a non-Redis cache registry
docker run -d -p 5000:5000 -v /home/core/registry-data:/data --name=private_reg my_registry
# For a Redis cached registry (Must have followed Redis Caching section above)
docker run -d -p 5000:5000 -v /home/core/registry-data:/data --name=private_reg --link registry-redis:redis my_registry
A szerver megfelelő működésének biztosításához keresse fel a webhelyet http://YOUR_IP:5000
. A következő üzenetet fogja látni:
"docker-registry server (prod) (v0.8.1)"
Figyelje meg, (prod)
hogy a konfigurációs módosításaink sikeresek voltak!
Most, hogy saját futó rendszerleíró adatbázisunk van, szeretnénk, ha a helyi gépeinken lévő Docker-kliens elkezdené használni. Általában a következő parancsot docker login
kell használni:
docker login YOUR_IP:5000
Adjon meg egy felhasználónevet és jelszót (gondoljon erre úgy, mint egy új fiók létrehozására), és hagyja figyelmen kívül azt az üzenetet, amely szerint aktiválnia kell.
Ezután készítsünk egy stock képet, és toljuk fel a saját tárolónkba.
# Pull the busybox image from the public registry
docker pull busybox
# Tag it with our IP/URL
docker tag busybox YOUR_IP:5000/busybox
# Push it to our newly made registry
docker push YOUR_IP:5000/busybox
Ha minden megfelelően működik, a végső üzenetnek a következőképpen kell lennie:
Pushing tag for rev [a9eb17255234] on
Gratulálunk! Ön beállította saját docker tárolóját.
Íme néhány ötlet az új privát regisztrációs adatbázis javításához:
A Harbor egy nyílt forráskódú, vállalati szintű rendszerleíró adatbázis-kiszolgáló, amely Docker-képfájlokat tárol és terjeszt. A Harbor kiterjeszti a nyílt forráskódú Docker Distribution b
Mindannyian ismerjük és szeretjük a Dockert, az alkalmazástárolók létrehozására, kezelésére és több gépen való terjesztésére szolgáló platformot. A Docker Inc. szolgáltatást nyújt t
Ez a cikk a docker-compose telepítését ismerteti CoreOS rendszeren. A CoreOS rendszerben az /usr/ mappa megváltoztathatatlan, így a szabványos /usr/local/bin elérési út nem érhető el
Más rendszert használ? Bevezetés A Rancher egy nyílt forráskódú platform konténerek futtatására és privát konténerszolgáltatás kiépítésére. Rancher alap
A PHP-alkalmazások általában egy webszerverből, egy relációs adatbázis-rendszerből és magából a nyelvi értelmezőből állnak. Ebben az oktatóanyagban hasznosak leszünk
Webalkalmazás futtatásakor általában a legtöbbet szeretné kihozni az erőforrásaiból anélkül, hogy a szoftverét többszálú o-ra kell konvertálnia.
Ez a cikk bemutatja, hogyan telepítheti a Node alkalmazást egy Docker-tárolóban. Megjegyzés: Ez az oktatóanyag feltételezi, hogy telepítette és olvasta a Dockert
Áttekintés Ennek a cikknek az a célja, hogy segítsen egy Kubernetes-fürtöt a kubeadm segítségével pillanatok alatt üzembe helyezni. Ez az útmutató két kiszolgáló üzembe helyezését tartalmazza
Más rendszert használ? Bevezetés A Docker egy olyan alkalmazás, amely lehetővé teszi a szoftverek virtuális konténereken belüli telepítését. A G-ben volt írva
Előfeltételek Docker engine 1.8+. Minimum 4 GB lemezterület. Minimum 4 GB RAM. 1. lépés: A Docker telepítése Az SQL-Server telepítéséhez a Docker mus
Más rendszert használ? Bevezetés A Docker Swarm az egyes szervereket számítógépek fürtjévé alakítja; méretezés megkönnyítése, magas rendelkezésre állás an
A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.
Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.
Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.
Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.
Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…
Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.
Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.
Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.
Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.
Az Apple a közelmúltban kiadott egy kiegészítést a macOS Catalina 10.15.4-hez a problémák megoldására, de úgy tűnik, hogy a frissítés több problémát okoz, ami a Mac gépek blokkolásához vezet. További információért olvassa el ezt a cikket