Seadistage CoreOS-is oma Dockeri register

Seadistage CoreOS-is oma Dockeri register

Me kõik teame ja armastame Dockerit – platvormi rakenduste konteinerite loomiseks, haldamiseks ja levitamiseks mitme masina vahel. Docker Inc. pakub teenust avatud lähtekoodiga konteinerite majutamiseks, mida saab alla laadida (või tõmmata), nagu git-hoidla, mida nimetatakse Dockeri registriks. Mõelge sellele nagu GitHub Dockeri konteinerite jaoks.

Aga mis siis, kui soovite majutada oma registrit avalikust eraldi? Noh, Docker Inc. on GitHubis oma registrirakenduse avatud lähtekoodiga hankinud.

See õpetus juhendab teid privaatse Dockeri registri seadistamise protsessis CoreOS-i abil uues VPS-is.

CoreOS + Docker

Me ei kuluta palju aega sellele, et täpselt uurida, mida Docker ja CoreOS teha saavad, kuna see jääb selle õpetuse raamest välja. Sisuliselt on CoreOS mõeldud massiivsetele serveriklastritele, see on väike, kiire ja saab regulaarselt turvavärskendusi automaatselt. Selle juurfailisüsteem on samuti kirjutuskaitstud, mis tähendab, et peate kasutama Dockerit mis tahes tarkvara käivitamiseks, mis pole põhiinstalliga kaasas.

See muudab Core OS-i Dockeri jaoks ideaalseks hostsüsteemiks!

Uusima registri tõmbamine ja käivitamine

Docker Inc. on andnud registri tipptasemel pildina, mis tähendab, et saame selle alla tõmmata lihtsa:

docker pull registry

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

Tipptaseme pildi pluss tähendab ka seda, et see saab regulaarselt tuge ja värskendusi.

Nüüd testime registrit. Registripildi abil saame luua uue konteineri:

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

Neile, kes pole Dockerit liiga palju kasutanud, -ptähistab lipp , mis tähendab PORT, et me paljastame konteineri pordi 5000 hosti pordile 5000.

-dLipu tähistab daemon, see põhjustab mahuti töötamine taustal, mitte printida väljundi praeguse SSH sessiooni tahame selle nime Põhiline katse konteiner kasutades --namevõimalust, nii et me saame kergesti hallata seda hiljem.

Veenduge, et teie põhiregistri konteiner töötab docker ps. Väljund peaks välja nägema sarnane:

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

Külastage http://YOUR_IP:5000ka oma veebibrauseris ja peaksite saama järgmise sõnumi:

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

Nüüd töötab teil oma (väga lihtne) konteineri register! Kuid me pole veel lõpetanud.

Võib-olla soovite hoida seda privaatselt võõraste pilkude eest või salvestada oma pilte kohaliku salvestusruumi asemel Amazon S3-sse. Vaatame järgmises jaotises erinevaid konfiguratsioonivalikuid.

Enne kui edasi liigume, tapame testkonteineri, et mitte sattuda vastuolulistesse portidesse.

docker kill basic_registry

Registri konfiguratsioon

Konfiguratsiooni saab Dockeri registrisse edastada kahel viisil. Üks võimalus on keskkonnamuutujate edastamine uude konteinerisse ja teine ​​on konfiguratsioonifaili lisamine.

Siin on mõned levinumad konfiguratsioonisuvandid, mida me kasutame.

  • loglevel- Konsooli logimiseks vajalik minimaalne teabe hulk. Vaikimisi on info.
  • standalone- Kas see register peaks tegutsema iseseisvalt? (Ei tee kunagi päringuid avalikust registrist.) Vaikimisi on true.
  • index_endpoint- Kui mitte eraldiseisvat indeksit, siis millist muud indeksit me päringuid teeme? Vaikimisi index.docker.io.
  • cacheja cache_lru- valikud, mis on seotud Redise vahemälu kasutamisega väikeste failide jaoks, puudutame seda hiljem.
  • storage- Millist salvestusruumi taustaprogrammi peaksime selle serveri jaoks kasutama? (Selles õpetuses kasutame kohalikku).
  • storage_path - Kui kasutate kohalikku salvestusruumi, siis millist kataloogi peaksime failide hoidmiseks kasutama?

Enne konfiguratsiooniga töötamist vajame töötamiseks baasfaili. GitHubi Dockeri registrihoidlast pärit fail töötab hästi:

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

Fail peaks edukalt salvestatud sellise väljundiga nagu:

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

Suurepärane! Nüüd saame seda faili oma vajadustele vastavaks muuta.

Ainus Core OS-iga kaasas olev tekstiredaktor on vim, kuid ärge muretsege, kui te pole seda kunagi varem kasutanud. See selgitab samm-sammult, mida ja kuidas redigeerida.

