Docker Compose — это инструмент для определения и запуска многоконтейнерных приложений Docker. С его помощью можно легко описать, каким образом взаимодействуют между собой разные службы вашего приложения, и затем запустить все эти службы с одной командой.
Docker Compose - это инструмент для определения и запуска многоконтейнерных приложений Docker. С его помощью вы можете использовать файл YAML для настройки служб вашего приложения. Затем, с одной командой, вы создаете и запускаете все службы из вашей конфигурации.
1. Установка Docker Compose
Чтобы установить Docker Compose на Ubuntu, выполните следующие команды:
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
2. Проверка установки
Проверьте успешность установки, запустив следующую команду:
docker-compose --version
3. Использование Docker Compose
Docker Compose работает с использованием файлов docker-compose.yml, в которых определяются службы, сети и тома.
Пример файла docker-compose.yml:
version: '3'
services:
web:
build: .
ports:
- "5000:5000"
redis:
image: "redis:alpine"
В этом примере определены две службы: web и redis. Служба web собирается с использованием Dockerfile в текущем каталоге и прослушивает порт 5000. Служба redis использует образ redis:alpine.
4. Запуск Docker Compose
Чтобы запустить ваше приложение, перейдите в каталог, содержащий файл docker-compose.yml, и выполните следующую команду:
docker-compose up
5. Остановка Docker Compose
Чтобы остановить запущенные службы, используйте следующую команду:
docker-compose down
6. Масштабирование служб
Вы можете масштабировать определенные службы с помощью следующей команды:
docker-compose up --scale service_name=3
7. Просмотр логов
Чтобы просмотреть логи для своих служб, используйте следующую команду:
docker-compose logs
8. Запуск команд внутри контейнеров
Чтобы запустить команду внутри контейнера, используйте следующую команду:
docker-compose exec service_name command
Например, для запуска оболочки bash внутри службы web, вы бы использовали:
docker-compose exec web bash
Надеюсь, эта памятка поможет вам в работе с Docker Compose на Ubuntu!