Docker шпаргалка и примеры: полный практический гайд по Docker для сервера, продакшена и разработки

Золотые правила автообновления Docker

Docker давно перестал быть «модной штукой для девопсов». Сегодня Docker — это база: на нём крутятся сайты, API, базы данных, боты, сервисы и целые бизнесы. Но даже опытные специалисты регулярно ищут одно и то же: как подключиться к контейнеру (docker connect), как починить docker daemon, где лежат docker файлы, как правильно сделать docker настройку и что делать, если вылез очередной docker error.

Эта статья — большая IT-шпаргалка по Docker. Не учебник и не маркетинговый текст, а практический справочник в формате «docker how to»: команды, примеры, типовые ошибки и реальные сценарии для работы на docker server.

Для кого:

  • сисадмины и DevOps
  • разработчики
  • владельцы VPS и серверов
  • те, кто только осваивает Docker на Ubuntu или Windows

Как работает Docker: архитектура без лишней теории

Docker состоит из нескольких ключевых компонентов:

  • Docker daemon — сервис, который реально запускает контейнеры
  • Docker CLI — команды, которые вы вводите
  • Docker images — шаблоны приложений
  • Docker containers — запущенные экземпляры

Когда вы вводите команду docker run, она уходит в docker daemon, который уже решает, что и как запускать.

Если docker daemon не работает — Docker не работает вообще.


Установка Docker Ubuntu: правильный и безопасный вариант

Самый популярный запрос — установка docker ubuntu. Ниже — рабочий вариант для серверов и VPS.

Обновляем систему

apt update && apt upgrade -y

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

apt install -y docker.io

Запускаем docker daemon

systemctl start docker
systemctl enable docker

Проверяем

docker --version
docker info

Если docker info не работает — проблема почти всегда в docker daemon.


Docker daemon: запуск, проверка, типовые проблемы

Проверка статуса

systemctl status docker

Перезапуск docker daemon

systemctl restart docker

Типовые ошибки docker daemon

  • не хватает памяти
  • переполнен диск
  • повреждён overlay2

Первое, что делаем — смотрим логи:

journalctl -u docker

Docker на Windows: что важно понимать

Docker Windows работает через Docker Desktop и WSL2. Это не нативный Linux Docker.

Особенности:

  • контейнеры работают внутри WSL
  • пути к docker файлам отличаются
  • производительность ниже, чем на Linux

Для обучения и разработки — нормально. Для docker server в продакшене — используйте Linux.


Посмотреть Docker: базовая диагностика

Информация о системе

docker info

Список контейнеров

docker ps
docker ps -a

Список образов

docker images

Использование диска

docker system df

Это минимальный набор, чтобы посмотреть docker и понять, что происходит.


Работа с контейнерами: основные команды

Запуск контейнера

<a href="https://it-apteka.com/docker-compose-ustanovka-komandy-i-nastrojka-kontejnerov/" target="_blank" rel="noopener"  data-wpil-monitor-id="526">docker run nginx</a>

Фоновый режим (docker server сценарий)

docker run -d nginx

Именованный контейнер

docker run -d --name web nginx

Проброс портов

docker run -d -p 8080:80 nginx

Docker connect: как подключиться к контейнеру

Один из самых частых запросов — docker connect.

Подключение через exec

docker exec -it web <a class="wpil_keyword_link" href="https://it-apteka.com/tag/bash/"   title="Bash" data-wpil-keyword-link="linked"  data-wpil-monitor-id="225">bash</a>

Если bash отсутствует

docker exec -it web sh

Используется для отладки, диагностики и ручных правок.


Логи контейнеров и docker error

Просмотр логов

docker logs web

Логи в реальном времени

docker logs -f web

Типовые docker error

  • Cannot connect to the Docker daemon
  • Port is already allocated
  • No space left on device

Логи — первое место, куда нужно смотреть.


Docker файлы и структура хранения данных

Все docker файлы и данные по умолчанию хранятся в:

/var/lib/docker

Не редактируйте содержимое вручную — используйте официальные механизмы.


Volumes: правильное хранение данных

Создание volume

docker volume create data

Подключение volume

docker run -d -v data:/app/data myapp

Volumes — обязательны для баз данных и stateful-сервисов.


Docker postgres: правильный запуск базы данных

Docker postgres — классический сценарий.

Быстрый запуск (НЕ для продакшена)

docker run -d -e POSTGRES_PASSWORD=secret postgres

Продакшен-вариант с volume

docker run -d \
  --name postgres \
  -e POSTGRES_PASSWORD=secret \
  -v pgdata:/var/lib/postgresql/data \
  -p 5432:5432 \
  postgres

Docker network и connect между контейнерами

Создание сети

docker network create backend

Контейнеры в одной сети

docker run -d --name db --network backend postgres
docker run -d --name app --network backend myapp

Контейнеры могут общаться по имени — это ключевая часть docker connect.


Docker yml и Docker Compose

Docker yml позволяет описывать инфраструктуру как код.

Пример docker-compose.yml

version: "3"
services:
  web:
    image: nginx
    ports:
      - "8080:80"
  db:
    image: postgres
    environment:
      POSTGRES_PASSWORD: secret
    volumes:
      - pgdata:/var/lib/postgresql/data

volumes:
  pgdata:

Запуск

docker-compose up -d

Docker настройка для продакшена

  • используйте restart policies
  • ограничивайте CPU и RAM
  • не храните пароли в docker yml
  • используйте отдельные сети

Очистка Docker и обслуживание сервера

Удалить неиспользуемое

docker system prune

Полная очистка (осторожно)

docker system prune -a

Docker how to: быстрые ответы

  • Как перезапустить контейнер? — docker restart
  • Как обновить образ? — docker pull
  • Как автозапуск? — restart: always

Заключение

Docker — мощный инструмент, но только при правильном использовании.

Эта шпаргалка создана, чтобы:

  • меньше гуглить
  • быстрее решать docker error
  • уверенно управлять docker server

IT-Аптека рекомендует: сохранить эту страницу и использовать как настольную инструкцию.

Поделитесь:

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх