Изоляцияланган Linux Docker контейнерлерин башкаруу үчүн куралдар топтомунда аялуу (), бул, белгилүү бир шарттарда, тутумда сүрөттөрүңүздү ишке киргизүү мүмкүнчүлүгүнө ээ болсоңуз же иштеп жаткан контейнерге кирүү мүмкүнчүлүгүңүз болсо, контейнерден хост чөйрөсүнө кирүүгө мүмкүндүк берет. Көйгөй Dockerдин бардык версияларында пайда болот жана чечилбеген бойдон калууда (сунушталган, бирок азырынча кабыл алынбайт, , ФС) менен операцияларды аткарууда контейнерди токтотууну ишке ашырат.
Алсыздык "docker cp" буйругун аткарууда файлдарды контейнерден хост тутумунун файл тутумунун ыктыярдуу бөлүгүнө чыгарууга мүмкүндүк берет. Файлды чыгаруу түпкү укуктар менен аткарылат, бул хост чөйрөсүндөгү каалаган файлдарды окууга же жазууга мүмкүндүк берет, бул хост тутумун башкаруу үчүн жетиштүү (мисалы, /etc/shadow үстүнөн жаза аласыз).
Кол салуу администратор файлдарды контейнерге же андан көчүрүү үчүн “docker cp” буйругун аткарганда гана ишке ашырылышы мүмкүн. Ошентип, чабуулчу кандайдыр бир жол менен Docker администраторун бул операцияны аткаруу зарылдыгына ынандыруу жана көчүрүү учурунда колдонулган жолду алдын ала айтуусу керек. Башка жагынан алганда, чабуул, мисалы, булут кызматтары конфигурация файлдарын “докер cp” буйругунун жардамы менен курулган контейнерге көчүрүү куралдарын бергенде ишке ашырылышы мүмкүн.
Көйгөй функцияны колдонуудагы мүчүлүштүктөн улам келип чыгат , контейнерди жайгаштырууну эске алуу менен салыштырмалуу жолдун негизинде негизги файл тутумундагы абсолюттук жолду эсептейт. "Docker cp" буйругун аткарып жатканда, кыска мөөнөттүү , анда жол буга чейин текшерилген, бирок операция аткарыла элек. Көчүрүү хост тутумунун негизги файлдык тутумунун контекстинде аткарылгандыктан, белгилүү бир убакыттын ичинде, сиз шилтемени башка жол менен алмаштырууну башкара аласыз жана маалыматтарды файл тутумундагы каалаган жерге көчүрүүнү баштоого болот. контейнер.
Жарыш шартынын пайда болушу үчүн убакыт терезеси даярдалганда абдан чектелген болгондуктан Контейнерден көчүрүү операцияларын аткарууда, көчүрүү операциясында колдонулган жолдогу символдук шилтемени циклдик алмаштырууда 1% дан азыраак учурларда ийгиликтүү чабуулга жетишүүгө мүмкүн болгон (ийгиликтүү чабуул болжол менен 10 секунддук аракеттерден кийин ишке ашырылган). файлды "docker cp" буйругу менен циклге үзгүлтүксүз көчүрүү үчүн).
Контейнерге көчүрүү операциясын аткаруу менен, сиз бир нече итерацияда хост тутумунда кайталануучу файлдын үстүнөн жазуу чабуулуна жетише аласыз. Кол салуу мүмкүнчүлүгү контейнерге көчүрүү учурунда “chrootarchive” концепциясы колдонулгандыгына байланыштуу, ага ылайык archive.go процесси архивди контейнердин тамырынын chrootуна эмес, анын chrootуна чыгарат. чабуулчу тарабынан башкарылуучу жана контейнердин аткарылышын токтотпогон максаттуу жолдун аталык каталогу (chroot жарыш шарттарын пайдалануу үчүн белги катары колдонулат).
Source: opennet.ru
