Docker

Материал из Wiren Board

Это черновик страницы. Последняя правка сделана 15.04.2022 пользователем A.Degtyarev.

Описание

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. Нужно учесть эту особенность при установке программ, а также при обновлении прошивки контроллера.

Сделаем так, чтобы файл конфигурации и docker-контейнеры хранились в папке /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. Сохраните и закройте файл.

Установка

apt update && apt install docker-ce docker-ce-cli containerd.io
docker run hello-world

Полезные команды

Список запущенных контейнеров

docker ps
docker stop id_container

Список образов

docker images
docker run id_image