Docker — самая популярная платформа для контейнеризации. Вы упаковываете приложение со всеми зависимостями в контейнер, и оно работает одинаково на любом сервере.
Установка Docker на Ubuntu 22.04 / Debian 12
Подключитесь к серверу по SSH и выполните:
# Удалим старые версии
sudo apt remove docker docker-engine docker.io containerd runc
# Установим зависимости
sudo apt update
sudo apt install -y ca-certificates curl gnupg
# Добавим официальный GPG-ключ Docker
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# Добавим репозиторий
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Установим Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
✅ Добавьте себя в группу docker, чтобы не писать sudo перед каждой командой:
sudo usermod -aG docker $USER — затем перелогиньтесь.Первые команды Docker
# Запустить тестовый контейнер
docker run hello-world
# Запустить Nginx
docker run -d -p 80:80 --name my-nginx nginx
# Список запущенных контейнеров
docker ps
# Остановить контейнер
docker stop my-nginx
# Список образов
docker images
Docker Compose: запуск нескольких сервисов
Создайте файл docker-compose.yml для WordPress:
version: '3.8'
services:
db:
image: mysql:8.0
restart: always
environment:
MYSQL_DATABASE: wordpress
MYSQL_USER: wpuser
MYSQL_PASSWORD: секретный_пароль
MYSQL_ROOT_PASSWORD: root_пароль
volumes:
- db_data:/var/lib/mysql
wordpress:
image: wordpress:latest
restart: always
ports:
- "8080:80"
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: wpuser
WORDPRESS_DB_PASSWORD: секретный_пароль
WORDPRESS_DB_NAME: wordpress
volumes:
- wp_data:/var/www/html
volumes:
db_data:
wp_data:
# Запустить
docker compose up -d
# Остановить
docker compose down
Автозапуск Docker при перезагрузке
sudo systemctl enable docker
sudo systemctl start docker
💡 Для продакшена рекомендуем VPS с минимум 2 ГБ RAM. На тарифах ZevsHost Pro и Business Docker работает из коробки.