
Docker — это платформа контейнеризации, которая позволяет быстро создавать, тестировать и развертывать приложения в виде портативных, самодостаточных контейнеров, которые могут работать практически где угодно.
Docker является фактическим стандартом для контейнерных технологий и важнейшим инструментом для инженеров DevOps и их конвейера непрерывной интеграции и поставки.
В этом руководстве мы проведем вас через процесс установки Docker на машину Debian 9 и рассмотрим основные концепции и команды Docker.
Предпосылки
Прежде чем продолжить работу с этим руководством, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo . Все команды в этом руководстве следует выполнять от имени пользователя без прав root.
Установка Docker на Debian
Следующие шаги описывают, как установить последнюю стабильную версию Docker из репозиториев Docker.
-
Обновите установленные пакеты до последней версии:
sudo apt updatesudo apt upgrade -
Установите зависимости, необходимые для добавления нового репозитория по HTTPS:
sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg2 -
Импортируйте ключ GPG репозитория с помощью следующей команды
curl:curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -Добавьте репозиторий Docker APT в список репозиториев программного обеспечения вашей системы, введя:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"$(lsb_release -cs)вернет имя дистрибутива Debian, в данном случае будет возвращеноstretch. -
Теперь, когда репозиторий Docker включен, обновите список пакетов
aptи установите последнюю версию Docker CE (Community Edition) с помощью:sudo apt updatesudo apt install docker-ce -
После завершения установки служба Docker запустится автоматически. Вы можете проверить это, введя:
sudo systemctl status docker● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2018-07-27 17:02:07 UTC; 1min 14s ago Docs: https://docs.docker.com Main PID: 16929 (dockerd) CGroup: /system.slice/docker.service -
На момент написания статьи текущая версия Docker для Debian 9 —
18.06.0-ce. Проверить версию Docker можно с помощью:docker -vDocker version 18.06.0-ce, build 0ffa825
Выполнение команды Docker без Sudo
По умолчанию выполнять команды Docker может только пользователь с правами администратора.
Если вы хотите запускать команды Docker от имени пользователя без прав root без добавления sudo вам необходимо добавить своего пользователя в группу Docker, которая создается во время установки пакета Docker CE. Для этого выполните команду:
sudo usermod -aG docker $USER
$USER — переменная среды , которая хранит ваше имя пользователя.
Выйдите из системы и войдите снова, чтобы обновить состав группы.
Чтобы проверить, что вы можете запускать команды Docker без добавления sudo выполните следующую команду, которая загрузит тестовый образ, запустит его в контейнере, выведет сообщение «Hello from Docker» и завершит работу:
docker container run hello-world
Вывод должен выглядеть следующим образом:

Интерфейс командной строки Docker
Теперь, когда Docker установлен, давайте рассмотрим базовый синтаксис Docker CLI:
docker [option] [subcommand] [arguments]
Чтобы получить список всех доступных команд, запустите docker без параметров:
docker
Если вам нужна дополнительная справка по какой-либо [subcommand] , вы можете использовать параметр --help как показано ниже:
docker [subcommand] --help
Образы Docker
Образ Docker состоит из ряда слоёв файловой системы, представляющих инструкции в файле Dockerfile образа, которые формируют исполняемое программное приложение. Образ — это неизменяемый двоичный файл, включающий приложение и все остальные зависимости, такие как библиотеки, двоичные файлы и инструкции, необходимые для запуска приложения.
Образ Docker можно рассматривать как снимок контейнера Docker.
Большинство образов Docker доступны на Docker Hub.
Docker Hub — это облачная служба реестра, которая, помимо прочих функций, используется для хранения образов Docker в публичном или частном репозитории.
Поиск изображения Docker
Для поиска образа в реестре Docker Hub используйте подкоманду search .
Например, чтобы найти образ Debian, введите:
docker search debian
Вывод должен выглядеть так:

Как вы видите, результаты поиска выводят таблицу с пятью столбцами: NAME , DESCRIPTION , STARS , OFFICIAL и AUTOMATED .
Официальный образ — это образ, который Docker разрабатывает совместно с партнерами по разработке.
Большинство образов Docker на Docker Hub помечены номерами версий. Если тег не указан, Docker загрузит последний образ.
Загрузить образ Docker
Если мы хотим загрузить официальную сборку образа Debian, мы можем сделать это с помощью подкоманды image pull :
docker image pull debian

В зависимости от скорости вашего интернета загрузка может занять несколько секунд или несколько минут.
Поскольку мы не указали тег, Docker загрузит последний образ Debian — 9.5. Если вы хотите загрузить какую-то из предыдущих версий Debian , например, Debian 8, вам нужно использовать docker image pull debian:8
После загрузки изображения мы можем вывести список изображений, введя:
docker image ls
Вывод будет выглядеть примерно так:

Удалить образ Docker
Если по какой-то причине вы хотите удалить изображение, вы можете сделать это с помощью подкоманды image rm [image_name] :
docker image rm debian

Контейнеры Docker
Экземпляр образа называется контейнером. Контейнер представляет собой среду выполнения для одного приложения, процесса или службы.
Возможно, это не самое подходящее сравнение, но если вы программист, то можете думать об образе Docker как о классе, а о контейнере Docker — как об экземпляре класса.
С помощью подкоманды docker container мы можем запускать, останавливать, удалять и управлять контейнером.
Запустить Docker-контейнер
Следующая команда запустит Docker-контейнер на основе образа Debian. Если у вас нет локального образа, он будет сначала загружен:
docker container run debian
На первый взгляд может показаться, что вообще ничего не произошло. Что ж, это не так. Контейнер Debian останавливается сразу после загрузки, потому что у него нет долго выполняющегося процесса, а мы не указали никакой команды, поэтому контейнер загрузился, выполнил пустую команду и завершил работу.
Ключ -it позволяет взаимодействовать с контейнером через командную строку. Чтобы запустить интерактивный контейнер, введите:
docker container run -it debian /bin/bash
root@ee86c8c81b3b:/#
Как видно из вышеприведенного вывода, после запуска контейнера командная строка изменяется, что означает, что теперь вы работаете изнутри контейнера .
Список контейнеров Docker
Чтобы вывести список запущенных контейнеров , введите:
docker container ls

Если у вас нет запущенных контейнеров, вывод будет пустым.
Чтобы просмотреть все контейнеры, передайте ключ -a :
docker container ls -a

Удалить Docker-контейнеры
Чтобы удалить один или несколько контейнеров, просто скопируйте идентификатор (или идентификаторы) контейнера и вставьте их после подкоманды container rm :
docker container rm c55680af670c
Заключение
Вы узнали, как установить Docker на машину с Debian 9, а также как загружать образы Docker и управлять контейнерами Docker. Это руководство лишь поверхностно знакомит вас с экосистемой Docker. В некоторых из следующих статей мы продолжим рассматривать другие аспекты Docker.
Вам также следует ознакомиться с официальной документацией Docker .
Если у вас есть вопросы, пожалуйста, оставьте комментарий ниже.
docker debian Не используете Debian 9?
Выберите другую ОС: центос 7 дебиан 10 убунту 18.04 убунту 20.04 убунту 22.04
Связанные руководства
- Как установить и использовать Docker Compose в Debian 9
- Как установить и использовать Docker Compose в Debian 10 Linux
- Как установить и использовать Docker в Debian 10 Linux
- Как добавить пространство подкачки в Debian 9
- Как установить Apache Maven на Debian 9
- Как настроить FTP-сервер с VSFTPD в Debian 9
- Как установить и настроить Redis в Debian 9