MyTetra Share
Делитесь знаниями!
Установить Docker Engine на Debian
Время создания: 04.01.2025 21:51
Автор: alensav
Текстовые метки: Установить Docker Engine на Debian
Раздел: MyTetra - INTERNET
Запись: alensav/MyTetra2/main/base/1736016718k1r0woz77k/text.html на raw.githubusercontent.com
  • Начать
  • Руководства
  • Руководства
  • Ссылка

Спросите ИИ

Руководства


  • С ОТКРЫТЫМ ИСХОДНЫМ КОДОМ
  • Движок Докера
    • Установить
      • Убунту
      • Д ебиан
      • РХЕЛ
      • Федора
      • Операционная система Raspberry Pi (32-бит)
      • CentOS
      • СЛЕС (s390x)
      • Двоичные файлы
      • Действия после установки
    • Хранилище
    • Нетворкинг
    • Контейнеры
    • CLI
    • Демон
    • Управляйте ресурсами
    • Журналы и метрики
    • Безопасность
    • Режим роя
    • Устаревшие функции
    • Плагины Docker Engine
    • Заметки о выпуске
  • Сборка Docker
  • Docker-композитор
  • Реестр
  • ПРОДУКЦИЯ
  • Рабочий стол Docker
  • Docker Build Облако
  • Докер Хаб
  • Докер Скаут
  • Docker для GitHub Copilot EA
  • Расширения Docker
  • Тестовые контейнеры Cloud
  • Интеграция с облаком
  • Жизненный цикл релиза
  • ПЛАТФОРМА
  • Администрация
  • Биллинг
  • Аккаунты Docker
  • Безопасность
  • Подписка

Д ом/Руководства /Движок Докера /Установить /Дебиан

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

Оглавление

  • Предпосылки
    • Ограничения брандмауэра
    • Требования к ОС
    • Удалить старые версии
  • Методы установки
    • Установить с помощью  apt репозитория
    • Установить из пакета
  • Удалить Docker Engine
  • Следующие шаги

Чтобы начать работу с Docker Engine в Debian, убедитесь, что выполнены предварительные требования  , а затем следуйте инструкциям по установке  .

П редпосылки

О граничения брандмауэра

Предупреждение

Перед установкой Docker обязательно учтите следующие аспекты безопасности и несовместимости с брандмауэрами.

  • Если вы используете ufw или firewalld для управления настройками брандмауэра, имейте в виду, что когда вы открываете порты контейнера с помощью Docker, эти порты обходят правила вашего брандмауэра. Для получения дополнительной информации см. Docker и ufw  .
  • Docker совместим только с iptables-nftи iptables-legacy. Правила брандмауэра, созданные с помощью, nftне поддерживаются в системе с установленным Docker. Убедитесь, что все используемые вами наборы правил брандмауэра созданы с помощью iptablesили ip6tables, и что вы добавляете их в DOCKER-USERцепочку, см. Фильтрация пакетов и брандмауэры  .

Т ребования к ОС

Для установки Docker Engine вам понадобится 64-битная версия одной из следующих версий Debian:

  • Debian Bookworm 12 (стабильный)
  • Debian Bullseye 11 (старая стабильная версия)

Docker Engine для Debian совместим с архитектурами x86_64 (или amd64), armhf, arm64 и ppc64le (ppc64el).

У далить старые версии

Перед установкой Docker Engine необходимо удалить все конфликтующие пакеты.

Ваш дистрибутив Linux может предоставлять неофициальные пакеты Docker, которые могут конфликтовать с официальными пакетами, предоставляемыми Docker. Вы должны удалить эти пакеты перед установкой официальной версии Docker Engine.

Неофициальные пакеты, которые следует удалить:

  • docker.io
  • docker-compose
  • docker-doc
  • podman-docker

Более того, Docker Engine зависит от containerdи runc. Docker Engine объединяет эти зависимости в один пакет: containerd.io. Если вы ранее устанавливали containerdили runc, удалите их, чтобы избежать конфликтов с версиями, входящими в комплект Docker Engine.

Чтобы удалить все конфликтующие пакеты, выполните следующую команду:

$ for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done


apt-getможет сообщить, что у вас не установлен ни один из этих пакетов.

Образы, контейнеры, тома и сети, хранящиеся в, /var/lib/docker/не удаляются автоматически при удалении Docker. Если вы хотите начать с чистой установки и предпочитаете очистить все существующие данные, прочтите раздел об удалении Docker Engine  .

М етоды установки

