Доцкер без корена

Docker Bez Korena



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

Међутим, када радимо у Доцкер-у, можемо наићи на инстанце у којима морамо да креирамо и користимо Доцкер ресурсе, али немамо роот приступ.

Или можда желите да дозволите већем броју корисника на датом систему да приступе и користе Доцкер без давања роот дозволе свим корисницима.







У овом водичу ћемо научити о Доцкер-у без роот-а, шта то значи, како функционише и како можемо да га користимо да омогућимо корисницима без роот приступа да користе Доцкер и његове повезане услуге.



Шта је Доцкер без корена?

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



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





Како то ради

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

Кориснички простори имена – Једна од значајних карактеристика које користи доцкер без роот-а су кориснички простори имена. Ова основна карактеристика Линук кернела омогућава процесима да имају различите ИД-ове корисника и група унутар именског простора у поређењу са спољашњим. То значи да се процес може покренути као роот корисник унутар свог именског простора, али изван тога, покреће се као обичан корисник.



Умрежавање – Следећа карактеристика Доцкер-а без роот-а је умрежавање. Подразумевано, нормални доцкер демон се ослања на мрежне стекове као што су иптаблес и бридгеови који захтевају роот дозволе.

Доцкер користи предности као што је слирп4нетнс, који обезбеђује ТЦП/ИП стек у корисничком режиму у доцкер-у без корена. Ово омогућава Доцкер-у да приступи мрежи без роот дозволе на хост систему.

Складиште – Следећи суштински део доцкер-а без роот-а је драјвер за складиштење. Доцкер подразумевано користи оверлаи2 драјвер за складиштење, који, као што можете претпоставити, захтева роот дозволе. Уместо тога, инстанца доцкер-а без корена користи управљачки програм фусе-оверлаифс. Овај драјвер је заснован на ФУСЕ оверлаи фс, што нам омогућава да га монтирамо без роот дозвола.

Горе наведено су неке од основних компоненти инстанце доцкер-а без роот-а. Запамтите да ово не истражује комплетан рад доцкер-а без роот-а. Размотрите документацију да бисте сазнали више.

Доцкер без корена – Захтеви

Хајде да пређемо са теорије и научимо како да креирамо и конфигуришемо Доцкер окружење без корена.

Да бисте пратили овај пост, уверите се да имате следеће:

  1. Систем заснован на Линук-у са роот дозволама.
  2. Приступ мрежи.

Конфигурисање система помоћу УИДМап-а

Пре инсталирања и конфигурисања Доцкер-а, морамо да инсталирамо и конфигуришемо систем помоћу уидмап услужног програма.

УИДМап нам омогућава да управљамо УИД и ГУИ мапирањем процеса у Линук систему у садржају корисничких именских простора. Сећате се када смо споменули да Доцкер без корена користи предности корисничких именских простора? Овај алат ће нам омогућити да наведемо УИД и ГИД мапирања и њихове одговарајуће просторе имена.

Започните освежавањем системских пакета на следећи начин:

$ судо апт-гет упдате

Затим инсталирајте уидмап услужни програм као што је приказано:

$ судо апт-гет инсталл уидмап

Инсталирање Роотлесс Доцкер-а

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

Започните преузимањем скрипте за инсталацију доцкер-а без роот-а са доле приказане везе:

Б8Б5615ЦБЦ6Д3Ф7Ф9064Б9Б725Ф66АБА15А73Е22

Можете користити цУРЛ или ВГЕТ.

$ цурл -сСЛ хттпс: // гет.доцкер.цом / без корена | сх

Имајте на уму да горњу команду не можете покренути као роот корисник.

Када се инсталација заврши, уредите своју .басхрц датотеку користећи свој омиљени уређивач текста:

$ нано .басхрц

Затим додајте следеће уносе у конфигурациону датотеку басхрц:

извоз КСДГ_РУНТИМЕ_ДИР = / кућа / убунту / .доцкер / трцати

извоз ПАТХ = / кућа / убунту / канта: $ПАТХ

извоз ДОЦКЕР_ХОСТ =уник: /// кућа / убунту / .доцкер / трцати / доцкер.соцк

Обавезно промените корисника са „убунту“ на корисника коме желите да инсталирате Доцкер. Излаз скрипте ће вам дати садржај за додавање у .басхрц датотеку.

Сачувајте измене и затворите уређивач.

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

системцтл --убунту покрените доцкер

Када покренете, можете користити Доцкер команде за покретање и конфигурисање Доцкер контејнера.

Закључак

У овом водичу смо научили функционалност Доцкер-а без роот-а, како он функционише и како га можемо конфигурисати на Линук систему. Слободно проверите документацију за доцкер без роот-а да бисте сазнали више.