Учење Доцкер-а, 6. део: Рад са подацима

У данашњем делу превода серије материјала о Доцкеру говорићемо о раду са подацима. Конкретно, о Доцкер томовима. У овим материјалима смо стално упоређивали Доцкер програмске механизме са разним јестивим аналогијама. Ми овде нећемо одступити од ове традиције. Нека подаци у Доцкер-у буду зачини. На свету постоји много врста зачина, а Доцкер има много начина за рад са подацима.

Део 1: Основе
Део 2: појмови и појмови
Део 3: Доцкерфилес
Део 4: Смањење величине слика и убрзавање њиховог склапања
Део 5: команде
Део 6: рад са подацима

Учење Доцкер-а, 6. део: Рад са подацима

Имајте на уму да је овај материјал припремљен коришћењем Доцкер енгине верзије 18.09.1 ​​и АПИ верзије 1.39.

Подаци у Доцкер-у могу се чувати привремено или трајно. Почнимо са привременим подацима.

Привремено складиштење података

Постоје два начина за управљање привременим подацима у Доцкер контејнерима.

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

Привремено складиштење датотека у Доцкер-у је још једно решење које је погодно за случајеве где је потребан виши ниво перформанси у поређењу са оним што је могуће постићи коришћењем стандардног механизма привременог складиштења података. Ако вам није потребно да се ваши подаци чувају дуже него што контејнер постоји, можете се повезати са контејнером тмпфс – привременим складиштем информација које користи РАМ хоста. Ово ће убрзати извршавање операција писања и читања података.

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

Трајно складиштење података

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

Учење Доцкер-а, 6. део: Рад са подацима
Монтирање тмпфс-а и повезивање веза

Недостаци коришћења технологије повезивања су то што њена употреба компликује резервну копију података, миграцију података, дељење података између неколико контејнера. Много је боље користити Доцкер волумене за трајно складиштење података.

Волумес Доцкер

Волумен је систем датотека који се налази на главној машини изван контејнера. Волуме креира и њиме управља Доцкер. Ево главних својстава Доцкер волумена:

  • Они су средство трајног складиштења информација.
  • Они су независни и одвојени од контејнера.
  • Могу се делити између различитих контејнера.
  • Они вам омогућавају да организујете ефикасно читање и писање података.
  • Волуме се могу поставити на ресурсе удаљеног добављача облака.
  • Могу се шифровати.
  • Могу им се дати имена.
  • Контејнер може да организује претходно попуњавање запремине подацима.
  • Погодни су за тестирање.

Као што видите, Доцкер волумени имају невероватна својства. Хајде да разговарамо о томе како их створити.

Креирање томова

Волуме се могу креирати помоћу Доцкер или АПИ захтева.

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

VOLUME /my_volume

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

Такође можете креирати волумене у Доцкерфиле-у користећи ЈСОН формат.

Поред тога, волумени се могу креирати помоћу алата командне линије док је контејнер покренут.

Рад са волуменима из командне линије

▍Креирање волумена

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

docker volume create —-name my_volume

▍Пронађите информације о количинама

Да бисте видели листу Доцкер волумена, користите следећу команду:

docker volume ls

Можете истражити одређени волумен овако:

docker volume inspect my_volume

▍Брисање волумена

Можете да избришете волумен овако:

docker volume rm my_volume

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

docker volume prune

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

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

docker system prune

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

Заставице --моунт и --волуме

За рад са волуменима, када позовете команду docker, често ћете морати да користите заставице. На пример, да бисте креирали волумен током креирања контејнера, можете користити ову конструкцију:

docker container run --mount source=my_volume, target=/container/path/for/volume my_image

У давна времена (до 2017. године) застава је била популарна --volume. У почетку, ова застава (може се користити и у скраћеном облику, онда изгледа као -v) је коришћен за самосталне контејнере и заставу --mount - у Доцкер Сварм окружењу. Међутим, од Доцкер-а 17.06, застава --mount може се користити у било ком сценарију.

Треба напоменути да приликом употребе заставе --mount повећава се количина додатних података који се морају навести у команди, али је, из више разлога, боље користити ову заставицу, а не --volume. Застава --mount је једини механизам који вам омогућава да радите са услугама или да одредите опције драјвера за јачину звука. Такође, са овом заставом је лакше радити.

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

Главна разлика између --mount и --volume да ли је при употреби заставе --volume сви параметри се скупљају заједно у једном пољу, а када се користе --mount параметри су одвојени.

При раду са --mount параметри су представљени као парови кључ-вредност, наиме, изгледа као key=value. Ови парови су одвојени зарезима. Ево најчешће коришћених опција --mount:

  • type — тип носача. Вредност за одговарајући кључ може бити обавезују, запремина или тмпфс. Овде говоримо о количинама, односно занима нас вредност volume.
  • source - моунт соурце. За именоване волумене, ово је назив волумена. За неименоване волумене, овај кључ није наведен. Може се скратити на src.
  • destination - путања на коју се датотека или фасцикла монтирају у контејнер. Овај кључ се може скратити на dst или target.
  • readonly - монтира запремину која је намењена само за читање. Употреба овог кључа је опциона и никаква вредност му није додељена.

Ево примера употребе --mount са много опција:

docker run --mount type=volume,source=volume_name,destination=/path/in/container,readonly my_image

Резултати

Ево неколико корисних команди које можете да користите када радите са Доцкер волуменима:

  • docker volume create
  • docker volume ls
  • docker volume inspect
  • docker volume rm
  • docker volume prune

Ево листе најчешће коришћених опција за --mount, применљиво у команди обрасца docker run --mount my_options my_image:

  • type=volume
  • source=volume_name
  • destination=/path/in/container
  • readonly

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

Драги читаоци! Које Доцкер материјале бисте препоручили почетницима да науче?

Учење Доцкер-а, 6. део: Рад са подацима

Извор: ввв.хабр.цом

Додај коментар