На ЦореОС-у, подесите сопствени Доцкер регистар

На ЦореОС-у, подесите сопствени Доцкер регистар

Сви знамо и волимо Доцкер, платформу за креирање, управљање и дистрибуцију контејнера апликација на више машина. Доцкер Инц. пружа услугу за хостовање контејнера отвореног кода који се преузимају (или повлаче) као гит спремиште познато као „Доцкер Регистри“. Замислите то као ГитХуб за Доцкер контејнере.

Али шта ако желите да угостите сопствени регистар одвојен од јавног? Па, Доцкер Инц. је отворио своју апликацију Регистри на ГитХуб-у.

Овај водич ће вас одвести кроз процес подешавања приватног Доцкер регистра користећи ЦореОС на новом ВПС-у.

ЦореОС + Доцкер

Нећемо трошити много времена на то што тачно Доцкер и ЦореОС могу да ураде, јер је то ван оквира овог упутства. У суштини, ЦореОС је дизајниран за масивне кластере сервера, мали је, брз и аутоматски добија редовна безбедносна ажурирања. Његов основни систем датотека је такође само за читање, што значи да морате да користите Доцкер за покретање било које врсте софтвера који није укључен у основну инсталацију.

Ово чини Цоре ОС савршеним хост системом за Доцкер!

Повлачење и покретање најновијег регистра

Доцкер Инц. је обезбедио регистар као слику највишег нивоа, што значи да можемо да га повучемо надоле једноставним:

docker pull registry

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

Плус што је слика највишег нивоа такође значи да добија редовну подршку и ажурирања.

Хајде сада да тестирамо регистар. Можемо да креирамо нови контејнер користећи слику регистратора:

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

За оне који нису превише користили Доцкер, -pзаставица означава PORT, што значи да излажемо порт 5000 из контејнера на порт хоста 5000.

Ознака је -dскраћеница за daemon, ово ће довести до покретања контејнера у позадини и не штампања излаза у тренутној ССХ сесији, такође желимо да назовемо овај основни тестни контејнер користећи --nameопцију тако да можемо лако да управљамо њиме касније.

Уверите се да ваш основни контејнер регистратора ради помоћу docker ps. Излаз би требао изгледати слично:

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

Такође, посетите http://YOUR_IP:5000у свом веб претраживачу и требало би да добијете поруку попут следеће:

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

Сада имате покренут сопствени (веома основни) регистар контејнера! Али још нисмо готови.

Можда желите да ово сачувате приватно од радозналих очију или можда да сачувате своје слике на Амазон С3 уместо у локалном складишту. Хајде да прођемо кроз различите опције конфигурације у следећем одељку.

Пре него што кренемо даље, хајде да убијемо тест контејнер да не бисмо наишли на конфликтне портове.

docker kill basic_registry

Конфигурација регистра

Постоје два начина на које можемо проследити конфигурацију Доцкер регистру. Један начин је прослеђивање променљивих окружења у нови контејнер, а други је додавање конфигурационе датотеке.

Ево неколико уобичајених опција конфигурације које ћемо користити:

  • loglevel- Минимална количина информација за логовање на конзолу. Подразумевано је info.
  • standalone- Да ли овај Регистар треба да делује самостално? (Никада не поставља упите јавном регистру.) Подразумевано је true.
  • index_endpoint- Ако није самосталан, који други индекс ћемо тражити? Подразумевано index.docker.io.
  • cacheи cache_lru- Опције које се односе на коришћење Редис кеш меморије за мале датотеке, то ћемо се дотакнути касније.
  • storage– Коју позадину за складиштење треба да користимо за овај сервер? (У овом водичу ћемо користити локални).
  • storage_path - Ако користите локалну меморију, који директоријум треба да користимо за чување датотека?

Пре него што почнемо да радимо са конфигурацијом, потребна нам је основна датотека за рад. Датотека из Доцкер Регистри спремишта на ГитХуб-у ће радити сасвим добро:

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

Датотека би требало да буде успешно сачувана са излазом као што је:

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

Сјајно! Сада можемо да изменимо ову датотеку тако да одговара нашим потребама.

Једини уређивач текста који долази са Цоре ОС-ом је vim, али не брините ако га никада раније нисте користили, ово ће објаснити корак по корак шта да уређујете и како да то урадите.

vim config_sample.yml

Када отворите датотеку, притисните Iи доњи десни угао би требало да прикаже: -- INSERT --за режим уметања. Померите се скроз до дна датотеке помоћу тастера са стрелицама, требало би да видите одељак са ознаком prod.

Променићемо две линије, промене су испод

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

Оно што смо урадили је да променимо prodконфигурацију тако да произилази из localсекције уместо s3одељка. Затим смо заменили да storage_pathбисмо користили путању /dataунутар новог контејнера.

Када потврдите да су све промене тачне, притисните ESCда бисте изашли из режима уметања и укуцајте :wq(то значи да упишите промене у датотеку и затворите вим.)

Сада преименујмо датотеку у јуст config.yml

mv config_sample.yml config.yml

Редис кеширање (опционо)

Ако желите да користите редис да бисте убрзали свој регистар контејнера, то је једноставно као да извучете нови контејнер из јавног регистра и додате још неколико редова конфигурације.

Прво повуците слику највишег нивоа Редис-а:

docker pull redis

Када се слика успешно повуче, можемо је покренути и именовати је као што смо урадили са тест регистром:

docker run -d --name registry-redis redis

Пошто је редис у меморији, не морамо да радимо никакву конфигурацију за њега, јер ћемо га повезати са контејнером регистратора у каснијим корацима.

Још једном, уверите се да ради користећи 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

Сада поново отворите config.ymlин vimи уђите у режим уметања као и први пут када смо га уређивали.

Додајте следеће редове испод prodодељка, пазећи да су правилно увучени. Овог пута само додајемо cacheи 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

Променљиве окружења REDIS_PORT_6379_TCP_ADDRи REDIS_PORT_6379_TCP_PORTпрослеђују се у контејнер регистратора након повезивања са Редис контејнером.

Уз то, сада имате подешавање Редис контејнера који ће радити руку под руку са вашим контејнером регистра. Сада на изградњу регистра!

Изградња контејнера

Имамо комплетну и спремну конфигурацију, сада треба да направимо стварни контејнер регистратора.

vim DockerfileПокрените се да бисте креирали нови Доцкерфиле. Уђите у режим уметања и пратите измене у наставку.

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

Оно што смо урадили изнад је у суштини проширити слику регистратора тако да ће користити нашу конфигурациону датотеку и подешавања. Доцкерфиле је скуп инструкција за прављење које Доцкер чита и прави. Ако желите да сазнате више о Доцкер фајловима и њиховој синтакси, погледајте званичну документацију Доцкер сајта.

Затим морамо да направимо контејнер за употребу.

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

Сада смо спремни за трчање!

Хајде да направимо директоријум на нашем хост систему који ће се монтирати у контејнер као /dataволумен.

mkdir registry-data

Сада можемо да завртимо нови контејнер. Ако планирате да користите Редис кеш, користите 2. команду испод.

# 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

Да бисте били сигурни да ваш сервер ради исправно, посетите http://YOUR_IP:5000. Видећете следећу поруку:

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

Приметите шта (prod)значи да су наше промене конфигурације биле успешне!

Конфигуришите свој локални Доцкер клијент

Сада када имамо сопствени покренути регистар, желимо да Доцкер клијент на нашим локалним машинама почне да га користи. Обично бисте користили команду: docker login, али за нашу употребу морамо да додамо још један аргумент команди за пријаву:

docker login YOUR_IP:5000

Унесите корисничко име и лозинку (размишљајте о томе као да направите нови налог) и занемарите поруку која каже да морате да га активирате.

Затим, хајде да извучемо стоковну слику и гурнемо је у наше сопствено складиште.

# 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

Ако је све исправно, коначна порука би требало да буде на следећи начин:

