Работа с Docker и контейнерами
Docker – это инструмент контейнеризации, который позволяет упрощать развертывание и управление приложениями. В этом руководстве мы рассмотрим основные команды и концепции, необходимые для работы с контейнерами.
1.Установка Docker
На Linux (Ubuntu/Debian):
1 2 |
sudo apt update && sudo apt install -y docker.io sudo systemctl enable --now docker |
На CentOS/RHEL:
1 2 |
sudo yum install -y docker sudo systemctl enable --now docker |
Проверка установки:
1 |
docker --version |
2.Основные команды Docker
1)Запуск контейнера (docker run)
Запустить контейнер можно с помощью команды:
1 |
docker run -d --name my_container nginx |
Параметры:
1 2 3 |
- -d – фоновый режим - --name – задание имени контейнеру - nginx – имя образа |
2)Список работающих контейнеров
1 |
docker ps |
Для отображения всех контейнеров (включая остановленные):
1 |
docker ps -a |
3)Остановка и удаление контейнеров
Остановка контейнера:
1 |
docker stop my_container |
Удаление контейнера:
1 |
docker rm my_container |
4)Запуск команд в работающем контейнере
Выполнить команду в контейнере:
1 |
docker exec -it my_container bash |
3.Работа с Docker Compose
Docker Compose позволяет управлять несколькими контейнерами с помощью YAML-файла.
1)Установка Docker Compose
1 2 |
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 |
2)Пример docker-compose.yml
Создадим файл docker-compose.yml:
1 2 3 4 5 6 7 8 9 10 |
version: '3' services: web: image: nginx ports: - "80:80" db: image: mysql environment: MYSQL_ROOT_PASSWORD: rootpass |
3)Запуск и управление сервисами
Запустить контейнеры:
1 |
docker-compose up -d |
Остановить контейнеры:
1 |
docker-compose down |
Просмотреть логи:
1 |
docker-compose logs -f |
4.Работа с образами (Docker Images)
1)Список локальных образов
1 |
docker images |
2)Поиск образов
1 |
docker search ubuntu |
3)Загрузка образа
1 |
docker pull ubuntu |
4)Создание своего образа
Создайте Dockerfile:
1 2 3 |
FROM ubuntu:latest RUN apt update && apt install -y nginx CMD ["nginx", "-g", "daemon off;"] |
Соберите образ:
1 |
docker build -t my_nginx . |
5.Работа с томами (Volumes)
Тома используются для хранения данных контейнеров.
1)Создание и просмотр томов
Создать новый том:
1 |
docker volume create my_volume |
Просмотреть список томов:
1 |
docker volume ls |
2)Подключение тома к контейнеру
1 |
docker run -d -v my_volume:/data --name my_container nginx |