Работа с 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 |