Pushing tag for rev [a9eb17255234] on 

Честитам! Поставили сте своје сопствено доцкер спремиште.

Шта је следеће?

Ево неколико идеја о томе како да побољшате свој нови приватни регистар:

  • Обрнути прокси помоћу Нгинк-а или Апацхе-а за постављање додатне сигурности испред њега, попут једноставне ХТТП аутх.
  • Набавите домен за свој сервер и подесите га тако да можете приступити свом регистру помоћу нечег попут: регистри.мисите.цом
  • Купите (или сами потпишите) ССЛ сертификат да бисте додали још више заштите ако ваши контејнери садрже осетљиве информације.

Ево како да проверите Хипер-В контејнере на Виндовс 10 Инсидер-у

Ево како да проверите Хипер-В контејнере на Виндовс 10 Инсидер-у

Мицрософт је у новом посту на блогу објаснио како Виндовс Инсајдери могу тестирати Хипер-В контејнере на Виндовс 10, ново решење за виртуелизацију које омогућава покретање апликација без утицаја на остатак вашег оперативног система.

Како инсталирати Харбор на ЦентОС 7

Како инсталирати Харбор на ЦентОС 7

Харбор је сервер регистра предузећа отвореног кода који чува и дистрибуира Доцкер слике. Харбор проширује Доцкер Дистрибутион отвореног кода б

Инсталирајте Ранцхер ОС преко иПКСЕ

Инсталирајте Ранцхер ОС преко иПКСЕ

Ранцхер ОС је веома лагана Линук дистрибуција изграђена око Доцкер-а. Сам ОС тежи око 20МБ. Овај водич ће вас покренути и покренути

На ЦореОС-у, подесите сопствени Доцкер регистар

На ЦореОС-у, подесите сопствени Доцкер регистар

Сви знамо и волимо Доцкер, платформу за креирање, управљање и дистрибуцију контејнера апликација на више машина. Доцкер Инц. пружа услугу т

Инсталирање доцкер-цомпосе на ЦореОС

Инсталирање доцкер-цомпосе на ЦореОС

Овај чланак објашњава како да инсталирате доцкер-цомпосе на ЦореОС. У ЦореОС-у, директоријум /уср/ је непроменљив тако да је стандардна /уср/лоцал/бин путања недоступна за

Инсталирајте Ранцхер на ЦентОС 7

Инсталирајте Ранцхер на ЦентОС 7

Користите другачији систем? Увод Ранцхер је платформа отвореног кода за покретање контејнера и изградњу приватног контејнерског сервиса. Ранчер је база

Инсталирајте Доцкер ЦЕ на Убунту 18.04

Инсталирајте Доцкер ЦЕ на Убунту 18.04

Увод Доцкер је апликација која нам омогућава да применимо програме који се покрећу као контејнери. Написан је у популарном Го програмском језику

Направите Доцкер Сварм на Алпине Линук 3.9.0

Направите Доцкер Сварм на Алпине Линук 3.9.0

Увод Овај водич ће вам показати како да креирате и конфигуришете Доцкер рој користећи више Алпине Линук 3.9.0 сервера и Портаинер-а. Имајте на уму да

Поставите ПХП апликацију користећи Доцкер-цомпосе

Поставите ПХП апликацију користећи Доцкер-цомпосе

ПХП апликације се обично састоје од веб сервера, система релационих база података и самог тумача језика. У овом туторијалу бићемо полуге

Баланс оптерећења са Доцкер-ом

Баланс оптерећења са Доцкер-ом

Када покрећете веб апликацију, обично желите да максимално искористите своје ресурсе без потребе да конвертујете софтвер да користи вишенитно о

Поставите Ноде.јс апликацију користећи Доцкер

Поставите Ноде.јс апликацију користећи Доцкер

Овај чланак ће вам показати како да примените своју Ноде апликацију у Доцкер контејнеру. Напомена: Овај водич претпоставља да имате инсталиран и прочитан Доцкер

Инсталирање Доцкер ЦЕ на ЦентОС 7

Инсталирање Доцкер ЦЕ на ЦентОС 7

Доцкер контејнерска технологија вам омогућава да покрећете апликације у специфичном и изолованом окружењу. Доцкер Цоммунити Едитион (ЦЕ) је ново име за фре

Поставите Кубернетес са Кубеадм-ом на ЦентОС 7

Поставите Кубернетес са Кубеадм-ом на ЦентОС 7

Преглед Овај чланак има за циљ да вам помогне да за кратко време покренете Кубернетес кластер са кубеадм-ом. Овај водич ће применити два сервера, на

Инсталирање Доцкер-а на ЦентОС 7

Инсталирање Доцкер-а на ЦентОС 7

Користите другачији систем? Доцкер је апликација која омогућава примену софтвера унутар виртуелних контејнера. Написано је у Го програму

Инсталирање Доцкер ЦЕ на Дебиан 9

Инсталирање Доцкер ЦЕ на Дебиан 9

Користите другачији систем? Увод Доцкер је апликација која омогућава примену софтвера унутар виртуелних контејнера. Написано је у Г

Започните са СКЛ Сервером 2017 (МС-СКЛ) на ЦентОС 7 помоћу Доцкер-а

Започните са СКЛ Сервером 2017 (МС-СКЛ) на ЦентОС 7 помоћу Доцкер-а

Предуслови Доцкер енгине 1.8+. Најмање 4 ГБ простора на диску. Најмање 4 ГБ РАМ-а. Корак 1. Инсталирајте Доцкер Да бисте инсталирали СКЛ-Сервер, потребно је Доцкер

Стицки Сессион Витх Доцкер Сварм (ЦЕ) на Дебиан-у 9

Стицки Сессион Витх Доцкер Сварм (ЦЕ) на Дебиан-у 9

Користите другачији систем? Увод Доцкер Сварм претвара ваше појединачне сервере у кластер рачунара; олакшавање скалирања, висока доступност ан

Два Доцкер графичка алата за управљање: ДоцкерУИ и Схипиард

Два Доцкер графичка алата за управљање: ДоцкерУИ и Схипиард

Уз помоћ апликације Вултр Доцкер, можете лако да примените Доцкер на инстанци вашег Вултр сервера. У међувремену, можете олакшати задатак управљања Доцкер-ом

Инсталирајте Ранцхер Сервер на РанцхерОС

Инсталирајте Ранцхер Сервер на РанцхерОС

Преглед РанцхерОС је невероватно лаган оперативни систем (само око 60 МБ) који покреће системски Доцкер демон као ПИД 0 за покретање системских услуга

Почетак рада са Кубернетес-ом на ЦентОС-у 7

Почетак рада са Кубернетес-ом на ЦентОС-у 7

Кубернетес је платформа отвореног кода коју је развио Гоогле за управљање контејнерским апликацијама на кластеру сервера. Надовезује се на деценију и

Успон машина: Примене вештачке интелигенције у стварном свету

Успон машина: Примене вештачке интелигенције у стварном свету

Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.

ДДОС напади: кратак преглед

ДДОС напади: кратак преглед

Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.

Да ли сте се икада запитали како хакери зарађују новац?

Да ли сте се икада запитали како хакери зарађују новац?

Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Гоогле-ови револуционарни изуми који ће вам олакшати живот.

Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Фридаи Ессентиал: Шта се десило са аутомобилима које покреће вештачка интелигенција?

Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…

Технолошка сингуларност: далека будућност људске цивилизације?

Технолошка сингуларност: далека будућност људске цивилизације?

Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.

Еволуција складиштења података – Инфографика

Еволуција складиштења података – Инфографика

Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.

Функционалности слојева референтне архитектуре великих података

Функционалности слојева референтне архитектуре великих података

Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

6 невероватних предности поседовања паметних кућних уређаја у нашим животима

У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Ажурирање додатка за мацОС Цаталина 10.15.4 изазива више проблема него што их решава

Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више