vim config_sample.yml

Kui olete faili avanud, vajutage nuppu Ija paremas alanurgas peaks kuvama: -- INSERT --sisestusrežiimi jaoks. Kerige nooleklahvide abil faili lõpuni, peaksite nägema jaotist sildiga prod.

Muudame kahte rida, muudatused on allpool

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

Oleme muutnud prodkonfiguratsiooni nii, et see tuletaks localjaotisest jaotise asemel s3. Seejärel kirjutasime uue konteineri sees oleva storage_pathtee kasutamiseks üle /data.

Kui olete kinnitanud, et kõik muudatused on õiged, vajutage ESCsisestusrežiimist väljumiseks ja tippige :wq(see tähendab, et kirjutage muudatused faili ja sulgege vim.)

Nüüd nimetame faili ümber lihtsalt config.yml

mv config_sample.yml config.yml

Redis vahemällu salvestamine (valikuline)

Kui soovite konteineriregistri kiirendamiseks kasutada redis't, on see sama lihtne kui tõmmata avalikust registrist uus konteiner ja lisada veel paar konfiguratsioonirida.

Esmalt tõmmake Redise ülataseme pilt:

docker pull redis

Kui pilt on edukalt tõmmatud, saame selle käivitada ja anda sellele nime nagu testregistri puhul:

docker run -d --name registry-redis redis

Kuna redis on mälus, ei pea me selle jaoks konfigureerima, kuna lingime selle hilisemates sammudes registrikonteineriga.

Veel kord veenduge, et see töötab, kasutades 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

Nüüd uuesti avada config.ymlin vimja sisestage sisestada režiim nagu esimene kord, kui me muuta seda.

Lisage prodjaotise alla järgmised read , tehes kindlasti õige taande. Seekord lisame ainult cacheja 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

Keskkonnamuutujad REDIS_PORT_6379_TCP_ADDRja REDIS_PORT_6379_TCP_PORTedastatakse Redise konteineriga linkimisel registri konteinerisse.

Sellega olete nüüd seadistanud Redise konteineri, mis töötab käsikäes teie registrikonteineriga. Nüüd registri loomise juurde!

Konteineri ehitamine

Meil on kõik konfiguratsioonid seatud ja valmis, nüüd peame koostama tegeliku registrikonteineri.

Käivita vim Dockerfileuue Dockerfile. Sisenege lisamisrežiimi ja järgige allolevaid muudatusi.

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

See, mida me eespool tegime, on sisuliselt registripildi laiendamine, nii et see kasutaks meie konfiguratsioonifaili ja sätteid. Dockerfile on koostamisjuhiste komplekt, mida Docker saab lugeda ja ehitada. Kui soovite Dockerfailide ja nende süntaksi kohta rohkem teada saada, vaadake ametlikku Dockeri saidi dokumentatsiooni.

Järgmisena peame ehitama konteineri kasutamiseks.

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

Nüüd oleme valmis jooksma!

Teeme oma hostsüsteemis kataloogi, mis mahutisse /datamahuna paigaldatakse.

mkdir registry-data

Nüüd saame uue konteineri keerata. Kui kavatsete kasutada Redise vahemälu, kasutage allolevat teist käsku.

# 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

Serveri korrektse töötamise tagamiseks külastage http://YOUR_IP:5000. Näete järgmist teadet:

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

Pange tähele, et (prod)meie konfiguratsioonimuudatused olid edukad!

Konfigureerige oma kohalik Dockeri klient

Nüüd, kui meil on oma töötav register, tahame, et meie kohalikes masinates asuv Dockeri klient hakkaks seda kasutama. Tavaliselt kasutaksite käsku: docker login, kuid meie jaoks peame sisselogimiskäsule lisama veel ühe argumendi:

docker login YOUR_IP:5000

Sisestage kasutajanimi ja parool (mõelge sellele nagu uue konto loomine) ning ignoreerige sõnumit, mis ütleb, et peate selle aktiveerima.

Järgmisena tõmbame pildimaterjali ja lükkame selle üles meie enda hoidlasse.

# 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

Kui kõik liigub õigesti, peaks viimane teade olema järgmine:

Pushing tag for rev [a9eb17255234] on 

Palju õnne! Olete seadistanud oma dokkeri hoidla.

Mis järgmiseks?

Siin on mõned ideed, kuidas oma uut privaatset registrit täiustada.

  • Pöörake puhverserverit Nginxi või Apache'i abil, et asetada sellele lisaturvalisus, näiteks lihtne HTTP autentimine.
  • Hankige oma serverile domeen ja seadistage see, et pääseksite oma registrile juurde järgmiselt: registry.mysite.com
  • Ostke (või allkirjastage ise) SSL-sertifikaat, et lisada veelgi rohkem kaitset, kui teie konteinerid sisaldavad tundlikku teavet.

Siin on, kuidas kontrollida Hyper-V konteinereid Windows 10 Insideris

Siin on, kuidas kontrollida Hyper-V konteinereid Windows 10 Insideris

Microsoft selgitas uues ajaveebipostituses, kuidas Windows Insiders saab testida Hyper-V konteinereid Windows 10-s – uues virtualiseerimislahenduses, mis võimaldab rakendustel töötada ilma ülejäänud operatsioonisüsteemi mõjutamata.

Kuidas installida programmi CentOS 7 Harbor

Kuidas installida programmi CentOS 7 Harbor

Harbour on avatud lähtekoodiga ettevõtteklassi registriserver, mis salvestab ja levitab Dockeri pilte. Harbour laiendab avatud lähtekoodiga Docker Distribution b

Installige Rancher OS iPXE kaudu

Installige Rancher OS iPXE kaudu

Rancher OS on väga kerge Linuxi distributsioon, mis on üles ehitatud Dockeri ümber. OS ise kaalub umbes 20 MB. See õpetus aitab teid tööle panna

Seadistage CoreOS-is oma Dockeri register

Seadistage CoreOS-is oma Dockeri register

Me kõik teame ja armastame Dockerit – platvormi rakenduste konteinerite loomiseks, haldamiseks ja levitamiseks mitme masina vahel. Docker Inc pakub teenust t

Docker-compose installimine CoreOS-i

Docker-compose installimine CoreOS-i

See artikkel selgitab, kuidas installida CoreOS-i docker-compose. CoreOS-is on /usr/ kaust muutumatu, nii et standardne /usr/local/bin tee pole saadaval

Installige Rancher operatsioonisüsteemi CentOS 7

Installige Rancher operatsioonisüsteemi CentOS 7

Kas kasutate teistsugust süsteemi? Sissejuhatus Rancher on avatud lähtekoodiga platvorm konteinerite käitamiseks ja privaatkonteinerite teenuse loomiseks. Rancher on baas

Installige Docker CE versioonile Ubuntu 18.04

Installige Docker CE versioonile Ubuntu 18.04

Sissejuhatus Docker on rakendus, mis võimaldab juurutada programme, mida käitatakse konteineritena. See oli kirjutatud populaarses Go programmeerimiskeeles

Looge Alpine Linux 3.9.0 Docker Swarm

Looge Alpine Linux 3.9.0 Docker Swarm

Sissejuhatus See juhend näitab teile, kuidas luua ja konfigureerida Dockeri sülem, kasutades mitut Alpine Linux 3.9.0 serverit ja Portainerit. Palun olge teadlik sellest

PHP-rakenduse juurutamine Docker-composei abil

PHP-rakenduse juurutamine Docker-composei abil

PHP-rakendused koosnevad tavaliselt veebiserverist, relatsioonilisest andmebaasisüsteemist ja keeletõlkist endast. Selles õpetuses kasutame võimalust

Koormuse tasakaal Dockeriga

Koormuse tasakaal Dockeriga

Veebirakendust käivitades soovite tavaliselt oma ressurssidest maksimumi võtta, ilma et peaksite oma tarkvara mitmelõimeliseks muutma

Juurutage rakendus Node.js Dockeri abil

Juurutage rakendus Node.js Dockeri abil

See artikkel näitab teile, kuidas juurutada oma Node'i rakendust Dockeri konteineris. Märkus. See õpetus eeldab, et olete Dockeri installinud ja lugenud

Docker CE installimine opsüsteemi CentOS 7

Docker CE installimine opsüsteemi CentOS 7

Dockeri konteinertehnoloogia võimaldab teil käivitada rakendusi konkreetses ja isoleeritud keskkonnas. Docker Community Edition (CE) on frei uus nimi

Juurutage Kubernetes koos Kubeadmiga CentOS 7-s

Juurutage Kubernetes koos Kubeadmiga CentOS 7-s

Ülevaade Selle artikli eesmärk on aidata teil Kubernetese klastri kubeadmiga kiiresti tööle panna. Selles juhendis juurutatakse kaks serverit

Dockeri installimine opsüsteemi CentOS 7

Dockeri installimine opsüsteemi CentOS 7

Kas kasutate teistsugust süsteemi? Docker on rakendus, mis võimaldab juurutada tarkvara virtuaalsetes konteinerites. See oli kirjutatud programmis Go

Docker CE installimine Debian 9-le

Docker CE installimine Debian 9-le

Kas kasutate teistsugust süsteemi? Sissejuhatus Docker on rakendus, mis võimaldab juurutada tarkvara virtuaalsetes konteinerites. See oli kirjas G

