Основные команды Docker: Полное руководство для начинающих
Docker — это инструмент для контейнеризации, который позволяет упаковывать приложения и их зависимости в контейнеры, обеспечивая стабильную работу независимо от среды. Для работы с Docker используется CLI (интерфейс командной строки), который предоставляет множество команд для управления контейнерами, образами и сетями. В этой статье мы рассмотрим базовые команды Docker, которые помогут вам начать работу с контейнерами.
Установка Docker
Прежде чем приступить к использованию команд Docker, вам нужно установить его. На официальном сайте Docker доступны инструкции по установке для различных операционных систем, таких как Linux, macOS и Windows.
Для большинства дистрибутивов Linux установку можно выполнить с помощью следующей команды:
sudo apt-get install docker-ce docker-ce-cli containerd.io
После установки убедитесь, что Docker работает:
docker --version
Теперь, когда Docker установлен, давайте рассмотрим основные команды, которые вы будете использовать для работы с контейнерами и образами.
1. docker run — Запуск контейнера
Команда docker run — одна из самых часто используемых команд. Она запускает контейнер на основе образа. Например, чтобы запустить контейнер с NGINX, выполните:
docker run nginx
Некоторые ключевые флаги для docker run:
- -d — запустить контейнер в фоновом режиме (detached mode).
- -p — пробросить порты из контейнера на хост. Например, чтобы связать порт 80 контейнера с портом 8080 хоста:
docker run -d -p 8080:80 nginx
- --name — задать имя контейнеру. Например:docker run -d --name my_nginx -p 8080:80 nginx
2. docker ps — Просмотр запущенных контейнеров
Чтобы увидеть все запущенные контейнеры, используйте команду docker ps:
docker ps
Вы увидите список контейнеров с информацией о контейнере: идентификатор, имя, статус, используемый порт и т.д. Если хотите увидеть и остановленные контейнеры, добавьте флаг -a:
docker ps -a
3. docker stop и docker start — Остановка и запуск контейнеров
Для остановки контейнера используется команда docker stop. Она посылает сигнал контейнеру, чтобы он завершил работу. Например, чтобы остановить контейнер с именем my_nginx, выполните:
docker stop my_nginx
Для повторного запуска контейнера используется команда docker start:
docker start my_nginx
4. docker rm — Удаление контейнера
После остановки контейнер можно удалить с помощью команды docker rm. Например:
docker rm my_nginx
Чтобы удалить сразу все остановленные контейнеры, выполните:
docker container prune
5. docker images — Просмотр образов
Команда docker images выводит список всех образов, которые находятся на вашем локальном компьютере. Пример:
docker images
Вы увидите таблицу с информацией об образах: имя, тег, ID, размер и дату создания.
6. docker pull — Загрузка образа
Для загрузки образа из Docker Hub используется команда docker pull. Например, чтобы скачать образ nginx, выполните:
docker pull nginx
После этого образ появится в списке доступных образов (docker images).
7. docker rmi — Удаление образа
Для удаления локального образа используется команда docker rmi. Чтобы удалить образ, укажите его ID или имя:
docker rmi nginx
Если хотите удалить все неиспользуемые образы, выполните:
docker image prune
8. docker exec — Выполнение команд внутри контейнера
Если контейнер уже запущен, можно выполнить команду внутри этого контейнера с помощью docker exec. Например, чтобы открыть командную оболочку внутри контейнера my_nginx, выполните:
docker exec -it my_nginx /bin/bash
Здесь флаг -it указывает, что нужно открыть интерактивную консоль.
9. docker build — Создание образа
Команда docker build используется для создания образов из Dockerfile — файла с инструкциями для создания контейнера. Например, если у вас есть Dockerfile в текущем каталоге, запустите следующую команду:
docker build -t my_image .
Флаг -t задает имя образа, а . указывает, что Dockerfile находится в текущем каталоге.
10. docker logs — Просмотр логов контейнера
Чтобы посмотреть логи контейнера, можно использовать команду docker logs. Например:
docker logs my_nginx
Вы увидите вывод, генерируемый контейнером (например, логи веб-сервера).
11. docker network — Управление сетями
Docker позволяет создавать и управлять сетями для контейнеров. Например, чтобы создать новую сеть, используйте команду:
docker network create my_network
Затем можно запускать контейнеры, подключая их к этой сети:
docker run -d --name web --network my_network nginx
Чтобы увидеть все сети, используйте:
docker network ls
12. docker-compose — Управление многоконтейнерными приложениями
Docker Compose — это инструмент, который позволяет управлять многоконтейнерными приложениями с помощью одного файла (docker-compose.yml). Например, вот пример docker-compose.yml для запуска веб-сервера NGINX и базы данных MySQL:
version: '3'
services:
web:
image: nginx
ports:
- "8080:80"
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: example
Чтобы запустить это приложение, просто выполните команду:
docker-compose up
Заключение
Docker — это мощный инструмент для контейнеризации приложений, а его командная строка предоставляет широкий набор команд для управления контейнерами, образами и сетями. В этой статье мы рассмотрели основные команды, которые помогут вам начать работу с Docker, включая запуск контейнеров, управление ими и создание собственных образов. Теперь, когда вы знаете эти команды, вы готовы развертывать и управлять приложениями в контейнерах!
Комментарии