„CoreOS“ sistemoje nustatykite savo „Docker“ registrą

„CoreOS“ sistemoje nustatykite savo „Docker“ registrą

Visi žinome ir mėgstame „Docker“ – platformą, leidžiančią kurti, valdyti ir platinti programų konteinerius keliuose įrenginiuose. „Docker Inc.“ teikia paslaugą, skirtą atvirojo kodo konteineriams, kuriuos reikia atsisiųsti (arba ištraukti), priglobti, pavyzdžiui, „git“ saugyklą, vadinamą „Docker registru“. Pagalvokite apie tai kaip apie „GitHub“, skirtą „Docker“ konteineriams.

Bet ką daryti, jei norite priglobti savo registrą, atskirtą nuo viešojo? Na, „Docker Inc.“ atidarė savo registro programą „GitHub“.

Ši instrukcija padės jums nustatyti privatų „Docker“ registrą naudojant „CoreOS“ naujame VPS.

CoreOS + Docker

Nepraleisime daug laiko aiškindami, ką tiksliai gali padaryti „Docker“ ir „CoreOS“, nes tai nepatenka į šios mokymo programos taikymo sritį. Iš esmės „CoreOS“ sukurta didžiulėms serverių grupėms, ji yra maža, greita ir automatiškai gauna reguliarius saugos atnaujinimus. Jo šakninė failų sistema taip pat yra tik skaitoma, tai reiškia, kad turite naudoti „Docker“, kad paleistumėte bet kokią programinę įrangą, kuri nėra įtraukta į bazinį diegimą.

Dėl to „Core OS“ yra puiki „Docker“ prieglobos sistema!

Ištraukite ir paleiskite naujausią registrą

„Docker Inc.“ pateikė registrą kaip aukščiausio lygio vaizdą, o tai reiškia, kad galime jį panaikinti naudodami paprastą:

docker pull registry

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

Aukščiausio lygio vaizdo pliusas taip pat reiškia, kad jis reguliariai palaikomas ir atnaujinamas.

Dabar išbandykime registrą. Mes galime sukurti naują konteinerį naudodami registro vaizdą:

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

Tiems, kurie nenaudojo Docker per daug, -pvėliavėlė reiškia PORT, tai reiškia , kad mes atskleidžiame 5000 prievadą iš konteinerio į 5000 prievadą.

-dVėliava reiškia daemon, tai sukels konteineris paleisti fone, o ne spausdinti išėjimo į dabartinę SSH sesijos, mes taip pat norime pavadinti šią pagrindinę bandymo indą, naudojant --namevariantą, kad mes galime lengvai valdyti jį vėliau.

Įsitikinkite, kad jūsų pagrindinis registro konteineris veikia naudojant docker ps. Išvestis turėtų atrodyti panašiai:

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

Be to, apsilankykite http://YOUR_IP:5000savo žiniatinklio naršyklėje ir turėtumėte gauti tokį pranešimą:

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

Dabar veikia jūsų (labai paprastas) konteinerio registras! Bet mes dar nebaigėme.

Galbūt norite, kad tai būtų privati ​​nuo smalsių akių, o gal saugokite savo vaizdus „Amazon S3“, o ne vietinėje saugykloje. Peržiūrėkime įvairias konfigūracijos parinktis kitame skyriuje.

Prieš eidami toliau, užmuškime bandomąjį konteinerį, kad nepatektume į nesuderinamus prievadus.

docker kill basic_registry

Registro konfigūracija

Yra du būdai, kaip galime perduoti konfigūraciją „Docker“ registrui. Vienas iš būdų yra perduoti aplinkos kintamuosius į naują konteinerį, o kitas – pridėti konfigūracijos failą.

Štai keletas įprastų konfigūravimo parinkčių, kurias naudosime:

  • loglevel- Minimalus informacijos kiekis, kurį reikia prisijungti prie konsolės. Numatytasis yra info.
  • standalone– Ar šis registras turėtų veikti savarankiškai? (Niekada neklausia viešajame registre.) Numatytoji reikšmė yra true.
  • index_endpoint– Jei ne atskiras, kokio kito indekso užklausą darysime? Numatytasis index.docker.io.
  • cacheir cache_lru- Parinktys, susijusios su Redis talpyklos naudojimu mažiems failams. Tai paliesime vėliau.
  • storage– Kokią saugyklos programą turėtume naudoti šiam serveriui? (Šiame vadove naudosime vietinį).
  • storage_path - Jei naudojate vietinę saugyklą, kokį katalogą turėtume naudoti failams laikyti?

Prieš pradėdami dirbti su konfigūracija, turime dirbti su baziniu failu. Failas iš „Docker“ registro saugyklos „GitHub“ veiks puikiai:

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

Failas turėtų būti sėkmingai išsaugotas naudojant tokią išvestį kaip:

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

Puiku! Dabar galime modifikuoti šį failą, kad jis atitiktų mūsų poreikius.

Vienintelė teksto rengyklė, kuri pateikiama kartu su „Core OS“, yra vim, bet nesijaudinkite, jei jos niekada anksčiau nenaudojote. Tai žingsnis po žingsnio paaiškins, ką redaguoti ir kaip tai padaryti.

vim config_sample.yml

Atidarę failą, paspauskite Iir apatiniame dešiniajame kampe turėtų būti rodomas: -- INSERT --įterpimo režimui. Naudodami rodyklių klavišus slinkite iki failo apačios, turėtumėte pamatyti skyrių, pažymėtą prod.

Mes pakeisime dvi eilutes, pakeitimai pateikti žemiau

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

Ką mes padarėme, tai pakeitėme prodkonfigūraciją, kad ji būtų gauta iš localsekcijos, o ne iš s3sekcijos. Tada perrašėme storage_pathnaudoti kelią /datanaujame konteineryje.

Kai patvirtinsite, kad visi pakeitimai yra teisingi, paspauskite , ESCkad išeitumėte iš įterpimo režimo ir įveskite tekstą :wq(tai reiškia, kad įrašykite pakeitimus į failą ir išeikite iš vim).

Dabar pervadinkime failą į tik config.yml

mv config_sample.yml config.yml

Redis talpyklos kaupimas (neprivaloma)

Jei norite naudoti redis, kad paspartintumėte sudėtinio rodinio registrą, tai taip paprasta, kaip iš viešojo registro išimti naują sudėtinį rodinį ir pridėti dar kelias konfigūracijos eilutes.

Pirmiausia ištraukite aukščiausio lygio Redis vaizdą:

docker pull redis

Kai vaizdas bus sėkmingai ištrauktas, galime jį paleisti ir pavadinti taip, kaip darėme su bandomuoju registru:

docker run -d --name registry-redis redis

Kadangi redis yra atmintyje, mums nereikia atlikti jo konfigūracijos, nes vėlesniais veiksmais susiesime jį su registro konteineriu.

Dar kartą įsitikinkite, kad jis veikia, naudodami 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

Dabar vėl atidaryti config.ymlpo vimir įveskite įterpti režimu kaip ir pirmą kartą, mes jį redagavo.

Po prodskyriumi pridėkite šias eilutes ir būtinai tinkamai įtraukėte. Šį kartą tik pridedame cacheir 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

Aplinkos kintamieji REDIS_PORT_6379_TCP_ADDRir REDIS_PORT_6379_TCP_PORTperduodami į registro konteinerį, kai susiejami su Redis konteineriu.

Dabar turite nustatyti „Redis“ konteinerį, kuris veiks kartu su jūsų registro konteineriu. Dabar kurkite registrą!

Konteinerio statyba

Turime visą konfigūraciją ir paruošėme, dabar turime sukurti tikrąjį registro konteinerį.

Ugnį iki vim Dockerfilesukurti naują Dockerfile. Įjunkite įterpimo režimą ir vykdykite toliau pateiktus pakeitimus.

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

Tai, ką padarėme aukščiau, iš esmės išplėtė registro vaizdą, kad jame būtų naudojamas mūsų konfigūracijos failas ir nustatymai. „Dockerfile“ yra kūrimo instrukcijų rinkinys, skirtas „Docker“ skaityti ir kurti. Jei norite sužinoti daugiau apie „Dockerfiles“ ir jų sintaksę, peržiūrėkite oficialią „Docker“ svetainės dokumentaciją.

Toliau turime sukurti konteinerį naudojimui.

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

Dabar mes pasiruošę bėgti!

Sukurkime savo prieglobos sistemos katalogą, kuris būtų įtrauktas į konteinerį kaip /datatomas.

mkdir registry-data

Dabar galime susukti naują konteinerį. Jei planuojate naudoti Redis talpyklą, naudokite toliau pateiktą 2-ąją komandą.

# 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

Norėdami įsitikinti, kad serveris veikia tinkamai, apsilankykite http://YOUR_IP:5000. Pamatysite šį pranešimą:

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

Atkreipkite dėmesį, kad (prod)mūsų konfigūracijos pakeitimai buvo sėkmingi!

Sukonfigūruokite vietinį „Docker“ klientą

Dabar, kai turime savo veikiantį registrą, norime, kad „Docker“ klientas vietiniuose kompiuteriuose pradėtų jį naudoti. Paprastai jūs naudojate komandą: docker login, bet mums reikia pridėti dar vieną prisijungimo komandos argumentą:

docker login YOUR_IP:5000

Įveskite vartotojo vardą ir slaptažodį (pagalvokite apie tai kaip naujos paskyros sukūrimą) ir nekreipkite dėmesio į pranešimą, kad turite jį suaktyvinti.

Tada ištraukime pradinį vaizdą ir nukelkime jį į savo saugyklą.

# 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

Jei viskas vyksta teisingai, galutinis pranešimas turėtų būti toks:

Pushing tag for rev [a9eb17255234] on 

Sveikiname! Jūs nustatėte savo docker saugyklą.

Kas toliau?

Štai keletas idėjų, kaip patobulinti naują privatų registrą:

  • Apverskite tarpinį serverį naudodami „Nginx“ arba „Apache“, kad prieš jį pateiktumėte papildomą apsaugą, pvz., paprastą HTTP autentifikavimą.
  • Gaukite domeną savo serveriui ir nustatykite jį, kad galėtumėte pasiekti savo registrą naudodami kažką panašaus į registry.mysite.com
  • Įsigykite (arba patys pasirašykite) SSL sertifikatą, kad padidintumėte apsaugą, jei konteineriuose yra neskelbtinos informacijos.

Štai kaip patikrinti „Hyper-V“ konteinerius „Windows 10 Insider“.

Štai kaip patikrinti „Hyper-V“ konteinerius „Windows 10 Insider“.

„Microsoft“ naujame tinklaraščio įraše paaiškino, kaip „Windows Insiders“ gali išbandyti „Hyper-V“ konteinerius „Windows 10“ – tai naujas virtualizacijos sprendimas, leidžiantis programoms veikti nepažeidžiant likusios operacinės sistemos.

Kaip įdiegti „Harbor“ „CentOS 7“.

Kaip įdiegti „Harbor“ „CentOS 7“.

„Harbour“ yra atvirojo kodo įmonės klasės registro serveris, kuriame saugomi ir platinami „Docker“ vaizdai. Harbour išplečia atvirojo kodo Docker Distribution b

Įdiekite Rancher OS per iPXE

Įdiekite Rancher OS per iPXE

Rancher OS yra labai lengvas Linux platinimas, sukurtas aplink Docker. Pati OS sveria apie 20 MB. Ši mokymo programa padės jums pradėti dirbti

„CoreOS“ sistemoje nustatykite savo „Docker“ registrą

„CoreOS“ sistemoje nustatykite savo „Docker“ registrą

Visi žinome ir mėgstame „Docker“ – platformą, leidžiančią kurti, valdyti ir platinti programų konteinerius keliuose įrenginiuose. „Docker Inc.“ teikia paslaugą t

„Docker-compose“ diegimas „CoreOS“.

„Docker-compose“ diegimas „CoreOS“.

Šiame straipsnyje paaiškinama, kaip „CoreOS“ įdiegti docker-compose. „CoreOS“ aplankas /usr/ yra nekintamas, todėl standartinis /usr/local/bin kelias nepasiekiamas.

Įdiekite „Rancher“ „CentOS 7“.

Įdiekite „Rancher“ „CentOS 7“.

Naudojate kitą sistemą? Įvadas Rancher yra atvirojo kodo platforma, skirta konteineriams paleisti ir privačių konteinerių paslaugai kurti. Rancher yra bazė

Įdiekite Docker CE Ubuntu 18.04

Įdiekite Docker CE Ubuntu 18.04

Įvadas „Docker“ yra programa, leidžianti diegti programas, kurios vykdomos kaip konteineriai. Jis buvo parašytas populiaria Go programavimo kalba

Sukurkite Docker Swarm Alpine Linux 3.9.0

Sukurkite Docker Swarm Alpine Linux 3.9.0

Įvadas Šiame vadove bus parodyta, kaip sukurti ir konfigūruoti Docker būrį naudojant kelis Alpine Linux 3.9.0 serverius ir Portainer. Prašome žinoti, kad

Įdiekite PHP programą naudodami „Docker-compose“.

Įdiekite PHP programą naudodami „Docker-compose“.

PHP programas paprastai sudaro žiniatinklio serveris, reliacinė duomenų bazių sistema ir pats kalbos vertėjas. Šioje pamokoje mes naudosime svertą

Apkrovos balansas su Docker

Apkrovos balansas su Docker

Kai naudojate žiniatinklio programą, paprastai norite maksimaliai išnaudoti savo išteklius, nereikės konvertuoti programinės įrangos į kelių gijų o

Įdiekite Node.js programą naudodami „Docker“.

Įdiekite Node.js programą naudodami „Docker“.

Šiame straipsnyje bus parodyta, kaip įdiegti „Node“ programą „Docker“ konteineryje. Pastaba: Šioje pamokoje daroma prielaida, kad įdiegėte ir perskaitėte „Docker“.

„Docker CE“ diegimas „CentOS 7“.

„Docker CE“ diegimas „CentOS 7“.

Docker konteinerio technologija leidžia paleisti programas konkrečioje ir izoliuotoje aplinkoje. „Docker Community Edition“ (CE) yra naujas „fre“ pavadinimas

Įdiekite „Kubernetes“ naudodami „Kubeadm“ „CentOS 7“.

Įdiekite „Kubernetes“ naudodami „Kubeadm“ „CentOS 7“.

Apžvalga Šis straipsnis skirtas padėti jums greitai sukurti ir paleisti Kubernetes klasterį su kubeadm. Šiame vadove bus naudojami du serveriai

„Docker“ diegimas „CentOS 7“.

„Docker“ diegimas „CentOS 7“.

Naudojate kitą sistemą? „Docker“ yra programa, leidžianti įdiegti programinę įrangą virtualiuose konteineriuose. Tai buvo parašyta Go programoje

„Docker CE“ diegimas „Debian 9“.

„Docker CE“ diegimas „Debian 9“.

Naudojate kitą sistemą? Įvadas Docker yra programa, leidžianti įdiegti programinę įrangą virtualiuose konteineriuose. Tai buvo parašyta G

Pradėkite naudotis „SQL Server 2017“ (MS-SQL) „CentOS 7“ su „Docker“.

Pradėkite naudotis „SQL Server 2017“ (MS-SQL) „CentOS 7“ su „Docker“.

Būtinos sąlygos Docker engine 1.8+. Mažiausiai 4 GB vietos diske. Mažiausiai 4 GB RAM. 1 veiksmas. Įdiekite Docker Norėdami įdiegti SQL-Server, Docker mus

Sticky Session with Docker Swarm (CE) Debian 9

Sticky Session with Docker Swarm (CE) Debian 9

Naudojate kitą sistemą? Įvadas Docker Swarm paverčia jūsų atskirus serverius kompiuterių grupe; palengvinantis mastelio keitimą, didelis prieinamumas ir

Du „Docker“ grafinio valdymo įrankiai: „DockerUI“ ir „Shipyard“.

Du „Docker“ grafinio valdymo įrankiai: „DockerUI“ ir „Shipyard“.

Naudodami „Vultr Docker“ programą galite lengvai įdiegti „Docker“ savo „Vultr“ serverio egzemplioriuje. Tuo tarpu galite palengvinti „Docker“ valdymo užduotį

Įdiekite „Rancher Server“ „RancherOS“.

Įdiekite „Rancher Server“ „RancherOS“.

Apžvalga RancherOS yra neįtikėtinai lengva operacinė sistema (tik apie 60 MB), kuri naudoja sistemos Docker demoną kaip PID 0 sistemos paslaugoms vykdyti.

Darbo su Kubernetes pradžia CentOS 7

Darbo su Kubernetes pradžia CentOS 7

„Kubernetes“ yra „Google“ sukurta atvirojo kodo platforma, skirta tvarkyti konteinerines programas serverių grupėje. Jis remiasi dešimtmečiu ir

Mašinų augimas: AI pritaikymas realiame pasaulyje

Mašinų augimas: AI pritaikymas realiame pasaulyje

Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.

DDOS atakos: trumpa apžvalga

DDOS atakos: trumpa apžvalga

Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Ar kada nors susimąstėte, kaip įsilaužėliai uždirba pinigų?

Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Revoliuciniai „Google“ išradimai, kurie palengvins jūsų gyvenimą.

Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Penktadienio esminiai dalykai: kas atsitiko AI varomiems automobiliams?

Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Technologinis išskirtinumas: tolima žmogaus civilizacijos ateitis?

Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.

Duomenų saugojimo raida – infografika

Duomenų saugojimo raida – infografika

Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Didžiųjų duomenų atskaitos architektūros sluoksnių funkcijos

Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.

6 nuostabūs išmaniųjų namų įrenginių privalumai

6 nuostabūs išmaniųjų namų įrenginių privalumai

Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

„macOS Catalina 10.15.4“ priedo atnaujinimas kelia daugiau problemų, nei sprendžia

Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį