Skip to main content

Docker Compose

Docker

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Docker compose?

Docker Compose - это инструмСнт для опрСдСлСния ΠΈ запуска Docker-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² с нСсколькими сСрвисами. Он позволяСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ для всСх сСрвисов Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅, Π° Π·Π°Ρ‚Π΅ΠΌ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΈΡ… ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Docker Compose​

Для запуска Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… сСрвисов Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Docker Compose, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π² Ρ„Π°ΠΉΠ»Π΅ docker-compose.yml. НапримСр, для запуска сСрвисов Redis, PostgreSQL, web ΠΈ backweb ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ:

version: '2'

services:
redis:
image: redis

db:
image: postgres:9.4

web:
image: foot-app
ports:
- "3000:80"
depends_on:
- redis

backweb:
image: backfoot-app
ports:
- "3001:80"
depends_on:
- db

worker:
image: worker
depends_on:
- redis
- db

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ services опрСдСляСт список сСрвисов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½Ρ‹ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ сСрвис опрСдСляСтся ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π±Π»ΠΎΠΊ, содСрТащий ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΎΠ±Ρ€Π°Π·Π΅ Docker, ΠΏΠΎΡ€Ρ‚Π°Ρ… ΠΈ зависимостях.

Для запуска ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² с использованиСм Docker Compose Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

docker-compose up -d

Π’ этой ΠΊΠΎΠΌΠ°Π½Π΄Π΅ -d ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ запуск ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅.