Docker Compose - бұл көпконтейнерлі Docker қолданбаларын анықтау және басқару құралы. Ол қарапайым YAML форматын пайдалана отырып, қосымшалардың құрамдас бөліктерін, соның ішінде қызметтерді, желілерді және томдарды сипаттауға мүмкіндік береді.
Бұл күрделі жүйелерді әзірлеу, тестілеу және орналастыру процесін едәуір жеңілдетеді.
Бұл мақалада біз Docker Compose негізгі мүмкіндіктерін, оның орнату және теңшеу процесін, сондай-ақ толығырақ пайдалану мысалдарын қарастырамыз.
Docker Compose орнату
Талаптар
Docker Compose орнатпас бұрын, Docker сіздің компьютеріңізде орнатылғанына көз жеткізіңіз.
Docker бар-жоғын тексеру үшін келесі команданы орындаңыз:
docker --version
Егер Docker әлі орнатылмаған болса, операциялық жүйеңізге арналған Docker орнату нұсқауларын орындаңыз.
Linux-те орнату
Linux-те Docker Compose орнату үшін келесі командаларды орындаңыз:
sudo curl -L "https://github.com/docker/compose/releases/download/v2.3.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
macOS-те орнату
macOS жүйесінде Docker Compose әдетте Docker Desktop бағдарламасымен бірге орнатылады. Docker ресми сайтынан Docker Desktop жүктеп, орнатыңыз.
Windows-те орнату
Windows жүйесінде Docker Compose Docker Desktop құрамына кіреді. Docker ресми сайтынан Docker Desktop жүктеп, орнатыңыз.
Docker Compose негізгі түсініктері
Docker Compose сіздің көпконтейнерлі қолданбаңыздың конфигурациясын анықтау үшін YAML файлын пайдаланады. Бұл файл әдетте docker-compose.yml
деп аталады. Онда сіз контейнерлерді, желілерді, томдарды және басқа параметрлерді көрсете аласыз.
docker-compose.yml файлының мысалы
Веб-сервер Nginx және Redis дерекқорынан тұратын веб-қосымшаға арналған қарапайым docker-compose.yml
файлын қарастырайық.
version: '3.8'
services:
web:
image: nginx:latest
ports:
- "80:80"
redis:
image: redis:alpine
Docker Compose негізгі командалары
Қолданбаны іске қосу
Қолданбаны іске қосу үшін келесі команданы пайдаланыңыз:
docker-compose up
Бұл команда docker-compose.yml
файлын оқып, онда көрсетілген контейнерлерді жасайды және іске қосады.
Фондық режимде іске қосу үшін -d
(detached mode) жалаушасын қосыңыз:
docker-compose up -d
Қолданбаны тоқтату
Қолданбаны тоқтату үшін келесі команданы пайдаланыңыз:
docker-compose down
Бұл команда docker-compose up
көмегімен жасалған және іске қосылған барлық контейнерлерді тоқтатады және жояды.
Қолданбаны қайта іске қосу
Конфигурацияны өзгерткеннен кейін қызметтерді қайта іске қосу үшін келесі команданы пайдаланыңыз:
docker-compose restart
Логтарды көру
Іске қосылған контейнерлердің логтарын көру үшін келесі команданы пайдаланыңыз:
docker-compose logs
Белгілі бір қызмет бойынша логтарды сүзуге болады:
docker-compose logs web
Іске қосылған қызметтердің тізімі
Іске қосылған қызметтердің тізімін көру үшін келесі команданы пайдаланыңыз:
docker-compose ps
Docker Compose кеңейтілген мүмкіндіктері
Ортаның айнымалылары
Docker Compose икемді баптау үшін ортаның айнымалыларын пайдалануды қолдайды. Айнымалыларды .env
файлында анықтап, оларды docker-compose.yml
файлына қолдануға болады.
.env
файлының мысалы:
WEB_PORT=8080
REDIS_IMAGE=redis:alpine
docker-compose.yml
файлына айнымалыны қолдану мысалы:
version: '3.8'
services:
web:
image: nginx:latest
ports:
- "${WEB_PORT}:80"
redis:
image: "${REDIS_IMAGE}"
Томдар (Volumes)
Томдар контейнердің деректерін оның шекарасынан тыс сақтау мүмкіндігін береді, бұл дерекқорлар мен басқа тұрақты деректерді сақтау үшін пайдалы.
docker-compose.yml
файлына томдарды қолдану мысалы:
version: '3.8'
services:
web:
image: nginx:latest
ports:
- "80:80"
volumes:
- web_data:/var/www/html
volumes:
web_data:
Желілер (Networks)
Желілер контейнерлерге оқшауланған желі ішінде бір-бірімен өзара әрекеттесуге мүмкіндік береді.
docker-compose.yml
файлына желілерді қолдану мысалы:
version: '3.8'
services:
web:
image: nginx:latest
ports:
- "80:80"
networks:
- webnet
redis:
image: redis:alpine
networks:
- webnet
networks:
webnet:
Күрделі қолданбаның мысалы
Веб-сервер, қосымша және дерекқорды қамтитын күрделі мысалды қарастырайық.
version: '3.8'
services:
web:
image: nginx:latest
ports:
- "80:80"
depends_on:
- app
networks:
- front-tier
app:
build: ./app
ports:
- "5000:5000"
environment:
- DATABASE_URL=postgres://user:password@db:5432/mydb
networks:
- back-tier
- front-tier
db:
image: postgres:alpine
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: password
POSTGRES_DB: mydb
volumes:
- db_data:/var/lib/postgresql/data
networks:
- back-tier
volumes:
db_data:
networks:
front-tier:
back-tier:
Мысалды түсіндіру
-
web
қызметі:nginx:latest
образын пайдаланады.- Порт
80
хостқа бағытталған. - Қосымша іске қосылғаннан кейін іске қосылады.
front-tier
желісіне қосылады.
-
app
қызметі:- Локалды
./app
контекстінен жиналады. - Порт
5000
хостқа бағытталған. DATABASE_URL
ортаның айнымалысын пайдаланады.back-tier
жәнеfront-tier
желілеріне қосылады.
- Локалды
-
db
қызметі:postgres:alpine
образын пайдаланады.- PostgreSQL баптауы үшін ортаның айнымалыларын анықтайды.
- Деректерді
db_data
томында сақтайды. back-tier
желісіне қосылады.
-
Томдар:
db_data
: PostgreSQL деректерін сақтау үшін пайдаланылады.
-
Желілер:
front-tier
:web
жәнеapp
арасында байланыс үшін пайдаланылады.back-tier
:app
жәнеdb
арасында байланыс үшін пайдаланылады.
Қосымша функциялар және үздік тәжірибелер
Контейнерлерді жаңарту
Контейнерлерді немесе образдарды жаңарту қажет болғанда, соңғы нұсқаларын алу үшін docker-compose pull
командасын пайдаланыңыз:
docker-compose pull
docker-compose up -d
Қызметтерді масштабтау
Docker Compose қызметтерді оңай масштабтауға мүмкіндік береді. Мысалы, қосымшаның үш данасын іске қосу үшін:
docker-compose up -d --scale app=3
Қорытынды
Docker Compose - бұл көпконтейнерлі қолданбаларды басқаруға арналған қуатты құрал. Оның көмегімен сіз бірнеше қызметтерден тұратын кешенді жүйелерді оңай анықтап, іске қоса аласыз, ортаның айнымалыларын, томдарын және желілерін пайдалана аласыз. Бұл Docker Compose-ты қазіргі заманғы DevOps тәжірибелері үшін таптырмас құралға айналдырады.
Реклама Google |
![]() |
Назар аударыңыз! Бұл мақала ресми құжат емес.Ақпаратты сақтықпен және сынақ ортасында пайдалану керек.
Заманауи сақтық көшірме жасау, репликациялау, деректерді синхрондау және төлемдік бағдарламадан қорғау жүйелерін құру туралы сұрақтарыңыз болса, қазіргі заманғы деректердің сақтық көшірмесін жасау және қалпына келтіру технологиялары бойынша кеңес алу үшін біздің компанияға хабарласыңыз . Біздің компанияның осы салада 20 жылдан астам тәжірибесі бар. |
Қазақстандағы резервтік көшірудің ең жақсы он тәжірибесі
- oVirt гипервизорын қорғау — терең талдау
- oVirt жүйесінен Proxmox жүйесіне виртуалды машинаны көшіру
- Proxmox-тан oVirt-ке виртуалды машинаны көшіру
- Kubernetes контейнерлерін қорғау — терең талдау
- Proxmox гипервизорын бұзудан қалай қорғауға болады - Терең талдау
- Fail2Ban-ды oVirt жүйесін қорғауда қолдану - Терең талдау
- oVirt гипервизорын сақтандыруды ұйымдастыру — Терең талдау
- Виртуалды машинаны гипервизорлар арасында Proxmox арқылы көшіру
- Proxmox гипервизорын виртуалды машиналардың оңтайлы жұмысын қамтамасыз ету үшін конфигурациялау
- Proxmox-те SSH арқылы root құқықтарының бұзылуынан қорғау: терең талдау