Как установить докер Debian
Обновлено: 20.11.2024
Docker — это инструмент с открытой платформой, который обеспечивает среду выполнения контейнера. С помощью Docker разработчики могут создавать, отправлять и запускать свой код в виде контейнера в любом месте, например, локально или в общедоступном облаке. Docker использует виртуализацию на уровне ОС для запуска контейнеров. Хост, на котором устанавливается Docker и создаются контейнеры, называется Docker Engine.
В этом посте мы шаг за шагом расскажем, как установить Docker Engine (Community Edition) в Debian 11 (Bullseye).
Необходимое условие для Docker
- Минимальная установка Debian 11
- 64-разрядная система
- Стабильное подключение к Интернету
- Пользователь с правами sudo
Давайте перейдем к этапам установки Docker в Debian 11
Шаг 1) Обновите индекс пакета и установите зависимости
Войдите в систему Debian 11, откройте терминал и выполните приведенную ниже команду, чтобы обновить индекс пакета
Теперь выполните приведенную ниже команду apt, чтобы установить зависимости Docker,
Шаг 2) Настройка репозитория Docker
Чтобы настроить репозиторий Docker, давайте сначала добавим ключ GPG Docker с помощью следующей команды curl.
Выполните приведенную ниже команду echo, чтобы настроить официальный репозиторий Docker.
Вывод вышеуказанной команды,
Шаг 3) Установите Docker Engine
Выполните следующие команды apt, чтобы установить механизм Docker,
Вывод приведенных выше команд apt будет выглядеть следующим образом:
После успешной установки Docker проверьте его версию и статус службы, запустив
В приведенном выше выводе подтверждается, что служба Docker запущена и работает. Если служба Docker не запущена, попробуйте запустить ее с помощью команды ниже.
Шаг 4) Проверка установки Docker
Чтобы проверить установку Docker, попробуйте запустить контейнер hello-world и посмотреть, отображается ли информационное сообщение или нет.
Чтобы запустить контейнер hello-world, запустите команду docker ниже с помощью sudo
Информационное сообщение выше подтверждает, что Docker установлен и работает правильно.
Шаг 5) Разрешить локальному пользователю выполнять команду Docker
Чтобы разрешить локальному пользователю выполнять команды docker без sudo, добавьте пользователя в группу docker (дополнительную группу) с помощью команды usermod.
Примечание. Замените имя пользователя в приведенной выше команде в соответствии с вашими настройками, а также не забудьте выйти и войти в систему, чтобы изменения вступили в силу.
Удаление Docker Engine
Если вы закончили тестирование Docker и хотите удалить Docker из своей системы, выполните следующие команды, чтобы удалить его,
Это все из этого сообщения, пожалуйста, поделитесь своими отзывами и вопросами в разделе комментариев ниже.
Docker — это платформа, используемая для разработки приложений на основе контейнеров. Эти контейнеры представляют собой легкие и небольшие среды выполнения, которые совместно используют ядро операционной системы; однако они действуют изолированно. В то время контейнеры уже использовались в системах на базе Linux. Благодаря проекту Docker разработчикам стало проще упаковывать свои приложения в соответствии со стратегией "сделай один раз и работай где угодно".
Докер-контейнер
Контейнеры Docker можно рассматривать как исполняемые образы. С помощью Docker API или CLI вы можете выполнять различные операции в контейнере Docker. Он также предоставляет вам возможность подключить контейнер к одной или нескольким сетям, подключить к нему любое хранилище или создать новый образ Docker из существующего состояния.
Контейнер часто хорошо отделен от своего хоста и компьютера по умолчанию. У вас есть контроль над изолированной сетью контейнера, его хранилищем и другими базовыми подсистемами. Образ контейнера и любые предоставленные вами параметры конфигурации используются для его сборки или запуска. Любые изменения состояния контейнера, не сохраненные в постоянном хранилище, теряются при удалении контейнера.
Преимущества использования Docker в Debian 11
Одним из лучших преимуществ проекта с открытым исходным кодом является свобода выбора технологии, которую вы хотите использовать для выполнения любой задачи. Docker подходит для разработчиков, которым требуется легкая, небольшая и чистая среда для целей тестирования и которые хотят избежать сложного управления и настройки. Он также может быстро тестировать, отправлять и развертывать код, что помогает свести к минимуму задержку между написанием кода и его выполнением в среде.
Если в вашей системе установлен Docker и у всех вокруг есть ноу-хау, связанные с цепочкой инструментов Docker, то Docker Community Edition (CE) — это платформа, с которой вы можете начать работу с контейнерами.
Как установить зависимости Docker
Прежде всего откройте терминал Debian, нажав «CTRL+ALT+T», и выполните приведенную ниже команду для обновления системных репозиториев:
На следующем этапе мы добавим в систему необходимые зависимости Docker.
Все зависимости установлены.
Как импортировать ключ и репозиторий Docker GPG в Debian 11
Чтобы подписать пакеты Docker, вам необходимо импортировать его официальный ключ в вашу систему. Для этого пропишите в терминале команду curl.
Запишите приведенную ниже команду, чтобы добавить репозиторий:
$ echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) стабильная " | sudo тройник /etc/apt/sources.list.d/docker.list
Для обновления списка пакетов используйте:
После обновления списка пакетов мы можем перейти к следующему шагу.
Как установить Docker в Debian 11
Теперь выполните эту команду для установки Docker в системе Debian 11:
Подождите несколько минут, так как установка Docker займет некоторое время:
Если вы хотите подтвердить наличие Docker в вашей системе, напишите команду «docker» с параметром «-v». Добавлен параметр «-v», чтобы показать версию Docker:
Как проверить службу Docker в Debian 11
После успешной установки Docker в вашей системе следующим шагом будет проверка его статуса с помощью команды «systemctl». Команда «systemctl» используется для управления различными службами в системе. В нашем случае мы выполним команду «systemctl» с опцией «status», чтобы увидеть, активна или неактивна служба Docker в нашей системе Debian:
Как видите, служба Docker активна в нашей CentOS:
Как протестировать Docker в Debian 11
До этого момента мы установили Docker и проверили его статус в нашей системе Debian. Теперь, что нам делать дальше? Мы проверим работу Docker, запустив образец контейнера. Например, в приведенной ниже команде мы попытаемся запустить глобальный док-контейнер «hello-world»:
В выходных данных указано, что Docker без труда работает в системе:
Заключение
Docker – это программная платформа, используемая для быстрой разработки, тестирования и развертывания приложений. Он организует приложения или пакеты в контейнеры, включая все, что требуется вашему приложению для работы, например, системные инструменты, библиотеки, код и среду выполнения. Docker позволяет быстро развертывать и масштабировать приложения в любой среде. В этой статье показано, как установить Docker на Debian. Кроме того, мы показали вам процедуру тестирования Docker в вашей системе Debian 11.
Об авторе
Шарка Хамид
Я энтузиаст Linux, я люблю читать каждый блог Linux в Интернете. У меня есть степень магистра компьютерных наук, и я очень люблю учиться и преподавать.
Docker – это приложение, которое упрощает процесс управления процессами приложений в контейнерах. Контейнеры позволяют запускать приложения в процессах, изолированных от ресурсов. Они похожи на виртуальные машины, но контейнеры более переносимы, менее ресурсоемки и больше зависят от операционной системы хоста.
Для подробного ознакомления с различными компонентами контейнера Docker ознакомьтесь с документом Экосистема Docker: введение в общие компоненты.
В этом руководстве вы установите и будете использовать Docker Community Edition (CE) в Debian 10. Вы будете устанавливать сам Docker, работать с контейнерами и образами и отправлять образ в репозиторий Docker.
Предпосылки
Чтобы следовать этому руководству, вам потребуется следующее:
- Один сервер Debian 10, настроенный в соответствии с руководством по первоначальной настройке сервера Debian 10, включая пользователя без полномочий root и брандмауэр.
- Учетная запись в Docker Hub, если вы хотите создавать собственные образы и отправлять их в Docker Hub, как показано на шагах 7 и 8.
Шаг 1 — Установка Docker
Установочный пакет Docker, доступный в официальном репозитории Debian, может быть не последней версии. Чтобы гарантировать, что мы получим последнюю версию, мы установим Docker из официального репозитория Docker. Для этого мы добавим новый источник пакета, добавим ключ GPG из Docker, чтобы убедиться, что загрузки действительны, а затем установим пакет.
Сначала обновите существующий список пакетов:
Затем добавьте в свою систему ключ GPG для официального репозитория Docker:
Добавьте репозиторий Docker в источники APT:
Затем обновите базу данных пакетов пакетами Docker из только что добавленного репозитория:
Убедитесь, что вы собираетесь установить из репозитория Docker, а не репозитория Debian по умолчанию:
Вы увидите такой вывод, хотя номер версии Docker может отличаться:
Обратите внимание, что docker-ce не установлен, но кандидат на установку взят из репозитория Docker для Debian 10 ( buster ).
Наконец, установите Docker:
Теперь Docker установлен, демон запущен, и процесс может запускаться при загрузке. Убедитесь, что он работает:
Вывод будет похож на следующий, показывающий, что служба активна и работает:
Установка Docker дает вам не только службу Docker (демон), но и утилиту командной строки docker или клиент Docker. Позже в этом руководстве мы рассмотрим, как использовать команду docker.
Шаг 2. Выполнение команды Docker без Sudo (необязательно)
По умолчанию команду docker может запускать только пользователь root или пользователь из группы docker, которая автоматически создается в процессе установки Docker. Если вы попытаетесь запустить команду docker без префикса sudo или не находясь в группе docker, вы получите такой вывод:
Если вы не хотите вводить sudo при каждом запуске команды docker, добавьте свое имя пользователя в группу docker:
Чтобы применить новое членство в группе, выйдите из сервера и снова войдите или введите следующее:
Вам будет предложено ввести пароль пользователя, чтобы продолжить.
Подтвердите, что ваш пользователь теперь добавлен в группу docker, введя:
Если вам нужно добавить в группу docker пользователя, под которым вы не вошли в систему, объявите это имя пользователя явно, используя:
В оставшейся части этой статьи предполагается, что вы запускаете команду docker от имени пользователя в группе docker. Если вы решите этого не делать, добавьте к командам sudo .
Давайте рассмотрим команду docker.
Шаг 3. Использование команды Docker
Использование docker заключается в передаче ему цепочки параметров и команд, за которыми следуют аргументы. Синтаксис принимает следующую форму:
Чтобы просмотреть все доступные подкоманды, введите:
Начиная с Docker 18, полный список доступных подкоманд включает:
Чтобы просмотреть параметры, доступные для определенной команды, введите:
Чтобы просмотреть общесистемную информацию о Docker, используйте:
Давайте рассмотрим некоторые из этих команд. Мы начнем с работы с изображениями.
Шаг 4 — Работа с образами Docker
Контейнеры Docker создаются из образов Docker. По умолчанию Docker извлекает эти образы из Docker Hub, реестра Docker, которым управляет Docker, компания, стоящая за проектом Docker. Любой может разместить свои образы Docker в Docker Hub, поэтому образы большинства приложений и дистрибутивов Linux, которые вам понадобятся, будут размещены там.
Чтобы проверить, можете ли вы получать доступ и загружать образы из Docker Hub, введите:
Вывод покажет, что Docker работает правильно:
Изначально Docker не смог найти образ hello-world локально, поэтому он загрузил образ из Docker Hub, который является репозиторием по умолчанию. После загрузки образа Docker создал контейнер из образа, и приложение внутри контейнера запустилось, отобразив сообщение.
Вы можете искать образы, доступные в Docker Hub, с помощью команды docker с подкомандой поиска. Например, чтобы найти образ Ubuntu, введите:
Сценарий просканирует Docker Hub и вернет список всех изображений, имя которых соответствует строке поиска. В этом случае вывод будет примерно таким:
В ОФИЦИАЛЬНОМ столбце ОК указывает на образ, созданный и поддерживаемый компанией, стоящей за проектом. Определив изображение, которое хотите использовать, вы можете загрузить его на свой компьютер с помощью подкоманды pull.
Выполните следующую команду, чтобы загрузить официальный образ Ubuntu на свой компьютер:
Вы увидите следующий вывод:
После загрузки образа вы можете запустить контейнер, используя загруженный образ с помощью подкоманды запуска. Как вы видели в примере с hello-world, если образ не был загружен при выполнении docker с подкомандой run, клиент Docker сначала загрузит образ, а затем запустит контейнер, используя его.
Чтобы просмотреть изображения, загруженные на ваш компьютер, введите:
Вывод должен выглядеть примерно так:
Как вы увидите далее в этом руководстве, образы, которые вы используете для запуска контейнеров, можно изменить и использовать для создания новых образов, которые затем можно загрузить (протолкнуть – это технический термин) в Docker Hub или другие реестры Docker.
Давайте более подробно рассмотрим, как запускать контейнеры.
Шаг 5. Запуск контейнера Docker
Контейнер hello-world, который вы запустили на предыдущем шаге, является примером контейнера, который запускается и завершает работу после отправки тестового сообщения. Контейнеры могут быть гораздо полезнее, и они могут быть интерактивными. В конце концов, они похожи на виртуальные машины, только более ресурсоемкие.
В качестве примера запустим контейнер, используя последний образ Ubuntu. Комбинация ключей -i и -t обеспечивает интерактивный доступ оболочки к контейнеру:
Ваша командная строка должна измениться, чтобы отразить тот факт, что вы сейчас работаете внутри контейнера, и должна принять следующий вид:
Запишите идентификатор контейнера в командной строке. В данном примере это d9b100f2f636. Этот идентификатор контейнера понадобится вам позже, чтобы идентифицировать контейнер, когда вы захотите его удалить.
Теперь вы можете запустить любую команду внутри контейнера. Например, давайте обновим базу данных пакетов внутри контейнера. Вам не нужно ставить перед какой-либо командой префикс sudo , потому что вы работаете внутри контейнера как пользователь root:
Затем установите в него любое приложение. Давайте установим Node.js:
Это установит Node.js в контейнер из официального репозитория Ubuntu. Когда установка завершится, убедитесь, что Node.js установлен:
Вы увидите номер версии, отображаемый в вашем терминале:
Любые изменения, которые вы вносите в контейнер, применяются только к этому контейнеру.
Чтобы выйти из контейнера, введите exit в командной строке.
Далее рассмотрим управление контейнерами в нашей системе.
Шаг 6. Управление контейнерами Docker
После некоторого использования Docker на вашем компьютере будет много активных (работающих) и неактивных контейнеров. Чтобы просмотреть активные, используйте:
Вы увидите вывод, аналогичный следующему:
В этом руководстве вы запустили два контейнера; один из образа hello-world, а другой из образа ubuntu. Оба контейнера больше не работают, но они все еще существуют в вашей системе.
Чтобы просмотреть все контейнеры — активные и неактивные, запустите docker ps с параметром -a:
Вы увидите вывод, похожий на этот:
Чтобы просмотреть последний созданный вами контейнер, передайте ему ключ -l:
Чтобы запустить остановленный контейнер, используйте команду docker start , а затем идентификатор или имя контейнера. Давайте запустим контейнер на основе Ubuntu с идентификатором d9b100f2f636:
Контейнер запустится, и вы можете использовать docker ps, чтобы увидеть его статус:
Чтобы остановить работающий контейнер, используйте команду docker stop , а затем идентификатор или имя контейнера. На этот раз мы будем использовать имя, которое Docker присвоил контейнеру, а именно: friendly_volhard :
После того как вы решили, что контейнер вам больше не нужен, удалите его с помощью команды docker rm, снова используя либо идентификатор контейнера, либо имя. Используйте команду docker ps -a, чтобы найти идентификатор или имя контейнера, связанного с образом hello-world, и удалить его.
Вы можете запустить новый контейнер и дать ему имя с помощью переключателя --name. Вы также можете использовать ключ --rm для создания контейнера, который удаляет себя при остановке. Дополнительные сведения об этих и других параметрах см. в справочной команде docker run.
Контейнеры можно превратить в образы, которые можно использовать для создания новых контейнеров. Давайте посмотрим, как это работает.
Шаг 7. Фиксация изменений в контейнере в образе Docker
При запуске образа Docker вы можете создавать, изменять и удалять файлы точно так же, как на виртуальной машине. Вносимые вами изменения будут применяться только к этому контейнеру. Вы можете запускать и останавливать его, но как только вы уничтожите его с помощью команды docker rm, изменения будут потеряны навсегда.
В этом разделе показано, как сохранить состояние контейнера в виде нового образа Docker.
После установки Node.js внутри контейнера Ubuntu теперь у вас есть контейнер, работающий на основе образа, но этот контейнер отличается от образа, который вы использовали для его создания. Но вы можете повторно использовать этот контейнер Node.js в качестве основы для новых образов позже.
Затем зафиксируйте изменения в новом образе Docker с помощью следующей команды.
Переключатель -m предназначен для сообщения о фиксации, которое помогает вам и другим пользователям узнать, какие изменения вы внесли, а -a используется для указания автора. container_id — это тот, который вы отметили ранее в руководстве, когда запускали интерактивный сеанс Docker. Если вы не создали дополнительные репозитории в Docker Hub, репозиторий обычно называется вашим именем пользователя Docker Hub.
Например, для пользователя sammy с идентификатором контейнера d9b100f2f636 команда будет выглядеть так:
Когда вы фиксируете изображение, новое изображение сохраняется локально на вашем компьютере. Далее в этом руководстве вы узнаете, как отправить образ в реестр Docker, например Docker Hub, чтобы другие пользователи могли получить к нему доступ.
Повторный вывод образов Docker покажет новый образ, а также старый, из которого он был получен:
Вы увидите следующий вывод:
В этом примере ubuntu-nodejs — это новый образ, созданный на основе существующего образа ubuntu из Docker Hub. Разница в размерах отражает внесенные изменения. И в этом примере изменение заключалось в том, что был установлен NodeJS. Так что в следующий раз, когда вам понадобится запустить контейнер с помощью Ubuntu с предустановленным NodeJS, вы можете просто использовать новый образ.
Вы также можете создавать образы из Dockerfile, что позволяет автоматизировать установку программного обеспечения в новый образ. Однако это выходит за рамки данного руководства.
Теперь давайте поделимся новым изображением с другими, чтобы они могли создавать из него контейнеры.
Шаг 8. Отправка образов Docker в репозиторий Docker
Следующий логический шаг после создания нового образа из существующего — поделиться им с несколькими избранными друзьями, со всем миром в Docker Hub или в другом реестре Docker, к которому у вас есть доступ. Чтобы отправить образ в Docker Hub или любой другой реестр Docker, у вас должна быть там учетная запись.
В этом разделе показано, как отправить образ Docker в Docker Hub. Чтобы узнать, как создать собственный частный реестр Docker, ознакомьтесь со статьей Как настроить частный реестр Docker в Ubuntu 18.04.
Чтобы отправить изображение, сначала войдите в Docker Hub.
Вам будет предложено пройти аутентификацию с помощью пароля Docker Hub. Если вы указали правильный пароль, аутентификация должна пройти успешно.
Примечание. Если ваше имя пользователя реестра Docker отличается от локального имени пользователя, которое вы использовали для создания образа, вам придется пометить образ своим именем пользователя реестра. Для примера, приведенного на последнем шаге, введите:
Затем вы можете отправить свое собственное изображение, используя:
Чтобы отправить образ ubuntu-nodejs в репозиторий sammy, выполните следующую команду:
Процесс загрузки изображений может занять некоторое время, но после его завершения результат будет выглядеть следующим образом:
После отправки изображения в реестр оно должно отображаться на панели управления вашей учетной записи, как показано на изображении ниже.
Если попытка отправки приводит к ошибке такого рода, вероятно, вы не вошли в систему:
Войдите в систему с помощью учетной записи docker и повторите попытку отправки. Затем убедитесь, что он существует на странице репозитория Docker Hub.
Теперь вы можете использовать docker pull sammy / ubuntu-nodejs, чтобы перенести образ на новый компьютер и использовать его для запуска нового контейнера.
Заключение
В этом руководстве вы установили Docker, поработали с образами и контейнерами и отправили измененный образ в Docker Hub. Теперь, когда вы знаете основы, изучите другие учебные пособия по Docker в сообществе DigitalOcean.
Хотите узнать больше? Присоединяйтесь к сообществу DigitalOcean!
Присоединяйтесь к нашему сообществу DigitalOcean, насчитывающему более миллиона разработчиков, бесплатно! Получайте помощь и делитесь знаниями в нашем разделе "Вопросы и ответы", находите руководства и инструменты, которые помогут вам расти как разработчику и масштабировать свой проект или бизнес, а также подписывайтесь на интересующие вас темы.
Docker используется для создания, развертывания и управления контейнерами для разработки приложений.Он использует виртуализацию ОС, чтобы изолировать контейнеры и позволить им взаимодействовать друг с другом.
В этом руководстве вы узнаете, как установить Docker в Debian 10.
- Debian 10 установлен и настроен
- Доступ к командной строке/окну терминала
- Учетная запись пользователя с правами sudo
Докер в Debian 10
Чтобы настроить Docker, вам потребуется подготовить систему к установке. Удаление старых версий пакетов Docker и загрузка необходимых зависимостей ускоряет процесс.
Шаг 1. Удаление пакетов Docker по умолчанию
Первый шаг — удалить старые версии docker , docker.io и docker-engine, которые уже могут быть в системе. Эти версии не требуются для последней стабильной версии Docker.
Удалите устаревшие пакеты, введя в терминале следующую команду:
Шаг 2. Установите необходимые пакеты
Обновите репозиторий по умолчанию с помощью команды:
Загрузите следующие зависимости:
Шаг 3. Установите Docker
Существует несколько способов установки Docker:
- Стандартный и наиболее практичный подход — настроить репозитории Docker и установить из них программное обеспечение.
- В качестве альтернативы загрузите пакет DEB и установите Docker вручную. Этот метод рекомендуется для пользователей с изолированными системами без доступа к Интернету.
- Если у вас есть Raspbian, единственный способ настроить Docker — это использовать автоматизированные сценарии удобства.
Способ 1. Установите Docker с помощью репозитория в Debian 10
Для большинства пользователей Debian 10 лучшим вариантом будет установка Docker из официальных репозиториев. Для этого выполните шаги, описанные ниже.
<р>1. Загрузите официальный ключ GPG Docker, чтобы проверить целостность пакетов перед установкой: <р>2. Добавьте репозиторий Docker в системный репозиторий с помощью следующей команды: <р>3. Обновите репозиторий apt: <р>4. Установите Docker Engine — Community (последняя версия Docker) и containerd: <р>5. Служба запустится автоматически после установки. Проверьте статус, набрав:<р>6. Вы также можете проверить установку, запросив версию Docker:
Способ 2: установить Docker вручную в Debian 10
Пользователи, которые не могут установить Docker из его репозиториев (или не хотят этого делать), могут установить программное обеспечение вручную.
1.Перейдите по следующему URL-адресу:
<р>3. Щелкните пул > стабильная версия и, наконец, amd64.
<р>4. Далее вы увидите список всех доступных пакетов .deb, включая новые выпуски и старые версии. Список будет состоять из нескольких версий трех основных пакетов Docker:
Если вам не требуется конкретная версия, используйте последнюю стабильную версию. Нажмите на новейшую версию каждого программного пакета, чтобы загрузить их.
Система чаще всего сохраняет файлы .deb в папке "Загрузки".
<р>5. Вернитесь в командную строку и перейдите в папку «Загрузки» с помощью следующей команды:
<р>6. Чтобы настроить Docker, используйте команду dpkg для установки каждого из трех пакетов. Убедитесь, что делаете это в следующем порядке:
Шаг 4. Проверьте правильность установки с помощью образа Hello World
Лучший способ убедиться, что служба контейнера настроена правильно, — это запустить тестовый образ hello-world.
Команда автоматически загружает изображение hello-world. Он также создает контейнер на основе этого изображения.
В терминале появится следующий вывод, подтверждающий, что вы успешно настроили Docker в Debian 10:
Бонус: удаление и удаление Docker
Если вам нужно удалить Docker, выполните следующую команду:
Команда удаляет пакет docker-ce. Однако любые дополнительные файлы, связанные с ним, такие как образы, контейнеры и пользовательские файлы конфигурации, остаются в системе. Удалите все из каталога Docker с помощью команды:
Теперь, когда вы знаете, как установить Docker в Debian 10, вы также можете приступить к изучению основных команд и функций.
Если вы никогда не работали с контейнерами Docker, мы настоятельно рекомендуем прочитать далее, как отображать список, запускать и останавливать контейнеры Docker.
Читайте также: