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

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


== Установка ==
== Установка ==
После того, как мы указали, где будут хранится контейнеры, устанавливаем сам docker:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
apt update && apt install docker-ce docker-ce-cli containerd.io
apt update && apt install docker-ce docker-ce-cli containerd.io
</syntaxhighlight>
</syntaxhighlight>


Чтобы проверить, что всё работает — запустите контейнер <code>hello-world</code>:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
docker run hello-world
docker run hello-world
</syntaxhighlight>
</syntaxhighlight>
Если в консоли появилась надпись <code>Hello from Docker!</code>, docker установлен и работает.


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

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

Это черновик страницы. Последняя правка сделана 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. Сохраните и закройте файл.

Установка

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

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

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

docker run hello-world

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

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

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

docker ps
docker stop id_container

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

docker images
docker run id_image