Docker compose
Docker Compose - это инструмент для определения и запуска многоконтейнерных приложений с использованием Docker. Он позволяет вам определить все контейнеры, их зависимости и настройки в одном файле, что делает развертывание и управление приложением проще и более эффективным.
Добавление docker репозитория:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
Установка docker compose:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Создать новую папку проекта и создать файл docker-compose.yml
В файл docker-compose добавить следующий код:
version: "3.8"
services:
php:
build:
context: docker/php
container_name: "php"
ports:
- "80:80"
volumes:
- .:/var/www/html/eda.menu
db:
build:
context: docker/mysql
restart: always
container_name: "db"
ports:
- "3306:3306"
volumes:
- ../mysql/data/eda_menu:/var/lib/mysql
redis:
build: docker/redis
container_name: "redis"
restart: always
ports:
- "6379:6379"
Сборка контейнеров:
docker compose build
Запуск контейнеров:
docker compose up -d
Удаление docker compose:
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd