[[A8R.ru]]
...
Введение в Docker: Подробное руководство по использованию

Docker — это платформа для разработки, доставки и запуска приложений внутри контейнеров. Контейнеры позволяют упаковать приложение и все его зависимости в единый, независимый и переносимый блок. Это значительно упрощает деплой, тестирование и разработку приложений. В этой статье мы рассмотрим основные команды и концепции работы с Docker.

05.03.2025
Docker

Основные концепции Docker

  1. Контейнер — это изолированная среда, которая запускает приложение вместе с его зависимостями. Контейнеры работают на одном ядре операционной системы и могут запускаться независимо друг от друга.
  2. Образ (Image) — это шаблон для создания контейнера. Он содержит все необходимые файлы и зависимости для работы приложения.
  3. Dockerfile — это текстовый файл, который содержит инструкции для сборки образа.
  4. Docker Daemon — это серверная часть Docker, которая управляет контейнерами и образами.
  5. Docker CLI — это командная строка, с помощью которой взаимодействуют с Docker Daemon.

Команды для работы с Docker

1. Установка Docker

Для установки Docker нужно выполнить несколько шагов в зависимости от операционной системы.

Для Ubuntu, например:

sudo apt update
sudo apt install docker.io

После установки можно проверить версию Docker командой:

docker --version

2. Основные команды Docker

2.1. Работа с контейнерами

  • Запуск контейнера Команда для запуска контейнера из образа:

    docker run <опции> <имя_образа>
    

    Пример:

    docker run -d --name my_container ubuntu
    
    • -d — запускает контейнер в фоновом режиме.
    • --name — задает имя контейнера.
    • ubuntu — имя образа.
  • Просмотр работающих контейнеров Чтобы увидеть список работающих контейнеров, используйте:

    docker ps
    

    Если хотите увидеть все контейнеры, включая остановленные:

    docker ps -a
    
  • Остановка контейнера Чтобы остановить контейнер, используйте команду:

    docker stop <имя_или_id_контейнера>
    
  • Удаление контейнера Чтобы удалить остановленный контейнер:

    docker rm <имя_или_id_контейнера>
    
  • Удаление всех контейнеров Чтобы удалить все остановленные контейнеры:

    docker container prune
    

2.2. Работа с образами

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

    docker images
    
  • Загрузка образа Чтобы загрузить образ из Docker Hub:

    docker pull <имя_образа>
    

    Например:

    docker pull ubuntu
    
  • Удаление образа Чтобы удалить локальный образ:

    docker rmi <имя_или_id_образа>
    

    Для удаления всех неиспользуемых образов:

    docker image prune
    

2.3. Работа с Dockerfile

  • Создание Docker образа из Dockerfile Для сборки образа из Dockerfile:

    docker build -t <имя_образа> <путь_к_папке_с_докерфайлом>
    

    Пример:

    docker build -t my_app .
    

2.4. Управление логами и состоянием контейнеров

  • Просмотр логов контейнера Чтобы просмотреть логи контейнера:

    docker logs <имя_или_id_контейнера>
    
  • Подключение к контейнеру Для входа в работающий контейнер:

    docker exec -it <имя_или_id_контейнера> /bin/bash
    

    Это откроет терминал внутри контейнера.


3. Сети и тома в Docker

3.1. Сети

Docker предоставляет несколько типов сетевых драйверов для контейнеров:

  • bridge (по умолчанию) — изолированная сеть для контейнеров.

  • host — контейнеры используют сеть хоста.

  • none — контейнеры не подключены к сети.

  • Создание сети Чтобы создать свою сеть:

    docker network create <имя_сети>
    
  • Просмотр сетей Чтобы увидеть все доступные сети:

    docker network ls
    
  • Подключение контейнера к сети Чтобы подключить контейнер к сети:

    docker network connect <имя_сети> <имя_контейнера>
    
  • Удаление сети Чтобы удалить сеть:

    docker network rm <имя_сети>
    

3.2. Томы (Volumes)

Томы используются для хранения данных, которые должны сохраняться между перезапусками контейнеров.

  • Создание тома Чтобы создать новый том:

    docker volume create <имя_тома>
    
  • Просмотр томов Чтобы увидеть все тома:

    docker volume ls
    
  • Подключение тома к контейнеру Чтобы подключить том при запуске контейнера:

    docker run -v <имя_тома>:<путь_в_контейнере> <имя_образа>
    

    Пример:

    docker run -v my_volume:/data ubuntu
    
  • Удаление тома Чтобы удалить том:

    docker volume rm <имя_тома>
    

4. Работа с Docker Compose

Docker Compose позволяет вам использовать несколько контейнеров в одном проекте, упрощая работу с многоконтейнерными приложениями. Compose использует YAML-файлы для определения сервисов, сетей и томов.

  • Запуск проекта Compose Для запуска контейнеров из файла docker-compose.yml:

    docker-compose up
    
  • Остановка всех контейнеров Compose Чтобы остановить все контейнеры в проекте:

    docker-compose down
    
  • Просмотр логов Compose Чтобы увидеть логи всех контейнеров:

    docker-compose logs