Установить Docker Engine можно разными способами в зависимости от ваших потребностей:

  • Docker Engine поставляется в комплекте с Docker Desktop для Linux  . Это самый простой и быстрый способ начать работу.
  • Настройте и установите Docker Engine из репозитория Docker apt  .
  • Установите его вручную  и управляйте обновлениями вручную.
  • Используйте удобный скрипт  . Рекомендуется только для сред тестирования и разработки.

У становить с помощью  apt репозитория

Перед первой установкой Docker Engine на новую хост-машину вам необходимо настроить aptрепозиторий Docker. После этого вы сможете установить и обновить Docker из репозитория.

  1. Настройте aptрепозиторий Docker.
  2. # Add Docker's official GPG key:

    sudo apt-get update

    sudo apt-get install ca-certificates curl

    sudo install -m 0755 -d /etc/apt/keyrings

    sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc

    sudo chmod a+r /etc/apt/keyrings/docker.asc


    # Add the repository to Apt sources:

    echo \

    "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \

    $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \

    sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

    sudo apt-get update

    Примечание

    Если вы используете производный дистрибутив, например Kali Linux, вам может потребоваться заменить часть этой команды, которая должна выводить кодовое имя версии:

    $(. /etc/os-release && echo "$VERSION_CODENAME")


    Замените эту часть кодовым именем соответствующего выпуска Debian, например bookworm.

  3. Установите пакеты Docker.
  4. Последний Конкретная версия


    Чтобы установить последнюю версию, выполните:

    $ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin



  5. Убедитесь, что установка прошла успешно, запустив hello-worldобраз:

$ sudo docker run hello-world


Эта команда загружает тестовое изображение и запускает его в контейнере. Когда контейнер запускается, он выводит сообщение с подтверждением и завершает работу.

Вы успешно установили и запустили Docker Engine.

Кончик

Возникают ли ошибки при попытке запуска без root-прав?

Группа dockerпользователей существует, но не содержит пользователей, поэтому вам необходимо использовать sudoдля запуска команд Docker. Продолжайте установку Linux  , чтобы разрешить непривилегированным пользователям запускать команды Docker и выполнять другие необязательные шаги конфигурации.

О бновление Docker Engine

Чтобы обновить Docker Engine, следуйте шагу 2 инструкции по установке  , выбрав новую версию, которую вы хотите установить.

У становить из пакета

Если вы не можете использовать репозиторий Docker aptдля установки Docker Engine, вы можете загрузить debфайл для вашего релиза и установить его вручную. Вам нужно загрузить новый файл каждый раз, когда вы хотите обновить Docker Engine.

  1. Перейти к https://download.docker.com/linux/debian/dists/ .
  2. Выберите вашу версию Debian из списка.
  3. Перейдите pool/stable/и выберите соответствующую архитектуру ( amd64armhfarm64, или s390x).
  4. Загрузите следующие debфайлы для пакетов Docker Engine, CLI, containerd и Docker Compose:
    • containerd.io_<version>_<arch>.deb
    • docker-ce_<version>_<arch>.deb
    • docker-ce-cli_<version>_<arch>.deb
    • docker-buildx-plugin_<version>_<arch>.deb
    • docker-compose-plugin_<version>_<arch>.deb
  5. Установите .debпакеты. Обновите пути в следующем примере на те, куда вы загрузили пакеты Docker.
  6. $ sudo dpkg -i ./containerd.io_<version>_<arch>.deb \

    ./docker-ce_<version>_<arch>.deb \

    ./docker-ce-cli_<version>_<arch>.deb \

    ./docker-buildx-plugin_<version>_<arch>.deb \

    ./docker-compose-plugin_<version>_<arch>.deb


    Демон Docker запускается автоматически.

  7. Убедитесь, что установка прошла успешно, запустив hello-worldобраз:

$ sudo service docker start

$ sudo docker run hello-world


Эта команда загружает тестовое изображение и запускает его в контейнере. Когда контейнер запускается, он выводит сообщение с подтверждением и завершает работу.

Вы успешно установили и запустили Docker Engine.

Кончик

Возникают ли ошибки при попытке запуска без root-прав?

Группа dockerпользователей существует, но не содержит пользователей, поэтому вам необходимо использовать sudoдля запуска команд Docker. Продолжайте установку Linux  , чтобы разрешить непривилегированным пользователям запускать команды Docker и выполнять другие необязательные шаги конфигурации.

О бновление Docker Engine

Чтобы обновить Docker Engine, загрузите новые файлы пакета и повторите процедуру установки  , указав новые файлы.

У становка с помощью удобного скрипта

Docker предоставляет удобный скрипт на https://get.docker.com/  для установки Docker в среды разработки неинтерактивно. Удобный скрипт не рекомендуется для производственных сред, но он полезен для создания сценария подготовки, адаптированного под ваши потребности. Также ознакомьтесь с инструкциями по установке с использованием репозитория  , чтобы узнать об этапах установки с использованием репозитория пакетов. Исходный код скрипта является открытым, и вы можете найти его в репозитории docker-install на GitHub  .

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

  • Для запуска скрипта требуются rootпривилегии sudo.
  • Скрипт пытается определить ваш дистрибутив Linux и его версию, а также настроить вашу систему управления пакетами.
  • Скрипт не позволяет настраивать большинство параметров установки.
  • Скрипт устанавливает зависимости и рекомендации, не запрашивая подтверждения. Это может установить большое количество пакетов, в зависимости от текущей конфигурации вашей хост-машины.
  • По умолчанию скрипт устанавливает последнюю стабильную версию Docker, containerd и runc. При использовании этого скрипта для подготовки машины это может привести к неожиданным обновлениям основной версии Docker. Всегда проверяйте обновления в тестовой среде перед развертыванием в производственных системах.
  • Скрипт не предназначен для обновления существующей установки Docker. При использовании скрипта для обновления существующей установки зависимости могут не обновиться до ожидаемой версии, что приведет к устаревшим версиям.

Кончик

Предварительный просмотр шагов скрипта перед запуском. Вы можете запустить скрипт с возможностью --dry-runузнать, какие шаги скрипт выполнит при вызове:

$ curl -fsSL https://get.docker.com -o get-docker.sh

$ sudo sh ./get-docker.sh --dry-run


В этом примере скрипт загружается с https://get.docker.com/  и запускается для установки последней стабильной версии Docker на Linux:

$ curl -fsSL https://get.docker.com -o get-docker.sh

$ sudo sh get-docker.sh

Executing docker install script, commit: 7cae5f8b0decc17d6571f9f52eb840fbc13b2737

<...>


Вы успешно установили и запустили Docker Engine. docker Служба запускается автоматически в дистрибутивах на основе Debian. В RPMдистрибутивах на основе CentOS, Fedora, RHEL или SLES вам необходимо запустить ее вручную с помощью соответствующей команды systemctlили service. Как указано в сообщении, пользователи без прав root не могут запускать команды Docker по умолчанию.

Использовать Docker как непривилегированный пользователь или выполнить установку в режиме rootless?

Скрипт установки требует rootили sudoпривилегий для установки и использования Docker. Если вы хотите предоставить пользователям без прав root доступ к Docker, обратитесь к шагам после установки для Linux  . Вы также можете установить Docker без rootпривилегий или настроить его для работы в режиме rootless. Инструкции по запуску Docker в режиме rootless см. в разделе запуск демона Docker в качестве пользователя без прав root (режим rootless)  .

У становить предварительные версии

Docker также предоставляет удобный скрипт на https://test.docker.com/  для установки предварительных версий Docker на Linux. Этот скрипт аналогичен скрипту на get.docker.com, но настраивает ваш менеджер пакетов на использование тестового канала репозитория пакетов Docker. Тестовый канал включает как стабильные, так и предварительные версии (бета-версии, релиз-кандидаты) Docker. Используйте этот скрипт для получения раннего доступа к новым релизам и для их оценки в тестовой среде до того, как они будут выпущены как стабильные.

Чтобы установить последнюю версию Docker на Linux из тестового канала, выполните:

$ curl -fsSL https://test.docker.com -o test-docker.sh

$ sudo sh test-docker.sh


О бновите Docker после использования удобного скрипта

Если вы установили Docker с помощью скрипта удобства, вам следует обновить Docker напрямую с помощью вашего менеджера пакетов. Нет никаких преимуществ в повторном запуске скрипта удобства. Повторный запуск может вызвать проблемы, если он попытается переустановить репозитории, которые уже существуют на хост-машине.

У далить Docker Engine

  1. Удалите пакеты Docker Engine, CLI, containerd и Docker Compose:
  2. $ sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras


  3. Образы, контейнеры, тома или пользовательские файлы конфигурации на вашем хосте не удаляются автоматически. Чтобы удалить все образы, контейнеры и тома:
  4. $ sudo rm -rf /var/lib/docker

    $ sudo rm -rf /var/lib/containerd


  5. Удалить список источников и брелоки

$ sudo rm /etc/apt/sources.list.d/docker.list

$ sudo rm /etc/apt/keyrings/docker.asc


Вам придется вручную удалить все отредактированные файлы конфигурации.

С ледующие шаги

  • Продолжайте выполнять действия после установки для Linux  .
Так же в этом разделе:
 
MyTetra Share v.0.67
Яндекс индекс цитирования