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

Установка и использование 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 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

Вывод должен выглядеть так:

Изображение поиска Docker

Как вы видите, результаты поиска выводят таблицу с пятью столбцами: NAME , DESCRIPTION , STARS , OFFICIAL и AUTOMATED .

Официальный образ — это образ, который Docker разрабатывает совместно с партнерами по разработке.

Большинство образов Docker на Docker Hub помечены номерами версий. Если тег не указан, Docker загрузит последний образ.

Загрузить образ Docker

Если мы хотим загрузить официальную сборку образа Debian, мы можем сделать это с помощью подкоманды image pull :

 docker image pull debian 
Docker Pull-образ

В зависимости от скорости вашего интернета загрузка может занять несколько секунд или несколько минут.

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

После загрузки изображения мы можем вывести список изображений, введя:

 docker image ls

Вывод будет выглядеть примерно так:

Образ списка Docker

Удалить образ Docker

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

 docker image rm debian 
Удалить образ Docker

Контейнеры 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 
Список контейнеров Docker

Если у вас нет запущенных контейнеров, вывод будет пустым.

Чтобы просмотреть все контейнеры, передайте ключ -a :

 docker container ls -a 
Docker List Все контейнеры

Удалить 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

Связанные руководства

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *