Как установить и использовать Docker в Debian 9

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

Docker де-факто является стандартом для контейнерных технологий и является важным инструментом для инженеров DevOps и их конвейера непрерывной интеграции и доставки.

В этом руководстве мы проведем вас через процесс установки Docker на машине Debian 9 и изучим основные концепции и команды Docker.

Подготовка

Прежде чем продолжить это руководство, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo . Все команды в этом руководстве следует запускать от имени пользователя без полномочий root.

Установить Docker на Debian

Следующие шаги описывают, как установить последнюю стабильную версию Docker из репозиториев Docker.

  1. Обновите установленные пакеты до последней версии:

     sudo apt update sudo apt upgrade
  2. Установите зависимости, необходимые для добавления нового репозитория через HTTPS:

     sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg2
  3. Импортируйте 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 .

  4. Теперь, когда репозиторий Docker включен, обновите список пакетов apt и установите последнюю версию Docker CE (Community Edition) с помощью:

     sudo apt update sudo apt install docker-ce
  5. После завершения установки служба 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
  6. На момент написания текущая версия Docker, доступная для Debian 9, — 18.06.0-ce . Проверьте версию Docker с помощью:

     docker -v
     Docker 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:

docker [option] [subcommand] [arguments]

Чтобы вывести список всех доступных команд, запустите docker без параметров:

docker

Если вам нужна дополнительная помощь по какой-либо [subcommand] , вы можете использовать переключатель --help как показано ниже:

docker [subcommand] --help

Образы Docker

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

Вы можете думать об образе Docker как о снимке контейнера Docker.

Большинство образов Docker доступны в Docker Hub.

Docker Hub — это облачная служба реестра, которая, помимо прочего, используется для хранения образов Docker в общедоступном или частном репозитории.

Искать в Docker Image

Чтобы найти изображение в реестре 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 .

Если у вас есть вопросы, оставьте комментарий ниже.

Оставьте комментарий