V systéme CoreOS si nastavte svoj vlastný register Docker

V systéme CoreOS si nastavte svoj vlastný register Docker

Všetci poznáme a milujeme Docker, platformu na vytváranie, správu a distribúciu kontajnerov aplikácií na viacerých počítačoch. Docker Inc. poskytuje službu na hosťovanie kontajnerov s otvoreným zdrojovým kódom, ktoré sa majú stiahnuť (alebo stiahnuť), ako je úložisko git známe ako „register Docker“. Predstavte si to ako GitHub pre kontajnery Docker.

Ale čo ak chcete hostiť svoj vlastný register oddelený od verejného? No, spoločnosť Docker Inc. sprístupnila svoju aplikáciu Registry na GitHub.

Tento tutoriál vás prevedie procesom nastavenia súkromného registra Docker pomocou CoreOS na novom VPS.

CoreOS + Docker

Nebudeme tráviť veľa času skúmaním toho, čo presne Docker a CoreOS dokážu, pretože to nie je v rámci tohto návodu. CoreOS je v podstate navrhnutý pre masívne serverové klastre, je malý, rýchly a automaticky dostáva pravidelné aktualizácie zabezpečenia. Jeho koreňový súborový systém je tiež iba na čítanie, čo znamená, že na spustenie akéhokoľvek softvéru, ktorý nie je súčasťou základnej inštalácie, musíte použiť Docker.

Vďaka tomu je Core OS dokonalým hostiteľským systémom pre Docker!

Stiahnutie a spustenie najnovšieho registra

Spoločnosť Docker Inc. poskytla register ako obraz najvyššej úrovne, čo znamená, že ho môžeme stiahnuť pomocou jednoduchého:

docker pull registry

This can take a few minutes depending on the connection speed.

Plus, že ide o obraz najvyššej úrovne, tiež znamená, že dostáva pravidelnú podporu a aktualizácie.

Teraz poďme otestovať register. Môžeme vytvoriť nový kontajner pomocou obrazu registra:

docker run -p 5000:5000 -d --name=basic_registry registry

Pre tých, ktorí nepoužívajú Docker príliš veľa, -ppríznak znamená PORT, čo znamená, že odhaľujeme port 5000 z kontajnera na hostiteľský port 5000.

-dVlajka znamená daemon, to spôsobí, že kontajner bežať na pozadí a nemožno tlačiť výstup do aktuálneho SSH, chceme tiež pomenovať základné testovaciu nádobu s použitím --namevoľby, takže ju môžeme ľahko spravovať neskôr.

Uistite sa, že váš základný kontajner databázy Registry beží pomocou docker ps. Výstup by mal vyzerať podobne ako:

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

Navštívte tiež http://YOUR_IP:5000vo svojom webovom prehliadači a mali by ste dostať správu ako je táto:

"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.

Teraz máte spustený svoj vlastný (veľmi základný) register kontajnerov! Ale ešte sme neskončili.

Možno to chcete udržať v súkromí pred zvedavými očami alebo možno ukladať svoje obrázky na Amazon S3 namiesto miestneho úložiska. V ďalšej časti si prejdeme rôzne možnosti konfigurácie.

Než sa pohneme ďalej, zabijme testovací kontajner, aby sme nenarazili na konfliktné porty.

docker kill basic_registry

Konfigurácia registra

Existujú dva spôsoby, ako môžeme odovzdať konfiguráciu do registra Docker. Jedným zo spôsobov je odovzdanie premenných prostredia do nového kontajnera a druhým je pridanie konfiguračného súboru.

Tu je niekoľko bežných možností konfigurácie, ktoré budeme používať:

  • loglevel- Minimálne množstvo informácií na prihlásenie do konzoly. Predvolená hodnota je info.
  • standalone- Mal by tento register konať sám? (Nikdy sa nepýta na verejný register.) Predvolená hodnota je true.
  • index_endpoint- Ak nie samostatný, aký ďalší index budeme dopytovať? Predvolené index.docker.io.
  • cachea cache_lru- Možnosti týkajúce sa používania vyrovnávacej pamäte Redis pre malé súbory, tomu sa budeme venovať neskôr.
  • storage- Aký backend úložiska by sme mali použiť pre tento server? (V tomto návode budeme používať lokálne).
  • storage_path - Ak používame lokálne úložisko, aký adresár by sme mali použiť na uchovávanie súborov?

Predtým, ako začneme pracovať s konfiguráciou, potrebujeme základný súbor, s ktorým budeme pracovať. Súbor z úložiska Docker Registry na GitHub bude fungovať dobre:

wget https://raw.githubusercontent.com/docker/docker-registry/0.8/config/config_sample.yml

Súbor by sa mal úspešne uložiť s výstupom, ako napríklad:

2014-09-14 14:09:01 (156 MB/s) - 'config_sample.yml' saved [5384/5384]

skvelé! Teraz môžeme tento súbor upraviť tak, aby vyhovoval našim potrebám.

Jediný textový editor, ktorý sa dodáva s Core OS, je vim, ale nebojte sa, ak ste ho nikdy predtým nepoužili, krok za krokom vám vysvetlí, čo a ako upraviť.

vim config_sample.yml

Keď máte súbor otvorený, stlačte Ia v pravom dolnom rohu by sa malo zobraziť: -- INSERT --pre režim vkladania. Prejdite úplne na koniec súboru pomocou klávesov so šípkami, mali by ste vidieť sekciu označenú prod.

Budeme meniť dva riadky, zmeny sú nižšie

prod:
    <<: *local
    storage_path: _env:STORAGE_PATH:/data

Urobili sme zmenu prodkonfigurácie tak, aby bola odvodená od localsekcie namiesto s3sekcie. Potom sme prepísali, storage_pathaby sme použili cestu /datavo vnútri novej nádoby.

Keď sa ubezpečíte, že všetky zmeny sú správne, stlačením ESCukončite režim vkladania a zadajte :wq(to znamená zapíšte zmeny do súboru a ukončite vim.)

Teraz premenujeme súbor na just config.yml

mv config_sample.yml config.yml

Ukladanie do vyrovnávacej pamäte Redis (voliteľné)

Ak by ste chceli použiť redis na zrýchlenie registra kontajnerov, je to také jednoduché, ako vytiahnuť nový kontajner z verejného registra a pridať niekoľko ďalších riadkov konfigurácie.

Najprv vytiahnite obrázok najvyššej úrovne Redis:

docker pull redis

Po úspešnom stiahnutí obrázka ho môžeme spustiť a pomenovať tak, ako sme to urobili s testovacím registrom:

docker run -d --name registry-redis redis

Pretože redis je v pamäti, nemusíme preň robiť žiadnu konfiguráciu, pretože ho prepojíme s kontajnerom registra v neskorších krokoch.

Ešte raz sa uistite, že beží pomocou 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

Teraz znovu otvoriť config.ymlv vima vstúpi vložka režimu, rovnako ako prvýkrát sme ho upravovať.

Pridajte nasledujúce riadky pod prodčasť, pričom dbajte na správne odsadenie. Tentokrát pridávame len cachea 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

Premenné prostredia REDIS_PORT_6379_TCP_ADDRa REDIS_PORT_6379_TCP_PORTsú odovzdané do kontajnera registra po prepojení s kontajnerom Redis.

Vďaka tomu máte teraz nastavený kontajner Redis, ktorý bude fungovať ruka v ruke s kontajnerom vášho registra. Teraz na budovanie registra!

Stavba kontajnera

Konfiguráciu máme nastavenú a pripravenú, teraz musíme vytvoriť skutočný kontajner registra.

Nahodiť vim Dockerfilevytvoriť novú Dockerfile. Zadajte režim vkladania a postupujte podľa nižšie uvedených úprav.

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