Alustage SQL Server 2017 (MS-SQL) kasutamist operatsioonisüsteemis CentOS 7 koos Dockeriga

Alustage SQL Server 2017 (MS-SQL) kasutamist operatsioonisüsteemis CentOS 7 koos Dockeriga

Eeldused Dockeri mootor 1.8+. Vähemalt 4 GB kettaruumi. Vähemalt 4 GB muutmälu. Samm 1. Install Docker SQL-Serveri installimiseks tuleb Docker mus

Kleepuv seanss Docker Swarmiga (CE) Debian 9-s

Kleepuv seanss Docker Swarmiga (CE) Debian 9-s

Kas kasutate teistsugust süsteemi? Sissejuhatus Docker Swarm muudab teie üksikud serverid arvutite klastriks; skaleerimise hõlbustamine, kõrge saadavus an

Kaks Dockeri graafilist haldustööriista: DockerUI ja Shipyard

Kaks Dockeri graafilist haldustööriista: DockerUI ja Shipyard

Rakenduse Vultr Docker abil saate Dockeri oma Vultr serveri eksemplari hõlpsalt juurutada. Samal ajal saate hõlbustada Dockeri haldamist

Installige RancherOS-i Rancher Server

Installige RancherOS-i Rancher Server

Ülevaade RancherOS on uskumatult kerge operatsioonisüsteem (ainult umbes 60 MB), mis käitab süsteemiteenuste käitamiseks PID 0-na Dockeri deemonit.

Kubernetesiga alustamine CentOS 7-s

Kubernetesiga alustamine CentOS 7-s

Kubernetes on avatud lähtekoodiga platvorm, mille Google on välja töötanud konteinerite rakenduste haldamiseks serveriklastris. See põhineb kümnendil ja

Masinate tõus: AI tegelikud rakendused

Masinate tõus: AI tegelikud rakendused

Tehisintellekt ei ole tulevik, see on siin, olevikus. Sellest blogist loe, kuidas tehisintellekti rakendused on mõjutanud erinevaid sektoreid.

DDOS-i rünnakud: lühike ülevaade

DDOS-i rünnakud: lühike ülevaade

Kas olete ka DDOS-i rünnakute ohver ja olete segaduses ennetusmeetodite osas? Oma päringute lahendamiseks lugege seda artiklit.

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Kas olete kunagi mõelnud, kuidas häkkerid raha teenivad?

Võib-olla olete kuulnud, et häkkerid teenivad palju raha, kuid kas olete kunagi mõelnud, kuidas nad sellist raha teenivad? arutleme.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Googlei revolutsioonilised leiutised, mis muudavad teie elu lihtsaks.

Kas soovite näha Google'i revolutsioonilisi leiutisi ja seda, kuidas need leiutised muutsid iga inimese elu tänapäeval? Seejärel lugege ajaveebi, et näha Google'i leiutisi.

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Reede oluline osa: mis juhtus tehisintellektiga juhitavate autodega?

Isejuhtivate autode kontseptsioon tehisintellekti abil teedele jõudmiseks on meil juba mõnda aega unistus. Kuid vaatamata mitmele lubadusele pole neid kusagil näha. Lisateabe saamiseks lugege seda ajaveebi…

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Tehnoloogiline singulaarsus: inimtsivilisatsiooni kauge tulevik?

Kuna teadus areneb kiiresti, võttes üle suure osa meie jõupingutustest, suureneb ka oht, et allume seletamatule singulaarsusele. Loe, mida singulaarsus meie jaoks tähendada võiks.

Andmesalvestuse areng – infograafik

Andmesalvestuse areng – infograafik

Andmete säilitamise meetodid on arenenud alates andmete sünnist. See ajaveeb käsitleb infograafiku alusel andmete salvestamise arengut.

Suurandmete viitearhitektuuri kihtide funktsioonid

Suurandmete viitearhitektuuri kihtide funktsioonid

Lugege ajaveebi, et kõige lihtsamal viisil teada saada Big Data Architecture'i erinevaid kihte ja nende funktsioone.

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

6 hämmastavat eelist nutikate koduseadmete olemasolust meie elus

Selles digipõhises maailmas on nutikad koduseadmed muutunud elu oluliseks osaks. Siin on mõned nutikate koduseadmete hämmastavad eelised, mis muudavad meie elu elamisväärseks ja lihtsamaks.

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

macOS Catalina 10.15.4 täienduse värskendus põhjustab rohkem probleeme kui lahendamine

Hiljuti andis Apple välja macOS Catalina 10.15.4 täiendusvärskenduse probleemide lahendamiseks, kuid tundub, et värskendus põhjustab rohkem probleeme, mille tulemuseks on Maci masinate tellimine. Lisateabe saamiseks lugege seda artiklit