Виртуализация қазіргі заманғы IT саласының ажырамас бөлігіне айналды, ал контейнерлер бұл процесте маңызды рөл атқарады. Егер сіз осы салада жаңадан болсаңыз және виртуалды контейнерлердің не екенін және оларды қалай пайдалану керектігін түсінгіңіз келсе, бұл нұсқаулық сізге арналған. Біз негізгі түсініктерді, артықшылықтарды түсіндіріп, контейнерлермен жұмыс істеу қадамдарын қарастырамыз.
Виртуалды контейнер дегеніміз не?
Негізгі түсініктер
Виртуалды контейнер - бұл қосымшаларды іске қосу үшін қолданылатын жеңіл оқшауланған орта. Контейнерлер қосымшаны барлық тәуелділіктерімен және конфигурацияларымен бірге бір образға орауға мүмкіндік береді, содан кейін оны кез келген контейнерлік қозғалтқышы орнатылған машинада іске қосуға болады, мысалы, Docker.
Контейнерлер vs. Виртуалды машиналар
Контейнерлер мен виртуалды машиналар (ВМ) қосымшаларды оқшаулау үшін қызмет етеді, бірақ мұны әртүрлі тәсілдермен орындайды:
- Контейнерлер бір операциялық жүйе ядросын пайдаланады және атау кеңістіктері (namespaces) және бақылау топтары (cgroups) арқылы процестер деңгейінде оқшаулауды қамтамасыз етеді.
- ВМ толық компьютерді, соның ішінде өз операциялық жүйе ядросын эмуляциялайды, бұл оларды ауыр және баяу етеді.
Контейнерлерді пайдаланудың артықшылықтары
Жеңілдігі
Контейнерлер жеке операциялық жүйені қажет етпейді, бұл оларды ВМ-мен салыстырғанда жеңіл және жылдам етеді.
Портативтілік
Контейнерлерді кез келген ортада контейнерлік қозғалтқышы орнатылған кез келген хостта іске қосуға болады. Бұл оларды әзірлеу, тестілеу және қосымшаларды орналастыру үшін тамаша етеді.
Масштабталуы
Жеңілдігі арқасында контейнерлер оңай масштабталады. Сіз жүктемеге байланысты көптеген контейнерлерді жылдам іске қосып, тоқтата аласыз.
Контейнерлермен жұмыс істеуді қалай бастау керек
Docker орнату
Docker - ең танымал контейнерлік қозғалтқыштардың бірі. Бастау үшін Docker-ды компьютеріңізге орнату қажет.
Windows және MacOS-қа Docker орнату
- Docker ресми сайтына өтіп, Docker Desktop жүктеп алыңыз.
- Экрандағы нұсқауларды орындап, Docker Desktop орнатыңыз.
Linux-қа Docker орнату
Көптеген Linux дистрибутивтерінде Docker-ды пакеттік менеджерді пайдаланып орнатуға болады. Мысалы, Ubuntu үшін:
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
Docker негізгі командалары
Docker орнатуын тексеру
Docker орнатылғаннан кейін оның нұсқасын тексеру үшін келесі команданы іске қосыңыз:
docker --version
Мысалы:
Docker version 20.10.7, build f0df350
Алғашқы контейнерді іске қосу
Енді Docker орнатылғаннан кейін алғашқы контейнерімізді іске қосайық. Бұл мысалда біз Docker-дың дұрыс орнатылғанын тексеруге арналған hello-world
образын қолданамыз:
docker run hello-world
Бұл команда hello-world
образын Docker Hub-тан жүктеп алады (егер ол әлі жүктелмеген болса) және оны іске қосады. Сіз сәтті іске қосылғанын растайтын хабарды көруіңіз керек.
Docker Hub-та образдарды іздеу
Docker Hub - контейнерлік образдар сақталатын репозиторий. Әртүрлі қосымшалар мен технологияларға арналған образдарды іздей аласыз:
docker search nginx
Бұл команда Nginx-пен байланысты образдарды іздейді. Мысалы:
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
nginx Official build of Nginx. 13567 [OK]
jwilder/nginx-proxy Automated Nginx reverse proxy for docker c... 2027 [OK]
richarvey/nginx-php-fpm Container running Nginx + PHP-FPM capable ... 839 [OK]
Образды жүктеу
Docker Hub-тан образды жүктеу үшін pull
командасын қолданыңыз:
docker pull nginx
Мысалы:
Using default tag: latest
latest: Pulling from library/nginx
a330b6cecb98: Pull complete
50e431f79093: Pull complete
69fd736137d5: Pull complete
Контейнерді іске қосу
Образ жүктелгеннен кейін контейнерді іске қосуға болады:
docker run -d --name mynginx -p 8080:80 nginx
-d
контейнерді фондық режимде іске қосады (detached mode).--name mynginx
контейнердің атын белгілейді.-p 8080:80
хосттың 8080 портын контейнердің 80 портына бағыттайды.nginx
контейнер үшін қандай образды пайдалану керектігін көрсетеді.
Мысалы:
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx
Digest: sha256:3ec4a64883c0e7a1085e3cd6231032eeb1915c24d623e9b376d78cf1ec1d27fd
Status: Downloaded newer image for nginx:latest
Жұмыс істеп тұрған контейнерлерді көру
Барлық жұмыс істеп тұрған контейнерлерді көру үшін келесі команданы пайдаланыңыз:
docker ps
Мысалы:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d1c3b5f5c8f5 nginx "nginx -g 'daemon of…" 2 minutes ago Up 2 minutes 0.0.0.0:8080->80/tcp mynginx
Контейнерді тоқтату
Жұмыс істеп тұрған контейнерді тоқтату үшін келесі команданы орындаңыз:
docker stop mynginx
Мысалы:
mynginx
Контейнерді жою
Тоқтатылған контейнерді жою үшін келесі команданы пайдаланыңыз:
docker rm mynginx
Мысалы:
mynginx
Үздік тәжірибелер
Dockerfile пайдалану
Dockerfile - контейнерлік образ жасау үшін барлық командаларды қамтитын сценарий. Dockerfile жасау образдарды жасауды автоматтандыруға мүмкіндік береді.
Dockerfile мысалы
# Негізгі образ ретінде ресми Ubuntu образын пайдалану
FROM ubuntu:20.04
# Пакеттерді жаңарту және Nginx орнату
RUN apt-get update && apt-get install -y nginx
# Файлдарды контейнерге көшіру
COPY . /usr/share/nginx/html
# 80 портын ашу
EXPOSE 80
# Nginx іске қосу командасы
CMD ["nginx", "-g", "daemon off;"]
Бұл Dockerfile-ден образ жасау үшін келесі команданы пайдаланыңыз:
docker build -t mynginximage .
-t mynginximage
образдың атын белгілейді..
Dockerfile орналасқан ағымдағы каталогты көрсетеді.
Образ өлшемін азайту
Қажетті тәуелділіктерді ғана қамтитын минималды образдар жасаңыз. Бұл жүктеу уақытын қысқартады және өнімділікті арттырады. Көпқабатты образдарды пайдаланып, қабаттардың санын азайтуға тырысыңыз.
Контейнерлердің қауіпсіздігі
- Сенімді образдарды қолданыңыз ресми көздерден.
- Образдар мен контейнерлерді үнемі жаңартып отырыңыз осалдықтарды жою үшін.
- Құқықтарды барынша азайтыңыз: контейнерлерді минималды қажетті құқықтармен іске қосыңыз.
Контейнерлерді оркестрациялау
Көптеген контейнерлерді басқару үшін Kubernetes сияқты оркестрация жүйелерін қолданыңыз. Бұл масштабталуды, төзімділікті және жаңартуларды басқаруды жеңілдетеді.
Kubernetes конфигурациясы мысалы
Nginx-ті орналастыруға арналған deployment.yaml
файлы:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
Мұны Kubernetes кластеріне орналастыру үшін келесі команданы пайдаланыңыз:
kubectl apply -f deployment.yaml
Қорытынды
Контейнерлер қосымшаларды оқшауланған ортада басқарудың қуатты және икемді тәсілін ұсынады. Олар жеңіл, портативті және оңай масштабталады, бұл оларды қазіргі заманғы IT жүйелері үшін тамаша етеді. Бұл нұсқаулықты орындау арқылы сіз контейнерлермен жұмыс істей бастай аласыз және оларды жобаларыңызда қолданудың артықшылықтарын пайдалана аласыз.
Реклама Google |
![]() |
Назар аударыңыз! Бұл мақала ресми құжат емес.Ақпаратты сақтықпен және сынақ ортасында пайдалану керек.
Заманауи сақтық көшірме жасау, репликациялау, деректерді синхрондау және төлемдік бағдарламадан қорғау жүйелерін құру туралы сұрақтарыңыз болса, қазіргі заманғы деректердің сақтық көшірмесін жасау және қалпына келтіру технологиялары бойынша кеңес алу үшін біздің компанияға хабарласыңыз . Біздің компанияның осы салада 20 жылдан астам тәжірибесі бар. |
Қазақстандағы резервтік көшірудің ең жақсы он тәжірибесі
- oVirt гипервизорын қорғау — терең талдау
- oVirt жүйесінен Proxmox жүйесіне виртуалды машинаны көшіру
- Proxmox-тан oVirt-ке виртуалды машинаны көшіру
- Kubernetes контейнерлерін қорғау — терең талдау
- Proxmox гипервизорын бұзудан қалай қорғауға болады - Терең талдау
- Fail2Ban-ды oVirt жүйесін қорғауда қолдану - Терең талдау
- oVirt гипервизорын сақтандыруды ұйымдастыру — Терең талдау
- Виртуалды машинаны гипервизорлар арасында Proxmox арқылы көшіру
- Proxmox гипервизорын виртуалды машиналардың оңтайлы жұмысын қамтамасыз ету үшін конфигурациялау
- Proxmox-те SSH арқылы root құқықтарының бұзылуынан қорғау: терең талдау