To, čo sme urobili vyššie, je v podstate rozšíriť obraz databázy Registry, takže bude používať náš konfiguračný súbor a nastavenia. Dockerfile je súbor pokynov na zostavenie, ktoré si Docker môže prečítať a zostaviť. Ak sa chcete dozvedieť viac o súboroch Docker a ich syntaxi, pozrite si oficiálnu dokumentáciu lokality Docker.

Ďalej musíme postaviť kontajner na použitie.

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

Teraz sme pripravení bežať!

Urobme adresár v našom hostiteľskom systéme, ktorý pripojíme do kontajnera ako /datazväzok.

mkdir registry-data

Teraz môžeme roztočiť novú nádobu. Ak plánujete používať vyrovnávaciu pamäť Redis, použite 2. príkaz nižšie.

# 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

Aby ste sa uistili, že váš server beží správne, navštívte stránku http://YOUR_IP:5000. Uvidíte nasledujúcu správu:

"docker-registry server (prod) (v0.8.1)"

Všimnite si, že (prod)naše konfiguračné zmeny boli úspešné!

Nakonfigurujte svojho lokálneho klienta Docker

Teraz, keď máme vlastný spustený register, chceme, aby ho klient Docker na našich lokálnych počítačoch začal používať. Zvyčajne by ste použili príkaz: docker login, ale pre naše použitie musíme k príkazu login pridať ešte jeden argument:

docker login YOUR_IP:5000

Zadajte používateľské meno a heslo (myslite si to ako vytvorenie nového účtu) a ignorujte správu, že ho musíte aktivovať.

Ďalej vytiahneme obrázok z akcie a posunieme ho do nášho vlastného úložiska.

# 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

Ak všetko funguje správne, konečná správa by mala vyzerať takto:

Pushing tag for rev [a9eb17255234] on 

Gratulujem! Nastavili ste svoje vlastné úložisko dockerov.

Čo bude ďalej?

Tu je niekoľko nápadov, ako zlepšiť svoj nový súkromný register:

  • Reverzný proxy pomocou Nginx alebo Apache, aby sa pred neho umiestnilo ďalšie zabezpečenie, ako napríklad jednoduché overenie HTTP.
  • Získajte doménu pre svoj server a nastavte ju tak, aby ste mohli pristupovať k svojmu registru pomocou niečoho ako: register.mysite.com
  • Zakúpte si (alebo svojpomocne podpíšte) certifikát SSL, aby ste získali ešte väčšiu ochranu, ak vaše kontajnery obsahujú citlivé informácie.

Tu je návod, ako skontrolovať kontajnery Hyper-V v programe Windows 10 Insider

Tu je návod, ako skontrolovať kontajnery Hyper-V v programe Windows 10 Insider

Spoločnosť Microsoft v novom blogovom príspevku vysvetlila, ako môžu Windows Insiders testovať kontajnery Hyper-V v systéme Windows 10, nové virtualizačné riešenie, ktoré umožňuje aplikáciám bežať bez ovplyvnenia zvyšku vášho operačného systému.

Ako nainštalovať Harbour na CentOS 7

Ako nainštalovať Harbour na CentOS 7

Harbor je open source server registrov podnikovej triedy, ktorý ukladá a distribuuje obrazy Docker. Harbor rozširuje open source Docker Distribution b

Nainštalujte Rancher OS cez iPXE

Nainštalujte Rancher OS cez iPXE

Rancher OS je veľmi ľahká distribúcia Linuxu postavená na Docker. Samotný OS váži okolo 20 MB. Tento tutoriál vám pomôže začať pracovať

V systéme CoreOS si nastavte svoj vlastný register Docker

V systéme CoreOS si nastavte svoj vlastný register Docker

Všetci poznáme a milujeme Docker, platformu na vytváranie, správu a distribúciu kontajnerov aplikácií na viacerých počítačoch. Docker Inc. poskytuje službu t

Inštalácia docker-compose na CoreOS

Inštalácia docker-compose na CoreOS

Tento článok vysvetľuje, ako nainštalovať docker-compose na CoreOS. V CoreOS je priečinok /usr/ nemenný, takže štandardná cesta /usr/local/bin nie je dostupná pre

Nainštalujte Rancher na CentOS 7

Nainštalujte Rancher na CentOS 7

Používate iný systém? Úvod Rancher je open source platforma na prevádzkovanie kontajnerov a budovanie súkromnej kontajnerovej služby. Rancher je základňa

Vytvorte Docker Swarm na Alpine Linux 3.9.0

Vytvorte Docker Swarm na Alpine Linux 3.9.0

Úvod Táto príručka vám ukáže, ako vytvoriť a nakonfigurovať Docker swarm pomocou viacerých serverov Alpine Linux 3.9.0 a Porttainer. Prosím, uvedomte si to

Nasaďte aplikáciu PHP pomocou Docker-compose

Nasaďte aplikáciu PHP pomocou Docker-compose

PHP aplikácie sa zvyčajne skladajú z webového servera, relačného databázového systému a samotného jazykového tlmočníka. V tomto návode budeme využívať páku

Vyváženie zaťaženia pomocou Docker

Vyváženie zaťaženia pomocou Docker

Pri spustení webovej aplikácie zvyčajne chcete vyťažiť maximum zo svojich zdrojov bez toho, aby ste museli konvertovať softvér na používanie viacerých vlákien alebo

Nasaďte aplikáciu Node.js pomocou Dockeru

Nasaďte aplikáciu Node.js pomocou Dockeru

Tento článok vám ukáže, ako nasadiť aplikáciu Node v kontajneri Docker. Poznámka: Tento tutoriál predpokladá, že máte nainštalovaný a prečítaný Docker

Inštalácia Docker CE na CentOS 7

Inštalácia Docker CE na CentOS 7

Technológia kontajnerov Docker vám umožňuje spúšťať aplikácie v špecifickom a izolovanom prostredí. Docker Community Edition (CE) je nový názov pre free

Nasaďte Kubernetes s Kubeadm na CentOS 7

Nasaďte Kubernetes s Kubeadm na CentOS 7

Prehľad Tento článok vám má pomôcť rýchlo spustiť a spustiť klaster Kubernetes s kubeadm. Táto príručka bude nasadzovať dva servery, na

Inštalácia Docker na CentOS 7

Inštalácia Docker na CentOS 7

Používate iný systém? Docker je aplikácia, ktorá umožňuje nasadenie softvéru v rámci virtuálnych kontajnerov. Bolo to napísané v programe Go

Inštalácia Docker CE na Debian 9

Inštalácia Docker CE na Debian 9

Používate iný systém? Úvod Docker je aplikácia, ktorá umožňuje nasadenie softvéru vo virtuálnych kontajneroch. Bolo to napísané v G

Začnite so serverom SQL Server 2017 (MS-SQL) na CentOS 7 s Dockerom

Začnite so serverom SQL Server 2017 (MS-SQL) na CentOS 7 s Dockerom

Predpoklady Docker engine 1.8+. Minimálne 4 GB miesta na disku. Minimálne 4 GB RAM. Krok 1. Inštalácia Docker Aby bolo možné nainštalovať SQL-Server, Docker musí

Sticky Session with Docker Swarm (CE) na Debiane 9

Sticky Session with Docker Swarm (CE) na Debiane 9

Používate iný systém? Úvod Docker Swarm premení vaše jednotlivé servery na zhluk počítačov; uľahčenie škálovania, vysoká dostupnosť an

Dva nástroje na správu grafiky Docker: DockerUI a Shipyard

Dva nástroje na správu grafiky Docker: DockerUI a Shipyard

Pomocou aplikácie Vultr Docker môžete jednoducho nasadiť Docker na inštanciu servera Vultr. Medzitým môžete uľahčiť správu Dockeru

Nainštalujte Rancher Server na RancherOS

Nainštalujte Rancher Server na RancherOS

Prehľad RancherOS je neuveriteľne ľahký operačný systém (iba asi 60 MB), ktorý spúšťa systémového démona Docker ako PID 0 na spustenie systémových služieb.

Začíname s Kubernetes na CentOS 7

Začíname s Kubernetes na CentOS 7

Kubernetes je platforma s otvoreným zdrojom vyvinutá spoločnosťou Google na správu kontajnerových aplikácií naprieč klastrom serverov. Stavia na desaťročí a

Nainštalujte Rancher na Ubuntu 16.04

Nainštalujte Rancher na Ubuntu 16.04

Používate iný systém? Úvod Rancher je open source platforma na prevádzkovanie kontajnerov a budovanie súkromnej kontajnerovej služby. Rancher je základňa

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umelá inteligencia nie je v budúcnosti, je tu priamo v súčasnosti V tomto blogu si prečítajte, ako aplikácie umelej inteligencie ovplyvnili rôzne sektory.

Útoky DDOS: Stručný prehľad

Útoky DDOS: Stručný prehľad

Ste aj vy obeťou DDOS útokov a máte zmätok ohľadom metód prevencie? Ak chcete vyriešiť svoje otázky, prečítajte si tento článok.

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Zaujímalo vás niekedy, ako hackeri zarábajú peniaze?

Možno ste už počuli, že hackeri zarábajú veľa peňazí, ale premýšľali ste niekedy nad tým, ako môžu zarábať také peniaze? poďme diskutovať.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Revolučné vynálezy od spoločnosti Google, ktoré vám uľahčia život.

Chcete vidieť revolučné vynálezy od Google a ako tieto vynálezy zmenili život každého dnešného človeka? Potom si prečítajte na blogu a pozrite si vynálezy spoločnosti Google.

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Piatok Essential: Čo sa stalo s autami poháňanými AI?

Koncept samoriadených áut vyraziť na cesty s pomocou umelej inteligencie je snom, ktorý máme už nejaký čas. Ale napriek niekoľkým prísľubom ich nikde nevidno. Prečítajte si tento blog a dozviete sa viac…

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Technologická singularita: vzdialená budúcnosť ľudskej civilizácie?

Ako sa veda vyvíja rýchlym tempom a preberá veľa nášho úsilia, zvyšuje sa aj riziko, že sa vystavíme nevysvetliteľnej singularite. Prečítajte si, čo pre nás môže znamenať singularita.

Vývoj ukladania dát – Infografika

Vývoj ukladania dát – Infografika

Spôsoby ukladania údajov sa môžu vyvíjať už od zrodu údajov. Tento blog sa zaoberá vývojom ukladania údajov na základe infografiky.

Funkcionality vrstiev referenčnej architektúry veľkých dát

Funkcionality vrstiev referenčnej architektúry veľkých dát

Prečítajte si blog, aby ste čo najjednoduchším spôsobom spoznali rôzne vrstvy architektúry veľkých dát a ich funkcie.

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

6 úžasných výhod toho, že máme v živote inteligentné domáce zariadenia

V tomto digitálnom svete sa inteligentné domáce zariadenia stali kľúčovou súčasťou života. Tu je niekoľko úžasných výhod inteligentných domácich zariadení o tom, ako robia náš život, ktorý stojí za to žiť, a ktorý zjednodušujú.

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Aktualizácia doplnku macOS Catalina 10.15.4 spôsobuje viac problémov, ako ich rieši

Spoločnosť Apple nedávno vydala doplnkovú aktualizáciu macOS Catalina 10.15.4 na opravu problémov, ale zdá sa, že táto aktualizácia spôsobuje ďalšie problémy, ktoré vedú k blokovaniu počítačov Mac. Prečítajte si tento článok a dozviete sa viac