Docker установка и развёртывание контейнеров — просто, понятно | Cshield - Форум социальной инженерии

Docker установка и развёртывание контейнеров — просто, понятно

SUNKEM_1

Местный
Docker - это инструмент, который позволяет упаковать приложение и всё его окружение в контейнер. По сути, контейнер - это мини-среда, которая работает независимо от основной системы. Так ты можешь запускать, например, Pterodactyl, Grafana или Prometheus на одном сервере, и они не будут конфликтовать друг с другом.

Что нужно перед установкой

Для начала убедись, что у тебя:

  • стоит Debian, Ubuntu или любая другая Linux-система
  • есть доступ по SSH
  • включен curl и sudo
Установка Docker

Открываем SSH и вводим:


Bash:
sudo apt update && sudo apt upgrade -y
Далее устанавливаем нужные пакеты:

Bash:
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
Добавляем официальный ключ и репозиторий Docker:


Bash:
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
После этого обновляем пакеты и ставим сам Docker:


Bash:
sudo apt update
sudo apt install docker-ce -y
Проверяем, что всё работает:


Bash:
sudo systemctl status docker
Если видишь зелёную строчку "active (running)" - поздравляю, Docker установлен

Установка Docker Compose

Docker Compose позволяет управлять несколькими контейнерами одновременно. Например, ты можешь поднять сразу базу данных и панель управления одной командой.

Устанавливаем:


Bash:
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Проверяем:


Bash:
docker-compose --version
Первый контейнер

Теперь создадим свой первый контейнер. Допустим, это будет Nginx - популярный веб-сервер.

Выполняем:


Bash:
sudo docker run -d -p 80:80 --name mynginx nginx
Что здесь происходит:

  • -d - запускаем в фоновом режиме
  • -p 80:80 - пробрасываем порт 80 наружу
  • --name mynginx - задаём имя контейнера
  • nginx - образ, который Docker сам скачает с Docker Hub
Проверяем:


Bash:
sudo docker ps
Если контейнер запущен, можешь открыть IP сервера в браузере - и увидишь стандартную страницу Nginx.

Управление контейнерами


КомандаНазначение
docker psСписок запущенных контейнеров
docker stop <имя>Остановить контейнер
docker start <имя>Запустить контейнер
docker rm <имя>Удалить контейнер
docker imagesПосмотреть загруженные образы
docker logs <имя>Посмотреть логи

Совет: Чтобы удалить все неиспользуемые контейнеры и образы:


Bash:
docker system prune -a
Пример с Docker Compose

Создаём файл docker-compose.yml:


YAML:
version: '3.8'
services:
    web:
        image: nginx
        ports:
            - "80:80"
    db:
        image: mysql
        environment:
            MYSQL_ROOT_PASSWORD: strongpassword
Теперь запускаем всё сразу:


Bash:
docker-compose up -d
Два контейнера - Nginx и MySQL - поднимутся автоматически и будут работать в изолированных средах.

Несколько советов по работе с Docker

  • Храни данные в volumes, чтобы не терять их при перезапуске контейнера
  • Следи за логами с помощью docker logs
  • Не запускай всё под root - создай отдельного пользователя для Docker
  • Регулярно обновляй образы (docker pull nginx:latest)
Итог

Docker - это не просто "тренд", а реальный инструмент, который:

  • экономит время при установке софта
  • решает проблему "у меня работает, а у тебя нет"
  • изолирует приложения и делает систему стабильнее
С его помощью ты можешь поднять целую инфраструктуру - от Nginx до панели и баз данных - в пару команд.
 
Сверху