Docker контейнерлеріндегі файлдардың дифференциалды сақтық көшірмесі. Осы пайдалы функцияның егжей-тегжейлерін қарастырайық.
Docker контейнерлерді және олардың мазмұнын басқаруға арналған қуатты мүмкіндіктерді қамтамасыз етеді. Дегенмен, деректерді жаңарту немесе контейнерлер мен хост арасында файлдарды синхрондау сияқты кейбір сценарийлер дифференциалды файлды көшіруді қажет етеді.
Дифференциалды көшіру тек өзгерген файлдарды көшіру арқылы тасымалданатын деректер көлемін азайтуға мүмкіндік береді.
Бұл мақалада rsync және Docker қабаттары арқылы Docker контейнерлерінде дифференциалды көшіруді жүзеге асыру жолын қарастырамыз .
1. Файлдарды дифференциалды көшіру үшін rsync
пайдалану
Контейнерге rsync
орнату
rsync
— бұл тек өзгерген файлдарды берілетін деректер көлемін азайту арқылы файлдар мен каталогтарды көшіруге арналған утилита. Docker контейнерінде rsync
пайдалану үшін оны бейнеге орнату қажет:
FROM ubuntu:latest
RUN apt-get update && apt-get install -y rsync
Файлдарды rsync пайдаланып көшіру
Контейнерге rsync
орнатқаннан кейін, оны файлдарды көшіру үшін пайдалануға болады. Файлдарды дифференциалды көшіру үшін rsync
пайдалану мысалы:
rsync -avz /path/to/source /path/to/destination
Бұл команда /path/to/source
бастап /path/to/destination
дейін файлдарды көшіреді, тек өзгерген файлдарды береді.
rsync және Docker пайдалану мысалы
Айталық, бізде my_container
контейнері бар және біз жергілікті каталогты /local/dir
контейнер ішіндегі каталогпен /container/dir
синхрондағымыз келеді. Мұны docker exec
және rsync
комбинациясын пайдаланып жасауға болады:
-
Алдымен файлдарды контейнерге
docker cp
арқылы көшіреміз:shdocker cp /local/dir my_container:/container/dir
-
Содан кейін өзгерістерді синхрондау үшін
rsync
қолданамыз:shdocker exec my_container rsync -avz /container/dir /local/dir
2. Docker қабаттарын пайдалану
Docker қабаттарға негізделген файлдық жүйені пайдаланады, мұнда әрбір қабат алдыңғы қабатқа қатысты өзгерістер жиынтығын білдіреді. Бұл Docker-дің қабат деңгейінде дифференциалды өзгерістерді автоматты түрде басқаруын білдіреді. Сіз Dockerfile-де өзгерістер енгізген сайын, Docker осы өзгерістерді қамтитын жаңа қабат жасайды.
Dockerfile-де қабаттарды пайдалану мысалы
Dockerfile-де файлдардағы өзгерістердің қабат деңгейінде қалай ескерілетінін көрсететін мысалды қарастырайық:
FROM ubuntu:latest
# Алғашқы файлдарды көшіреміз
COPY initial_files /app
# Файлдарға өзгерістер енгіземіз
COPY updated_files /app
Бұл мысалда алдымен бастапқы файлдар көшіріледі, содан кейін өзгертілген файлдар көшіріліп, өзгерістері бар жаңа қабат жасалады. Docker тек жаңа қабатта өзгертілген файлдарды сақтайды, бұл бейне деңгейінде тиімді дифференциалды көшіруді жүзеге асырады.
3. docker cp
командасын пайдалану
docker cp
командасы файлдарды немесе каталогтарды жергілікті файлдық жүйе мен контейнер арасында көшіруге мүмкіндік береді. docker cp
әдепкі бойынша дифференциалды көшіруді қолдамаса да, оны бастапқы көшіру үшін пайдаланып, содан кейін өзгерістерді синхрондау үшін rsync
пайдалануға болады.
docker cp
пайдалану мысалдары
-
Файлдарды контейнерден жергілікті машинаға көшіру:
shdocker cp my_container:/path/to/container/files /path/to/local/destination
-
Файлдарды жергілікті машинадан контейнерге көшіру:
shdocker cp /path/to/local/source my_container:/path/to/container/destination
Қорытынды
Docker контейнерлеріндегі файлдарды дифференциалды көшіруді rsync
және Docker қабаттарын пайдаланып тиімді жүзеге асыруға болады. rsync
тек өзгерген файлдарды көшіру арқылы берілетін деректер көлемін азайтуға мүмкіндік береді, бұл хост пен контейнер арасындағы деректерді синхрондау үшін өте пайдалы.
Docker қабаттары файлдардағы өзгерістерді автоматты түрде басқарып, бейне деңгейінде тиімді нұсқаларды басқару жүйесін жасайды. Бұл әдістер файлдарды басқару процесін оңтайландыруға көмектеседі және Docker контейнерлерімен жұмыс істеу кезінде жоғары өнімділікті қамтамасыз етеді.
Реклама Google |
![]() |
Назар аударыңыз! Бұл мақала ресми құжат емес.Ақпаратты сақтықпен және сынақ ортасында пайдалану керек.
Заманауи сақтық көшірме жасау, репликациялау, деректерді синхрондау және төлемдік бағдарламадан қорғау жүйелерін құру туралы сұрақтарыңыз болса, қазіргі заманғы деректердің сақтық көшірмесін жасау және қалпына келтіру технологиялары бойынша кеңес алу үшін біздің компанияға хабарласыңыз . Біздің компанияның осы салада 20 жылдан астам тәжірибесі бар. |
Қазақстандағы резервтік көшірудің ең жақсы он тәжірибесі
- oVirt гипервизорын қорғау — терең талдау
- oVirt жүйесінен Proxmox жүйесіне виртуалды машинаны көшіру
- Proxmox-тан oVirt-ке виртуалды машинаны көшіру
- Kubernetes контейнерлерін қорғау — терең талдау
- Proxmox гипервизорын бұзудан қалай қорғауға болады - Терең талдау
- Fail2Ban-ды oVirt жүйесін қорғауда қолдану - Терең талдау
- oVirt гипервизорын сақтандыруды ұйымдастыру — Терең талдау
- Виртуалды машинаны гипервизорлар арасында Proxmox арқылы көшіру
- Proxmox гипервизорын виртуалды машиналардың оңтайлы жұмысын қамтамасыз ету үшін конфигурациялау
- Proxmox-те SSH арқылы root құқықтарының бұзылуынан қорғау: терең талдау