Docker — это платформа для контейнеризации, которая позволяет упаковывать, распространять и запускать приложения в изолированных средах. Контейнеры обеспечивают удобный и быстрый способ развертывания программ без зависимости от конфигурации хостовой системы.
Базовые команды Docker
Управление образами
- Сборка образа из Dockerfile:
docker build -t myapp . - Список загруженных образов:
docker images - Удаление образа:
docker rmi image_id
Управление контейнерами
- Запуск контейнера в фоновом режиме:
docker run -d -p 8080:80 myapp - Просмотр всех контейнеров, включая остановленные:
docker ps -a - Остановка работающего контейнера:
docker stop container_id - Возобновление работы остановленного контейнера:
docker start container_id - Удаление контейнера:
docker rm container_id - Подключение к запущенному контейнеру:
docker exec -it container_id bash
Docker Compose
- Запуск контейнеров, описанных в docker-compose.yml:
docker-compose up -d - Остановка всех контейнеров из docker-compose.yml:
docker-compose down
Интересные возможности Docker
- Docker Volumes — механизм хранения данных, который позволяет сохранять информацию между запусками контейнеров. Пример создания тома:
docker volume create mydata - Docker Networks — создание виртуальных сетей для связи контейнеров между собой. Пример создания сети:
docker network create mynetwork - Многослойные образы — при изменении Dockerfile перестраивается только изменённая часть, что ускоряет сборку.
- Поддержка нескольких архитектур — можно создавать образы для различных процессоров (x86, ARM и др.).
FAQ (Часто задаваемые вопросы)
Чем контейнеры отличаются от виртуальных машин?
Контейнеры функционируют на уровне ОС, используя её ядро, тогда как виртуальные машины создают полную эмуляцию операционной системы, что делает их более ресурсоёмкими и менее производительными.
Можно ли запустить Docker без прав суперпользователя?
Да, но для этого нужно добавить пользователя в группу Docker:
sudo usermod -aG docker $USERКак сохранить данные между перезапусками контейнера?
Используйте тома Docker (docker volume create) или монтируйте локальные каталоги (-v /local/path:/container/path).
Как уменьшить размер образа Docker?
Используйте multi-stage builds, минимальные базовые образы (alpine, scratch) и очищайте ненужные файлы в Dockerfile.
База знаний Serverspace
Serverspace предлагает удобную базу знаний, где можно найти инструкции и руководства по настройке Docker, Kubernetes и других инструментов контейнеризации. В статьях подробно рассматриваются способы развертывания приложений, работа с сетями, безопасностью контейнеров и оптимизация образов. Ознакомиться с материалами можно на официальном сайте ServerSpace.
Эта шпаргалка поможет быстро вспомнить ключевые команды Docker и разобраться с основными возможностями контейнеризации.