Á CoreOS, settu upp þína eigin Docker Registry

Á CoreOS, settu upp þína eigin Docker Registry

Við þekkjum öll og elskum Docker, vettvang til að búa til, stjórna og dreifa forritagámum yfir margar vélar. Docker Inc. veitir þjónustu til að hýsa opna gáma sem hægt er að hlaða niður (eða draga) eins og git geymsla sem kallast „Docker Registry“. Hugsaðu um það eins og GitHub fyrir Docker gáma.

En hvað ef þú vilt hýsa þína eigin skrásetning aðskilin frá hinni opinberu? Jæja, Docker Inc. hefur opið skráningarforrit sitt á GitHub.

Þessi kennsla mun taka þig í gegnum ferlið við að setja upp einka Docker skrásetningu með CoreOS á nýjum VPS.

CoreOS + Docker

Við munum ekki eyða miklum tíma í að fara yfir nákvæmlega hvað Docker og CoreOS geta gert, þar sem það er utan gildissviðs þessarar kennslu. Í meginatriðum er CoreOS hannað fyrir stóra netþjónaklasa, það er lítið, hratt og fær reglulegar öryggisuppfærslur sjálfkrafa. Rótarskráarkerfi þess er líka skrifvarið, sem þýðir að þú verður að nota Docker til að keyra hvers kyns hugbúnað sem er ekki innifalinn í grunnuppsetningunni.

Þetta gerir Core OS að fullkomnu gestgjafakerfi fyrir Docker!

Draga og keyra nýjustu skrásetninguna

Docker Inc. hefur útvegað Registry sem mynd á efstu stigi, þetta þýðir að við getum dregið hana niður með einföldu:

docker pull registry

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

Plús að vera mynd á efsta stigi þýðir líka að hún fær reglulegan stuðning og uppfærslur.

Nú skulum við prófa skrásetninguna. Við getum búið til nýjan ílát með því að nota skrásetningarmyndina:

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

Fyrir þá sem hafa ekki notað Docker of mikið, -pstendur fáninn fyrir PORT, sem þýðir að við erum að afhjúpa höfn 5000 frá gámnum á hýsilhöfn 5000.

The -dfána stendur fyrir daemon, þetta mun valda gámur til að keyra í bakgrunni og ekki prenta framleiðsla á núverandi SSH fundur, viljum við einnig að nefna þessa undirstöðu próf ílátið með því að nota --namevalkostinn þannig að við getum auðveldlega stjórnað henni síðar.

Gakktu úr skugga um að grunnskráarílátið þitt sé í gangi með docker ps. Úttakið ætti að líta svipað út og:

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

Farðu líka http://YOUR_IP:5000í vafranum þínum og þú ættir að fá skilaboð eins og eftirfarandi:

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

Þú ert nú með þína eigin (mjög einföldu) gámaskrá í gangi! En við erum ekki búnir ennþá.

Kannski viltu halda þessu persónulega frá hnýsnum augum, eða kannski geyma myndirnar þínar á Amazon S3 í stað staðbundinnar geymslu. Við skulum fara yfir hina ýmsu stillingarvalkosti í næsta kafla.

Áður en við höldum áfram skulum við drepa prófgáminn svo að við lendum ekki í höfnum sem stangast á.

docker kill basic_registry

Uppsetning skrásetningar

Það eru tvær leiðir sem við getum sent stillingar til Docker Registry. Ein leiðin er með því að senda umhverfisbreytur í nýjan gám og hin er að bæta við stillingarskrá.

Hér eru nokkrir af algengum stillingarvalkostum sem við munum nota:

  • loglevel- Lágmarks magn upplýsinga til að skrá þig inn á stjórnborðið. Sjálfgefið er info.
  • standalone- Ætti þessi skrásetning að starfa á eigin spýtur? (Aldrei spyrjast fyrir um opinbera skrásetninguna.) Sjálfgefið er true.
  • index_endpoint- Ef ekki sjálfstæð, hvaða aðra vísitölu munum við spyrjast fyrir? Sjálfgefið index.docker.io.
  • cacheog cache_lru- Valkostir sem tengjast notkun Redis skyndiminni fyrir litlar skrár, við munum snerta þetta síðar.
  • storage- Hvaða geymslustuðning ættum við að nota fyrir þennan netþjón? (Í þessari kennslu munum við nota staðbundið).
  • storage_path - Ef þú notar staðbundna geymslu, hvaða möppu ættum við að nota til að geyma skrár í?

Áður en við förum að vinna með uppsetninguna þurfum við grunnskrá til að vinna með. Skráin frá Docker Registry geymslunni á GitHub mun virka vel:

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

Skráin ætti að vista með góðum árangri með úttak eins og:

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

Frábært! Nú getum við breytt þessari skrá til að passa þarfir okkar.

Eini textaritillinn sem fylgir Core OS er vim, en ekki hafa áhyggjur ef þú hefur aldrei notað hann áður, þetta mun útskýra skref fyrir skref hverju á að breyta og hvernig á að gera það.

vim config_sample.yml

Þegar þú hefur opnað skrána skaltu ýta á Iog neðst í hægra horninu ætti að birtast: -- INSERT --fyrir innsetningarham. Skrunaðu alla leið til botns í skránni með því að nota örvatakkana þína, þú ættir að sjá hluta merktan prod.

Við munum breyta línunum tveimur, breytingarnar eru hér að neðan

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

Það sem við höfum gert er að breyta prodstillingunum þannig að hún komi frá localhlutanum í stað s3hlutans. Síðan skrifuðum við yfir storage_pathað nota slóðina /datainni í nýja gámnum.

Þegar þú hefur staðfest að allar breytingar séu réttar skaltu ýta á ESCtil að hætta innsetningarham og slá inn :wq(það þýðir að skrifa breytingarnar á skrána og hætta vim.)

Nú skulum við endurnefna skrána í bara config.yml

mv config_sample.yml config.yml

Redis skyndiminni (valfrjálst)

Ef þú vilt nota redis til að flýta fyrir gámaskránni þinni, þá er það eins einfalt og að draga nýjan gám úr opinberu skránni og bæta við nokkrum fleiri línum af stillingum.

Fyrst skaltu draga efstu myndina af Redis:

docker pull redis

Þegar myndin hefur verið dregin með góðum árangri getum við keyrt hana og nefnt hana alveg eins og við gerðum með prófunarskránni:

docker run -d --name registry-redis redis

Vegna þess að redis er í minni, þurfum við ekki að gera neinar stillingar fyrir það, þar sem við munum tengja það við skrásetningarílátið í síðari skrefum.

Enn og aftur, vertu viss um að það sé í gangi með því að nota 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

Opnaðu nú aftur config.ymlinn vimog farðu í innsetningarham eins og í fyrsta skipti sem við breyttum því.

Bættu við eftirfarandi línum fyrir neðan prodhlutann og vertu viss um að draga rétt inn. Að þessu sinni bætum við aðeins við cacheog 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

Umhverfisbreyturnar REDIS_PORT_6379_TCP_ADDRog REDIS_PORT_6379_TCP_PORTeru sendar til skrásetningarílátsins við tengingu við Redis gáminn.

Með því hefurðu nú sett upp Redis gám sem mun vinna í hendur við skrásetningarílátið þitt. Nú á að byggja upp skrásetninguna!

Byggja gáminn

Við höfum allar stillingar settar og tilbúnar, nú þurfum við að smíða raunverulegan skrásetningarílát.

Eldur upp vim Dockerfiletil að búa til nýja Dockerfile. Farðu í innsetningarstillingu og fylgdu breytingunum hér að neðan.

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

Það sem við höfum gert hér að ofan er í raun að lengja skrásetningarmyndina svo hún noti stillingarskrána okkar og stillingar. Dockerfile er sett af byggingarleiðbeiningum fyrir Docker til að lesa og smíða. Ef þú vilt læra meira um Dockerfiles og setningafræði þeirra, skoðaðu opinberu Docker síðuna.

Næst þurfum við að smíða gáminn til notkunar.

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ú erum við tilbúin að hlaupa!

Við skulum búa til möppu á hýsingarkerfinu okkar til að festa í ílátið sem /datahljóðstyrk.

mkdir registry-data

Nú getum við snúið upp nýjum íláti. Ef þú ætlar að nota Redis skyndiminni skaltu nota 2. skipunina hér að neðan.

# 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

Til að tryggja að þjónninn þinn sé í gangi rétt skaltu fara á http://YOUR_IP:5000. Þú munt sjá eftirfarandi skilaboð:

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

Taktu eftir (prod)merkingu stillingabreytinga okkar tókst!

Stilltu Docker viðskiptavin þinn á staðnum

Nú þegar við erum með okkar eigin hlaupandi skráningu viljum við að Docker viðskiptavinurinn á staðbundnum vélum okkar byrji að nota hann. Venjulega myndir þú nota skipunina: docker login, en fyrir okkar notkun þurfum við að bæta einu rökum í viðbót við innskráningarskipunina:

docker login YOUR_IP:5000

Sláðu inn notandanafn og lykilorð (hugsaðu þetta eins og að búa til nýjan reikning) og hunsa skilaboðin sem segja að þú verðir að virkja hann.

Næst skulum við draga hlutabréfamynd og ýta henni upp í okkar eigin geymslu.

# 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

Ef allt ýtir á réttan hátt ættu lokaskilaboðin að vera á þessa leið:

Pushing tag for rev [a9eb17255234] on 

Til hamingju! Þú hefur sett upp þína eigin docker geymslu.

Hvað er næst?

Hér eru nokkrar hugmyndir um hvernig á að bæta nýju einkaskrána þína:

  • Reverse proxy með því að nota Nginx eða Apache til að setja aukið öryggi fyrir framan það, eins og einföld HTTP auðkenning.
  • Fáðu lén fyrir netþjóninn þinn og settu það upp svo þú getir fengið aðgang að skránni þinni með einhverju eins og: registry.mysite.com
  • Kauptu (eða undirritaðu sjálf) SSL vottorð til að bæta við enn meiri vernd ef ílátin þín innihalda viðkvæmar upplýsingar.

Svona á að skoða Hyper-V gáma á Windows 10 Insider

Svona á að skoða Hyper-V gáma á Windows 10 Insider

Microsoft hefur útskýrt í nýrri bloggfærslu hvernig Windows Insiders geta prófað Hyper-V gáma á Windows 10, ný virtualization lausn til að leyfa forritum að keyra án þess að hafa áhrif á restina af stýrikerfinu þínu.

Hvernig á að setja upp Harbor á CentOS 7

Hvernig á að setja upp Harbor á CentOS 7

Harbor er opinn uppspretta fyrirtækjaskrármiðlara sem geymir og dreifir Docker myndum. Harbor framlengir opinn uppspretta Docker Distribution b

Settu upp Rancher OS í gegnum iPXE

Settu upp Rancher OS í gegnum iPXE

Rancher OS er mjög létt Linux dreifing byggð í kringum Docker. Stýrikerfið sjálft vegur um 20MB. Þessi kennsla mun koma þér í gang með

Á CoreOS, settu upp þína eigin Docker Registry

Á CoreOS, settu upp þína eigin Docker Registry

Við þekkjum öll og elskum Docker, vettvang til að búa til, stjórna og dreifa forritagámum yfir margar vélar. Docker Inc. veitir þjónustu t

Setur upp docker-compose á CoreOS

Setur upp docker-compose á CoreOS

Þessi grein útskýrir hvernig á að setja upp docker-compose á CoreOS. Í CoreOS er /usr/ mappan óbreytanleg þannig að staðlaða /usr/local/bin slóðin er ekki tiltæk fyrir

Settu upp Rancher á CentOS 7

Settu upp Rancher á CentOS 7

Að nota annað kerfi? Inngangur Rancher er opinn uppspretta vettvangur til að keyra gáma og byggja upp einkagámaþjónustu. Rancher er grunnur

Settu upp Docker CE á Ubuntu 18.04

Settu upp Docker CE á Ubuntu 18.04

Inngangur Docker er forrit sem gerir okkur kleift að dreifa forritum sem eru keyrð sem gámar. Það var skrifað á hinu vinsæla Go forritunarmáli

Búðu til Docker Swarm á Alpine Linux 3.9.0

Búðu til Docker Swarm á Alpine Linux 3.9.0

Inngangur Þessi handbók mun sýna þér hvernig á að búa til og stilla Docker-sveim með því að nota marga Alpine Linux 3.9.0 netþjóna og Portainer. Vinsamlegast athugið að

Settu upp PHP forrit með því að nota Docker-compose

Settu upp PHP forrit með því að nota Docker-compose

PHP forrit eru venjulega samsett af vefþjóni, venslagagnagrunnskerfi og tungumálatúlknum sjálfum. Í þessari kennslu munum við vera skuldsett

Hleðslujöfnuður með Docker

Hleðslujöfnuður með Docker

Þegar þú keyrir vefforrit vilt þú venjulega fá sem mest út úr auðlindum þínum án þess að þurfa að breyta hugbúnaðinum þínum í að nota fjölþráða o

Settu upp Node.js forrit með því að nota Docker

Settu upp Node.js forrit með því að nota Docker

Þessi grein mun sýna þér hvernig á að dreifa Node forritinu þínu í Docker gám. Athugið: Þessi kennsla gerir ráð fyrir að þú hafir Docker uppsettan og lesinn

Uppsetning Docker CE á CentOS 7

Uppsetning Docker CE á CentOS 7

Docker gámatækni gerir þér kleift að keyra forrit í ákveðnu og einangruðu umhverfi. Docker Community Edition (CE) er nýja nafnið á fre

Settu upp Kubernetes með Kubeadm á CentOS 7

Settu upp Kubernetes með Kubeadm á CentOS 7

Yfirlit Þessari grein er ætlað að hjálpa þér að koma Kubernetes klasa í gang með kubeadm á skömmum tíma. Þessi handbók mun setja upp tvo netþjóna, á

Uppsetning Docker á CentOS 7

Uppsetning Docker á CentOS 7

Að nota annað kerfi? Docker er forrit sem gerir kleift að dreifa hugbúnaði innan sýndargáma. Það var skrifað í Go forritinu

Uppsetning Docker CE á Debian 9

Uppsetning Docker CE á Debian 9

Að nota annað kerfi? Inngangur Docker er forrit sem gerir kleift að dreifa hugbúnaði innan sýndargáma. Það var skrifað í G

Byrjaðu með SQL Server 2017 (MS-SQL) á CentOS 7 með Docker

Byrjaðu með SQL Server 2017 (MS-SQL) á CentOS 7 með Docker

Forkröfur Docker vél 1.8+. Lágmark 4GB af diskplássi. Lágmark 4GB af vinnsluminni. Skref 1. Settu upp Docker Til að setja upp SQL-þjóninn, Docker mus

Tvö grafísk stjórnunarverkfæri Docker: DockerUI og Shipyard

Tvö grafísk stjórnunarverkfæri Docker: DockerUI og Shipyard

Með hjálp Vultr Docker forritsins geturðu auðveldlega sett Docker á Vultr netþjóninn þinn. Á meðan geturðu auðveldað Docker stjórnun verkefnis

Settu upp Rancher Server á RancherOS

Settu upp Rancher Server á RancherOS

Yfirlit RancherOS er ótrúlega létt stýrikerfi (aðeins um 60 MB) sem keyrir Docker púkk kerfisins sem PID 0 til að keyra kerfisþjónustur

Byrjaðu með Kubernetes á CentOS 7

Byrjaðu með Kubernetes á CentOS 7

Kubernetes er opinn uppspretta vettvangur þróaður af Google til að stjórna gámaforritum yfir þyrping netþjóna. Það byggir á áratug og

Settu upp Rancher á Ubuntu 16.04

Settu upp Rancher á Ubuntu 16.04

Að nota annað kerfi? Inngangur Rancher er opinn uppspretta vettvangur til að keyra gáma og byggja upp einkagámaþjónustu. Rancher er grunnur

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Gervigreind er ekki í framtíðinni, hún er hér í nútímanum Í þessu bloggi Lestu hvernig gervigreindarforrit hafa haft áhrif á ýmsa geira.

DDOS árásir: Stutt yfirlit

DDOS árásir: Stutt yfirlit

Ertu líka fórnarlamb DDOS árása og ruglaður með forvarnaraðferðirnar? Lestu þessa grein til að leysa spurningar þínar.

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Þú gætir hafa heyrt að tölvuþrjótar græða mikið af peningum, en hefur þú einhvern tíma velt því fyrir þér hvernig þeir vinna sér inn svona peninga? við skulum ræða.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Viltu sjá byltingarkenndar uppfinningar frá Google og hvernig þessar uppfinningar breyttu lífi hvers manns í dag? Lestu síðan til að blogga til að sjá uppfinningar frá Google.

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Hugmyndin um að sjálfkeyrandi bílar fari á göturnar með hjálp gervigreindar er draumur sem við höfum átt um tíma núna. En þrátt fyrir nokkur loforð eru þau hvergi sjáanleg. Lestu þetta blogg til að læra meira…

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Þar sem vísindin þróast hratt og taka yfir mikið af viðleitni okkar, eykst hættan á því að verða fyrir óútskýranlegri einstæðu. Lestu, hvað sérkenni gæti þýtt fyrir okkur.

Þróun gagnageymslu – Infographic

Þróun gagnageymslu – Infographic

Geymsluaðferðir gagna hafa verið að þróast gæti verið frá fæðingu gagna. Þetta blogg fjallar um þróun gagnageymslu á grundvelli upplýsingamynda.

Virkni Big Data Reference Architecture Layers

Virkni Big Data Reference Architecture Layers

Lestu bloggið til að þekkja mismunandi lög í Big Data Architecture og virkni þeirra á einfaldasta hátt.

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

Í þessum stafræna heimi hafa snjallheimilistæki orðið afgerandi hluti af lífi. Hér eru nokkrir ótrúlegir kostir snjallheimatækja um hvernig þau gera líf okkar þess virði að lifa því og einfaldara.

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

Nýlega gaf Apple út macOS Catalina 10.15.4 viðbótaruppfærslu til að laga vandamál en svo virðist sem uppfærslan sé að valda fleiri vandamálum sem leiða til múrsteins á Mac vélum. Lestu þessa grein til að læra meira