Docker: различия между версиями

Материал из Wiren Board
Строка 6: Строка 6:


<gallery mode="packed" heights="150px">
<gallery mode="packed" heights="150px">
Image: docker-hellow-world.png | docker run hello-world
Image: docker-hellow-world.png | Проверка работы docker
Image: docker-disk-usage.png | После установки docker под контейнеры и пользовательские данные в разделе <code>/mnt/data</code> останется больше 4 ГБайт
Image: docker-disk-usage.png | После установки docker, в разделе <code>/mnt/data</code> остаётся много свободного места для образов и пользовательских данных
</gallery>
</gallery>



Версия 11:57, 15 апреля 2022

Описание

Docker — программное обеспечение для запуска приложений в изолированной среде. С его помощью можно упаковать приложение со всем его окружением и зависимостями в контейнер и потом развернуть его на любой ОС Linux. Такой подход позволяет избежать конфликта используемых приложением библиотек с установленными в основной системе.

С помощью docker-контейнеров распространяется много открытого ПО, например, Home Assistant и openHAB.

Подготовка к установке

Копируйте команды из инструкции, вставляйте их в консоль контроллера с помощью клавиш Shift+Insert и запускайте клавишей Enter. В случае ошибок, внимательно читайте вывод, там будут инструкции и подсказки.

Установите необходимые зависимости:

apt update && apt install ca-certificates curl gnupg lsb-release

Добавьте репозиторий с пакетами docker:

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null

Добавьте GPG ключ для репозитория:

curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Предварительная настройка

Чтобы не потерять установленный софт и его данные, обновляйте ПО контроллера только через менеджер пакетов apt. Подробнее читайте в статье Программное обеспечение Wiren Board.

Встроенный флеш-накопитель контроллера разбит на разделы и для пользователя отведён самый большой из них, который монтируется в папку /mnt/data. Нужно учесть эту особенность при установке программ, а также при обновлении прошивки контроллера.

Настройте симлинк для папки конфигурации:

mkdir /mnt/data/etc/docker && ln -s /mnt/data/etc/docker /etc/docker

Мы будем хранить образы на встроенном накопителе, если вам нужно больше места под образы — используйте внешнюю флешку.

Создайте папку для хранения образов:

mkdir /mnt/data/root/docker

Укажите в файле настроек daemon.json созданную выше папку:

  1. Откройте файл в редакторе:
    mcedit /etc/docker/daemon.json
    
  2. Вставьте в него строки:
    {
      "data-root": "/mnt/data/root/docker"
    }
    
  3. Сохраните и закройте файл.

Установка

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

apt update && apt install docker-ce docker-ce-cli containerd.io

Чтобы проверить, что всё работает — запустите контейнер hello-world:

docker run hello-world

Если в консоли появилась надпись Hello from Docker!, docker установлен и работает.

Полезные ссылки