Määritä CoreOS:ssä oma Docker-rekisteri

Määritä CoreOS:ssä oma Docker-rekisteri

Me kaikki tiedämme ja rakastamme Dockeria, alustaa sovellussäilöjen luomiseen, hallintaan ja jakamiseen useille koneille. Docker Inc. tarjoaa palvelun, joka isännöi ladattavia (tai noudettavia) avoimen lähdekoodin säilöjä, kuten "Docker Registry" -nimistä git-tietovarastoa. Ajattele sitä kuin GitHubia Docker-säiliöille.

Mutta entä jos haluat isännöidä omaa rekisteriäsi erotettuna julkisesta? No, Docker Inc. on hankkinut avoimen lähdekoodin rekisterisovelluksensa GitHubissa.

Tämä opetusohjelma opastaa sinua yksityisen Docker-rekisterin määrittämisessä CoreOS:n avulla uudessa VPS:ssä.

CoreOS + Docker

Emme käytä paljon aikaa sen tarkasteluun, mitä Docker ja CoreOS voivat tehdä, koska se ei kuulu tämän opetusohjelman piiriin. Pohjimmiltaan CoreOS on suunniteltu suurille palvelinklusteille, se on pieni, nopea ja saa säännölliset tietoturvapäivitykset automaattisesti. Sen juuritiedostojärjestelmä on myös vain luku -tilassa, mikä tarkoittaa, että sinun on käytettävä Dockeria kaikenlaisten ohjelmistojen suorittamiseen, joita ei sisälly perusasennukseen.

Tämä tekee Core OS:stä täydellisen isäntäjärjestelmän Dockerille!

Uusimman rekisterin vetäminen ja suorittaminen

Docker Inc. on toimittanut rekisterin huipputason kuvana, mikä tarkoittaa, että voimme vetää sen alas yksinkertaisella:

docker pull registry

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

Huipputason kuvan plussa tarkoittaa myös sitä, että se saa säännöllistä tukea ja päivityksiä.

Testataan nyt rekisteriä. Voimme luoda uuden säilön käyttämällä rekisteriotosta:

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

Niille, jotka eivät ole käyttäneet Dockeria liikaa, -plippu tarkoittaa PORT, mikä tarkoittaa, että paljastamme portin 5000 säiliöstä isäntäporttiin 5000.

-dLippu tarkoittaa daemon, tämä aiheuttaa säiliön toimimaan taustalla eikä tulostusjäljen nykyiseen SSH-istunto, haluamme myös nimetä tämän tapa testata, jossa käytetään edellä --namevaihtoehto, jotta voimme helposti hallita sitä myöhemmin.

Varmista, että perusrekisterisäiliössäsi on käytössä docker ps. Tulosteen pitäisi näyttää samanlaiselta:

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

Vieraile http://YOUR_IP:5000myös selaimessasi, niin sinun pitäisi saada seuraavanlainen viesti:

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

Sinulla on nyt oma (erittäin yksinkertainen) konttirekisteri käynnissä! Mutta emme ole vielä valmiita.

Ehkä haluat pitää tämän yksityisenä uteliailta katseilta tai ehkä tallentaa kuvasi Amazon S3:lle paikallisen tallennustilan sijaan. Käydään läpi eri konfigurointivaihtoehdot seuraavassa osiossa.

Ennen kuin siirrymme eteenpäin, tapetaan testisäiliö, jotta emme törmää ristiriitaisiin portteihin.

docker kill basic_registry

Rekisterin määritykset

On kaksi tapaa, joilla voimme siirtää asetukset Docker-rekisteriin. Yksi tapa on siirtää ympäristömuuttujat uuteen säilöön ja toinen on lisätä määritystiedosto.

Tässä on joitain yleisimmistä käyttämistämme määritysvaihtoehdoista:

  • loglevel- Konsoliin kirjattavien tietojen vähimmäismäärä. Oletus on info.
  • standalone- Pitäisikö tämän rekisterin toimia itsenäisesti? (Ei koskaan kysy julkista rekisteriä.) Oletus on true.
  • index_endpoint- Jos ei erillistä indeksiä, mistä muusta hakemistosta teemme kyselyn? Oletus index.docker.io.
  • cacheja cache_lru- Vaihtoehdot, jotka liittyvät Redis-välimuistin käyttöön pienille tiedostoille, käsittelemme tätä myöhemmin.
  • storage- Mitä tallennustaustajärjestelmää meidän tulisi käyttää tälle palvelimelle? (Tässä opetusohjelmassa käytämme paikallista).
  • storage_path - Jos käytät paikallista tallennustilaa, mitä hakemistoa meidän tulee käyttää tiedostojen säilyttämiseen?

Ennen kuin alamme työskennellä kokoonpanon kanssa, tarvitsemme perustiedoston. GitHubin Docker Registry -tietovaraston tiedosto toimii hyvin:

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

Tiedoston pitäisi tallentaa onnistuneesti tulosteella, kuten:

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

Loistava! Nyt voimme muokata tätä tiedostoa tarpeidemme mukaan.

Ainoa Core OS:n mukana vimtuleva tekstieditori on , mutta älä huoli, jos et ole koskaan käyttänyt sitä ennen. Tämä selittää vaihe vaiheelta, mitä muokata ja miten se tehdään.

vim config_sample.yml

Kun olet avannut tiedoston, paina Ija oikeassa alakulmassa pitäisi näkyä: -- INSERT --lisäystilaa varten. Vieritä tiedoston alaosaan nuolinäppäimillä, sinun pitäisi nähdä osio, jonka nimi on prod.

Muutamme kaksi riviä, muutokset ovat alla

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

Olemme muuttaneet prodkokoonpanon siten, että ne johdetaan localosiosta osion sijaan s3. Sitten kirjoitimme storage_pathpäälle käyttämään polkua /datauuden säilön sisällä.

Kun olet varmistanut, että kaikki muutokset ovat oikein, paina ESCpoistuaksesi lisäystilasta ja kirjoita :wq(tämä tarkoittaa, että kirjoita muutokset tiedostoon ja sulje vim.)

Nimetään nyt tiedosto uudelleen nimeksi vain config.yml

mv config_sample.yml config.yml

Redis-välimuisti (valinnainen)

Jos haluat käyttää redis nopeuttaaksesi säilörekisteriäsi, se on yhtä helppoa kuin vetää uusi säilö julkisesta rekisteristä ja lisätä muutama määritysrivi.

Vedä ensin Rediksen ylimmän tason kuva:

docker pull redis

Kun kuva on vedetty onnistuneesti, voimme ajaa sen ja nimetä sen aivan kuten teimme testirekisterin kanssa:

docker run -d --name registry-redis redis

Koska redis on muistissa, meidän ei tarvitse tehdä sille mitään asetuksia, koska linkitämme sen rekisterisäilöön myöhemmissä vaiheissa.

Varmista vielä kerran, että se toimii käyttämällä 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

Nyt avata uudelleen config.ymlvuonna vimja anna lisäystilassa aivan ensimmäistä kertaa muokata sitä.

Lisää seuraavat rivit prodosion alle ja muista sisentää oikein. Tällä kertaa lisäämme vain 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

Ympäristömuuttujat REDIS_PORT_6379_TCP_ADDRja REDIS_PORT_6379_TCP_PORTvälitetään rekisterisäilöön linkitettäessä Redis-säilöä.

Sen avulla olet nyt määrittänyt Redis-säilön, joka toimii käsi kädessä rekisterisäilön kanssa. Nyt rekisterin rakentamiseen!

Kontin rakentaminen

Meillä on kaikki asetukset valmiina, nyt meidän on rakennettava varsinainen rekisterisäilö.

Käynnistä vim Dockerfileluodaksesi uuden Docker-tiedoston. Siirry lisäystilaan ja seuraa alla olevia muokkauksia.

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

Yllä teimme olennaisesti rekisterikuvan laajentamisen, jotta se käyttää määritystiedostoamme ja asetuksiamme. Dockerfile on joukko rakennusohjeita, joita Docker voi lukea ja rakentaa. Jos haluat oppia lisää Docker-tiedostoista ja niiden syntaksista, katso virallinen Docker-sivuston dokumentaatio.

Seuraavaksi meidän on rakennettava kontti käyttöä varten.

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

Nyt olemme valmiita juoksemaan!

Tehdään isäntäjärjestelmäämme hakemisto, joka liitetään säilöön /datataltioksi.

mkdir registry-data

Nyt voimme pyörittää uutta konttia. Jos aiot käyttää Redis-välimuistia, käytä alla olevaa toista komentoa.

# 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

Varmista, että palvelimesi toimii oikein, käy osoitteessa http://YOUR_IP:5000. Näet seuraavan viestin:

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

Huomaa, että (prod)kokoonpanomuutoksemme onnistuivat!

Määritä paikallinen Docker-asiakas

Nyt kun meillä on oma käynnissä oleva rekisterimme, haluamme paikallisten koneidemme Docker-asiakkaan alkavan käyttää sitä. Yleensä käyttäisit komentoa: docker login, mutta meidän käyttömme varten meidän on lisättävä sisäänkirjautumiskomentoon vielä yksi argumentti:

docker login YOUR_IP:5000

Anna käyttäjätunnus ja salasana (ajattele tätä kuin uuden tilin luomista) ja jätä huomioimatta viesti, jonka mukaan sinun on aktivoitava se.

Otetaan seuraavaksi arkistokuva ja työnnetään se omaan arkistoon.

# 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

Jos kaikki toimii oikein, viimeisen viestin tulisi olla seuraavanlainen:

Pushing tag for rev [a9eb17255234] on 

Onnittelut! Olet määrittänyt oman telakointivaraston.

Mitä seuraavaksi?

Tässä on ideoita uuden yksityisen rekisterin parantamiseen:

  • Käännä välityspalvelin Nginxiä tai Apachea käyttämällä lisäsuojauksen asettamiseen sen eteen, kuten yksinkertainen HTTP-todennus.
  • Hanki verkkotunnus palvelimellesi ja määritä se, jotta voit käyttää rekisteriäsi jollakin tavalla: registry.mysite.com
  • Osta (tai allekirjoita itse) SSL-varmenne lisätäksesi entistä enemmän suojaa, jos säilösi sisältävät arkaluonteisia tietoja.

Näin voit tarkistaa Hyper-V-säiliöt Windows 10 Insiderissä

Näin voit tarkistaa Hyper-V-säiliöt Windows 10 Insiderissä

Microsoft on selittänyt uudessa blogiviestissä, kuinka Windows Insiders voi testata Hyper-V-säilöjä Windows 10:ssä, uudessa virtualisointiratkaisussa, jonka avulla sovellukset voivat toimia vaikuttamatta muuhun käyttöjärjestelmääsi.

Asenna Rancher OS iPXE:n kautta

Asenna Rancher OS iPXE:n kautta

Rancher OS on erittäin kevyt Linux-jakelu, joka on rakennettu Dockerin ympärille. Itse käyttöjärjestelmä painaa noin 20 Mt. Tämän opetusohjelman avulla pääset alkuun

Määritä CoreOS:ssä oma Docker-rekisteri

Määritä CoreOS:ssä oma Docker-rekisteri

Me kaikki tiedämme ja rakastamme Dockeria, alustaa sovellussäilöjen luomiseen, hallintaan ja jakamiseen useille koneille. Docker Inc. tarjoaa palvelun t

Docker-composen asentaminen CoreOS:ään

Docker-composen asentaminen CoreOS:ään

Tässä artikkelissa kerrotaan, kuinka Docker-compose asennetaan CoreOS:ään. CoreOS:ssä /usr/-kansio on muuttumaton, joten tavallinen /usr/local/bin-polku ei ole käytettävissä

Asenna Docker CE Ubuntuun 18.04

Asenna Docker CE Ubuntuun 18.04

Johdanto Docker on sovellus, jonka avulla voimme ottaa käyttöön ohjelmia, joita ajetaan säilöinä. Se on kirjoitettu suositulla Go-ohjelmointikielellä

Luo Docker Swarm Alpine Linux 3.9.0:lle

Luo Docker Swarm Alpine Linux 3.9.0:lle

Johdanto Tämä opas näyttää, kuinka Docker-parvi luodaan ja konfiguroidaan käyttämällä useita Alpine Linux 3.9.0 -palvelimia ja Portaineria. Ole tietoinen siitä

Ota PHP-sovellus käyttöön Docker-compose-sovelluksella

Ota PHP-sovellus käyttöön Docker-compose-sovelluksella

PHP-sovellukset koostuvat yleensä verkkopalvelimesta, relaatiotietokantajärjestelmästä ja itse kielitulkista. Tässä opetusohjelmassa hyödynnämme

Kuormituksen tasapaino Dockerin kanssa

Kuormituksen tasapaino Dockerin kanssa

Kun käytät verkkosovellusta, haluat yleensä saada kaiken irti resursseistasi ilman, että sinun tarvitsee muuttaa ohjelmistoasi käyttämään monisäikeistä o

Ota Node.js-sovellus käyttöön Dockerin avulla

Ota Node.js-sovellus käyttöön Dockerin avulla

Tämä artikkeli näyttää, kuinka Node-sovellus otetaan käyttöön Docker-säilön sisällä. Huomautus: Tämä opetusohjelma olettaa, että olet asentanut Dockerin ja lukenut sen

Docker CE:n asentaminen Debian 9:ään

Docker CE:n asentaminen Debian 9:ään

Käytätkö erilaista järjestelmää? Johdanto Docker on sovellus, joka mahdollistaa ohjelmistojen käyttöönoton virtuaalisäiliöissä. Se oli kirjoitettu G:ssä

Aloita SQL Server 2017:n (MS-SQL) käyttäminen CentOS 7:ssä Dockerin kanssa

Aloita SQL Server 2017:n (MS-SQL) käyttäminen CentOS 7:ssä Dockerin kanssa

Esitiedot Docker engine 1.8+. Vähintään 4 Gt levytilaa. Vähintään 4 Gt RAM-muistia. Vaihe 1. Asenna Docker SQL-palvelimen asentamiseksi Docker mus

Sticky Session with Docker Swarm (CE) Debian 9:ssä

Sticky Session with Docker Swarm (CE) Debian 9:ssä

Käytätkö erilaista järjestelmää? Johdanto Docker Swarm muuttaa yksittäiset palvelimesi tietokoneklusteriksi; helpottaa skaalaus, korkea saatavuus ja

Asenna Rancher Server RancherOS:ään

Asenna Rancher Server RancherOS:ään

Yleiskatsaus RancherOS on uskomattoman kevyt käyttöjärjestelmä (vain noin 60 Mt), joka käyttää Docker-daemonia PID 0 -tunnuksena järjestelmäpalvelujen suorittamiseen.

Asenna Rancher Ubuntuun 16.04

Asenna Rancher Ubuntuun 16.04

Käytätkö erilaista järjestelmää? Johdanto Rancher on avoimen lähdekoodin alusta konttien ajamiseen ja yksityisen konttipalvelun rakentamiseen. Rancher on perusta

Asenna Sentry Dockerin kautta Ubuntuun 16.04

Asenna Sentry Dockerin kautta Ubuntuun 16.04

Käytätkö erilaista järjestelmää? Johdanto Sentry on avoimen lähdekoodin ratkaisu virheiden seurantaan. Sentry seuraa poikkeuksia ja muita hyödyllisiä viestejä

Dockerin käyttö: Ensimmäisen Docker-säilön luominen

Dockerin käyttö: Ensimmäisen Docker-säilön luominen

Tämä opetusohjelma selittää Dockerin käytön aloittamisen perusteet. Oletan, että sinulla on jo Docker asennettuna. Tämän opetusohjelman vaiheet toimivat

Dockerin asentaminen Ubuntuun 14.04

Dockerin asentaminen Ubuntuun 14.04

Käytätkö erilaista järjestelmää? Docker on sovellus, jonka avulla voidaan ottaa käyttöön säilöinä ajettavia ohjelmia. Se kirjoitettiin suositulla Go-ohjelmalla

Ota ja hallitse LXC-säilöjä turvallisesti Ubuntu 14.04:ssä

Ota ja hallitse LXC-säilöjä turvallisesti Ubuntu 14.04:ssä

LXC-säilöt (Linux-säilöt) ovat Linuxin käyttöjärjestelmäominaisuus, jota voidaan käyttää useiden erillisten Linux-järjestelmien ajamiseen yhdellä isännällä. Nämä

Koneiden nousu: tekoälyn todelliset sovellukset

Koneiden nousu: tekoälyn todelliset sovellukset

Tekoäly ei ole tulevaisuudessa, se tässä nykyisyydessä Tässä blogissa Lue kuinka tekoälysovellukset ovat vaikuttaneet eri sektoreihin.

DDOS-hyökkäykset: lyhyt katsaus

DDOS-hyökkäykset: lyhyt katsaus

Oletko myös DDOS-hyökkäysten uhri ja hämmentynyt ehkäisymenetelmistä? Lue tämä artikkeli ratkaistaksesi kysymyksesi.

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Oletko koskaan miettinyt, kuinka hakkerit ansaitsevat rahaa?

Olet ehkä kuullut, että hakkerit ansaitsevat paljon rahaa, mutta oletko koskaan miettinyt, kuinka he ansaitsevat tuollaista rahaa? keskustellaan.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Googlen vallankumouksellisia keksintöjä, jotka helpottavat elämääsi.

Haluatko nähdä Googlen vallankumouksellisia keksintöjä ja kuinka nämä keksinnöt muuttivat jokaisen ihmisen elämää nykyään? Lue sitten blogia nähdäksesi Googlen keksinnöt.

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Essential perjantai: Mitä tekoäly-ohjatuille autoille tapahtui?

Konsepti itseohjautuvista autoista lähteä tielle tekoälyn avulla on ollut haaveena jo jonkin aikaa. Mutta useista lupauksista huolimatta niitä ei näy missään. Lue tämä blogi saadaksesi lisätietoja…

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Teknologinen singulaarisuus: ihmissivilisaation kaukainen tulevaisuus?

Kun tiede kehittyy nopeasti ja ottaa haltuunsa suuren osan ponnisteluistamme, myös riskit altistaa itsemme selittämättömälle singulariteetille kasvavat. Lue, mitä singulaarisuus voisi tarkoittaa meille.

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen tallennuksen evoluutio – Infografiikka

Tietojen säilytystavat ovat kehittyneet mahdollisesti Datan syntymästä lähtien. Tämä blogi käsittelee tiedon tallennuksen kehitystä infografian pohjalta.

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Big Datan referenssiarkkitehtuurikerrosten toiminnot

Blogista saat tietää Big Data -arkkitehtuurin eri kerroksista ja niiden toiminnoista yksinkertaisimmalla tavalla.

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

6 uskomatonta etua älykkäiden kotilaitteiden käyttämisestä elämässämme

Tässä digitaalisessa maailmassa kodin älylaitteista on tullut tärkeä osa elämää. Tässä on muutamia älykkäiden kodin laitteiden hämmästyttäviä etuja, joiden avulla ne tekevät elämästämme elämisen arvoista ja yksinkertaisempaa.

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

macOS Catalina 10.15.4 -täydennyspäivitys aiheuttaa enemmän ongelmia kuin ratkaiseminen

Apple julkaisi äskettäin macOS Catalina 10.15.4 -lisäpäivityksen ongelmien korjaamiseksi, mutta näyttää siltä, ​​että päivitys aiheuttaa lisää ongelmia, jotka johtavat mac-koneiden tiilikaamiseen. Lue tämä artikkeli saadaksesi lisätietoja