Operētājsistēmā CoreOS iestatiet savu Docker reģistru

Operētājsistēmā CoreOS iestatiet savu Docker reģistru

Mēs visi zinām un mīlam Docker — platformu lietojumprogrammu konteineru izveidei, pārvaldībai un izplatīšanai vairākās iekārtās. Docker Inc. nodrošina lejupielādējamo (vai izvelkamo) atvērtā pirmkoda konteineru mitināšanas pakalpojumu, piemēram, git repozitoriju, kas pazīstams kā "Docker Registry". Padomājiet par to kā par GitHub Docker konteineriem.

Bet ko darīt, ja vēlaties mitināt savu reģistru, kas ir atdalīts no publiskā? Nu, Docker Inc. ir atvērta pirmkoda reģistra lietojumprogramma vietnē GitHub.

Šī apmācība palīdzēs jums izveidot privātu Docker reģistru, izmantojot CoreOS jaunā VPS.

CoreOS + Docker

Mēs netērēsim daudz laika, lai pārdomātu, ko tieši Docker un CoreOS spēj paveikt, jo tas neietilpst šīs apmācības ietvaros. Būtībā CoreOS ir paredzēts masveida serveru klasteriem, tas ir mazs, ātrs un automātiski saņem regulārus drošības atjauninājumus. Tās saknes failu sistēma ir arī tikai lasāma, kas nozīmē, ka jums ir jāizmanto Docker, lai palaistu jebkāda veida programmatūru, kas nav iekļauta pamata instalācijā.

Tas padara Core OS par ideālu Docker resursdatora sistēmu!

Jaunākā reģistra izvilkšana un palaišana

Docker Inc. ir nodrošinājis reģistru kā augstākā līmeņa attēlu, tas nozīmē, ka mēs varam to noņemt, veicot vienkāršu:

docker pull registry

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

Augstākā līmeņa attēla pluss nozīmē arī to, ka tas saņem regulāru atbalstu un atjauninājumus.

Tagad izmēģināsim reģistru. Mēs varam izveidot jaunu konteineru, izmantojot reģistra attēlu:

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

Tiem, kuri nav izmantojuši Docker pārāk daudz, -pkarodziņš apzīmē PORT, kas nozīmē, ka mēs pakļaujam 5000. portu no konteinera uz resursdatora portu 5000.

-dKarogs nozīmē daemon, tas radīs konteiners darboties fonā un nevar drukāt izejas uz pašreizējo SSH sesiju, mēs arī vēlamies nosaukt šo pamata testa konteineru, izmantojot --nameiespēju, lai mēs varētu viegli pārvaldīt to vēlāk.

Pārliecinieties, vai jūsu pamata reģistra konteiners darbojas, izmantojot docker ps. Izvadei vajadzētu izskatīties līdzīgi:

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

Apmeklējiet http://YOUR_IP:5000arī savā tīmekļa pārlūkprogrammā, un jums vajadzētu saņemt šādu ziņojumu:

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

Tagad jums darbojas savs (ļoti vienkāršs) konteineru reģistrs! Bet mēs vēl neesam pabeiguši.

Varbūt vēlaties to aizsargāt no ziņkārīgo acīm vai saglabāt attēlus vietnē Amazon S3, nevis vietējā krātuvē. Nākamajā sadaļā apskatīsim dažādas konfigurācijas opcijas.

Pirms ejam tālāk, nogalināsim testa konteineru, lai nesanāktu konfliktējošās pieslēgvietās.

docker kill basic_registry

Reģistra konfigurācija

Ir divi veidi, kā mēs varam nodot konfigurāciju Docker reģistram. Viens veids ir vides mainīgo nodošana jaunam konteineram, bet otrs ir konfigurācijas faila pievienošana.

Šeit ir dažas no izplatītākajām konfigurācijas opcijām, kuras mēs izmantosim:

  • loglevel- Minimālais informācijas apjoms, kas jāpiesakās konsolē. Noklusējums ir info.
  • standalone- Vai šim reģistram būtu jārīkojas pašam? (Nekad neprasa publisko reģistru.) Noklusējums ir true.
  • index_endpoint- Ja ne atsevišķs rādītājs, kādu citu indeksu mēs pieprasīsim? Noklusējums index.docker.io.
  • cacheun cache_lru- Opcijas, kas attiecas uz Redis kešatmiņas izmantošanu maziem failiem. Mēs to aplūkosim vēlāk.
  • storage- Kādu krātuves aizmugursistēmu vajadzētu izmantot šim serverim? (Šajā apmācībā mēs izmantosim vietējo).
  • storage_path - Ja izmantojat vietējo krātuvi, kurā direktorijā ir jāizmanto faili?

Pirms sākam strādāt ar konfigurāciju, mums ir nepieciešams bāzes fails, ar kuru strādāt. Fails no Docker reģistra repozitorija vietnē GitHub darbosies lieliski:

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

Fails ir veiksmīgi jāsaglabā ar tādu izvadi kā:

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

Lieliski! Tagad mēs varam modificēt šo failu, lai tas atbilstu mūsu vajadzībām.

Vienīgais teksta redaktors, kas tiek piegādāts kopā ar Core OS, ir vim, taču neuztraucieties, ja jūs to nekad iepriekš neesat izmantojis. Šeit soli pa solim tiks paskaidrots, ko rediģēt un kā to izdarīt.

vim config_sample.yml

Kad fails ir atvērts, nospiediet Iun apakšējā labajā stūrī vajadzētu parādīties: -- INSERT --ievietošanas režīmam. Ritiniet līdz faila apakšdaļai, izmantojot bulttaustiņus; jums vajadzētu redzēt sadaļu ar nosaukumu prod.

Mēs mainīsim abas rindiņas, izmaiņas ir norādītas zemāk

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

Mēs esam mainījuši prodkonfigurāciju, lai to iegūtu no localsadaļas, nevis s3sadaļas. Pēc tam mēs pārrakstījām, storage_pathlai izmantotu ceļu /datajaunajā konteinerā.

Kad esat apstiprinājis, ka visas izmaiņas ir pareizas, nospiediet , ESClai izietu no ievietošanas režīma un ierakstiet :wq(tas nozīmē, ierakstiet izmaiņas failā un aizveriet vim).

Tagad pārdēvēsim failu uz tikai config.yml

mv config_sample.yml config.yml

Atkārtota kešatmiņa (pēc izvēles)

Ja vēlaties izmantot redis, lai paātrinātu konteinera reģistru, tas ir tik vienkārši, kā izņemt jaunu konteineru no publiskā reģistra un pievienot vēl dažas konfigurācijas rindas.

Vispirms izvelciet Redis augšējā līmeņa attēlu:

docker pull redis

Kad attēls ir veiksmīgi izvilkts, mēs varam to palaist un nosaukt tāpat kā ar testa reģistru:

docker run -d --name registry-redis redis

Tā kā redis atrodas atmiņā, mums nav jāveic nekāda konfigurācija, jo mēs to saistīsim ar reģistra konteineru turpmākajās darbībās.

Vēlreiz pārliecinieties, ka tas darbojas, izmantojot 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

Tagad no jauna atvērtu config.ymlin vimun ievadiet ievietot režīmā, tāpat kā mēs pirmo reizi rediģēja to.

Pievienojiet tālāk norādītās rindiņas zem prodsadaļas, pārliecinieties, ka tās ir pareizi atkāpes. Šoreiz mēs tikai pievienojam cacheun 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

Vides mainīgie REDIS_PORT_6379_TCP_ADDRun REDIS_PORT_6379_TCP_PORTtiek nodoti reģistra konteineram pēc saistīšanas ar Redis konteineru.

Tādējādi tagad esat iestatījis Redis konteineru, kas darbosies roku rokā ar jūsu reģistra konteineru. Tagad pie reģistra izveides!

Konteinera būvēšana

Mums ir iestatīta visa konfigurācija, un tagad mums ir jāizveido faktiskais reģistra konteiners.

Fire up vim Dockerfile, lai izveidotu jaunu Dockerfile. Ieejiet ievietošanas režīmā un izpildiet tālāk norādītos labojumus.

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

Tas, ko esam paveikuši iepriekš, būtībā ir paplašinājuši reģistra attēlu, lai tas izmantotu mūsu konfigurācijas failu un iestatījumus. Dockerfile ir veidošanas instrukciju kopums, ko Docker var lasīt un veidot. Ja vēlaties uzzināt vairāk par Dockerfiles un to sintaksi, skatiet oficiālo Docker vietnes dokumentāciju.

Tālāk mums ir jāizveido konteiners lietošanai.

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

Tagad esam gatavi skriet!

Izveidosim direktoriju mūsu resursdatora sistēmā, ko ievietot konteinerā kā /datasējumu.

mkdir registry-data

Tagad mēs varam izveidot jaunu konteineru. Ja plānojat izmantot Redis kešatmiņu, izmantojiet tālāk esošo 2. komandu.

# 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

Lai pārliecinātos, ka jūsu serveris darbojas pareizi, apmeklējiet http://YOUR_IP:5000. Jūs redzēsit šādu ziņojumu:

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

Ņemiet vērā, (prod)ka mūsu konfigurācijas izmaiņas bija veiksmīgas!

Konfigurējiet savu vietējo Docker klientu

Tagad, kad mums ir savs darbojošais reģistrs, mēs vēlamies, lai Docker klients mūsu vietējās iekārtās sāktu to lietot. Parasti jūs izmantotu komandu: docker login, bet mūsu lietošanai pieteikšanās komandai jāpievieno vēl viens arguments:

docker login YOUR_IP:5000

Ievadiet lietotājvārdu un paroli (domājiet par to kā par jauna konta izveidi) un ignorējiet ziņojumu, kurā teikts, ka tas ir jāaktivizē.

Pēc tam izvelkam krājuma attēlu un virzīsim to uz mūsu pašu krātuvi.

# 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

Ja viss notiek pareizi, galīgajam ziņojumam jābūt šādam:

Pushing tag for rev [a9eb17255234] on 

Apsveicam! Jūs esat iestatījis savu docker repozitoriju.

Ko tālāk?

Šeit ir dažas idejas, kā uzlabot savu jauno privāto reģistru:

  • Apgrieziet starpniekserveri, izmantojot Nginx vai Apache, lai novietotu tai priekšā papildu drošību, piemēram, vienkāršu HTTP autentifikāciju.
  • Iegūstiet savam serverim domēnu un iestatiet to, lai varētu piekļūt savam reģistram, izmantojot kaut ko līdzīgu: registry.mysite.com
  • Iegādājieties (vai pašparakstieties) SSL sertifikātu, lai nodrošinātu vēl lielāku aizsardzību, ja jūsu konteineros ir sensitīva informācija.

Lūk, kā pārbaudīt Hyper-V konteinerus sistēmā Windows 10 Insider

Lūk, kā pārbaudīt Hyper-V konteinerus sistēmā Windows 10 Insider

Microsoft jaunā emuāra ziņojumā ir paskaidrojusi, kā Windows Insiders var pārbaudīt Hyper-V konteinerus operētājsistēmā Windows 10 — jauns virtualizācijas risinājums, kas ļauj lietojumprogrammām darboties, neietekmējot pārējo operētājsistēmu.

Kā instalēt Harbor operētājsistēmā CentOS 7

Kā instalēt Harbor operētājsistēmā CentOS 7

Harbour ir atvērtā pirmkoda uzņēmuma klases reģistra serveris, kas glabā un izplata Docker attēlus. Harbour paplašina atvērtā koda Docker Distribution b

Instalējiet Rancher OS, izmantojot iPXE

Instalējiet Rancher OS, izmantojot iPXE

Rancher OS ir ļoti viegla Linux izplatīšana, kas veidota, izmantojot Docker. Pati OS sver aptuveni 20 MB. Šī apmācība palīdzēs jums sākt darbu

Operētājsistēmā CoreOS iestatiet savu Docker reģistru

Operētājsistēmā CoreOS iestatiet savu Docker reģistru

Mēs visi zinām un mīlam Docker — platformu lietojumprogrammu konteineru izveidei, pārvaldībai un izplatīšanai vairākās iekārtās. Docker Inc sniedz pakalpojumu t

Docker-compose instalēšana operētājsistēmā CoreOS

Docker-compose instalēšana operētājsistēmā CoreOS

Šajā rakstā ir paskaidrots, kā instalēt docker-compose operētājsistēmā CoreOS. Operētājsistēmā CoreOS mape /usr/ ir nemainīga, tāpēc standarta /usr/local/bin ceļš nav pieejams.

Instalējiet Rancher operētājsistēmā CentOS 7

Instalējiet Rancher operētājsistēmā CentOS 7

Vai izmantojat citu sistēmu? Ievads Rancher ir atvērtā pirmkoda platforma konteineru darbināšanai un privāta konteineru pakalpojuma izveidei. Rancher ir bāze

Instalējiet Docker CE uz Ubuntu 18.04

Instalējiet Docker CE uz Ubuntu 18.04

Ievads Docker ir lietojumprogramma, kas ļauj izvietot programmas, kas tiek darbinātas kā konteineri. Tas tika uzrakstīts populārajā Go programmēšanas valodā

Izveidojiet Docker Swarm operētājsistēmā Alpine Linux 3.9.0

Izveidojiet Docker Swarm operētājsistēmā Alpine Linux 3.9.0

Ievads Šajā rokasgrāmatā ir parādīts, kā izveidot un konfigurēt Docker spietu, izmantojot vairākus Alpine Linux 3.9.0 serverus un Portainer. Lūdzu, ņemiet vērā, ka

Izvietojiet PHP lietojumprogrammu, izmantojot Docker-compose

Izvietojiet PHP lietojumprogrammu, izmantojot Docker-compose

PHP lietojumprogrammas parasti veido tīmekļa serveris, relāciju datu bāzes sistēma un pats valodas tulks. Šajā apmācībā mēs izmantosim iespēju

Slodzes līdzsvars ar Docker

Slodzes līdzsvars ar Docker

Palaižot tīmekļa lietojumprogrammu, jūs parasti vēlaties maksimāli izmantot savus resursus, nepārvēršot programmatūru, lai izmantotu vairākpavedienu o

Izvietojiet Node.js lietojumprogrammu, izmantojot Docker

Izvietojiet Node.js lietojumprogrammu, izmantojot Docker

Šajā rakstā tiks parādīts, kā Docker konteinerā izvietot savu Node lietojumprogrammu. Piezīme. Šajā apmācībā tiek pieņemts, ka esat instalējis un lasījis Docker

Docker CE instalēšana operētājsistēmā CentOS 7

Docker CE instalēšana operētājsistēmā CentOS 7

Docker konteinera tehnoloģija ļauj palaist lietojumprogrammas noteiktā un izolētā vidē. Docker Community Edition (CE) ir jaunais nosaukums fre

Izvietojiet Kubernetes ar Kubeadm operētājsistēmā CentOS 7

Izvietojiet Kubernetes ar Kubeadm operētājsistēmā CentOS 7

Pārskats Šis raksts ir paredzēts, lai palīdzētu jums ātri izveidot un palaist Kubernetes kopu, izmantojot kubeadm. Šajā rokasgrāmatā tiks izvietoti divi serveri

Docker instalēšana operētājsistēmā CentOS 7

Docker instalēšana operētājsistēmā CentOS 7

Vai izmantojat citu sistēmu? Docker ir lietojumprogramma, kas ļauj izvietot programmatūru virtuālos konteineros. Tas bija rakstīts programmā Go

Docker CE instalēšana operētājsistēmā Debian 9

Docker CE instalēšana operētājsistēmā Debian 9

Vai izmantojat citu sistēmu? Ievads Docker ir lietojumprogramma, kas ļauj izvietot programmatūru virtuālos konteineros. Tas bija rakstīts G

Sāciet darbu ar SQL Server 2017 (MS-SQL) sistēmā CentOS 7 ar Docker

Sāciet darbu ar SQL Server 2017 (MS-SQL) sistēmā CentOS 7 ar Docker

Priekšnosacījumi Docker engine 1.8+. Vismaz 4 GB diska vietas. Vismaz 4 GB RAM. 1. darbība. Docker instalēšana Lai instalētu SQL-Server, Docker mus

Sticky sesija ar Docker Swarm (CE) uz Debian 9

Sticky sesija ar Docker Swarm (CE) uz Debian 9

Vai izmantojat citu sistēmu? Ievads Docker Swarm pārvērš jūsu individuālos serverus par datoru kopu; mērogošanas atvieglošana, augsta pieejamība un

Divi Docker grafiskās pārvaldības rīki: DockerUI un Shipyard

Divi Docker grafiskās pārvaldības rīki: DockerUI un Shipyard

Izmantojot lietojumprogrammu Vultr Docker, varat viegli izvietot Docker savā Vultr servera instancē. Tikmēr jūs varat atvieglot Docker pārvaldības uzdevumu

Instalējiet Rancher Server operētājsistēmā RancherOS

Instalējiet Rancher Server operētājsistēmā RancherOS

Pārskats RancherOS ir neticami viegla operētājsistēma (tikai aptuveni 60 MB), kas izmanto sistēmas Docker dēmonu kā PID 0 sistēmas pakalpojumu darbināšanai.

Darba sākšana ar Kubernetes operētājsistēmā CentOS 7

Darba sākšana ar Kubernetes operētājsistēmā CentOS 7

Kubernetes ir Google izstrādāta atvērtā pirmkoda platforma konteineru lietojumprogrammu pārvaldībai serveru klasterī. Tas balstās uz desmitgadi un

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mašīnu pieaugums: AI reālās pasaules lietojumi

Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.

DDOS uzbrukumi: īss pārskats

DDOS uzbrukumi: īss pārskats

Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Vai esat kādreiz domājis, kā hakeri pelna naudu?

Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Google revolucionāri izgudrojumi, kas atvieglos jūsu dzīvi.

Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.

Piektdiena: kas notika ar AI vadītām automašīnām?

Piektdiena: kas notika ar AI vadītām automašīnām?

Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Tehnoloģiskā singularitāte: cilvēces civilizācijas tāla nākotne?

Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.

Datu glabāšanas evolūcija – infografika

Datu glabāšanas evolūcija – infografika

Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.

Lielo datu atsauces arhitektūras slāņu funkcijas

Lielo datu atsauces arhitektūras slāņu funkcijas

Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

6 brīnišķīgas priekšrocības, ko sniedz viedo mājas ierīču izmantošana mūsu dzīvē

Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

MacOS Catalina 10.15.4 papildinājuma atjauninājums rada vairāk problēmu nekā to risināšana

Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk