Docker: различия между версиями
(→Установка: очепятка) |
|||
(не показаны 24 промежуточные версии 4 участников) | |||
Строка 2: | Строка 2: | ||
== Описание == | == Описание == | ||
[https://docker.com Docker] — программное обеспечение для запуска приложений в изолированной среде. С его помощью можно упаковать приложение со всем его окружением и зависимостями в контейнер и потом развернуть его на любой ОС Linux. Такой подход позволяет избежать конфликта используемых приложением библиотек с установленными в основной системе. | [https://docker.com Docker] — программное обеспечение для запуска приложений в изолированной среде. С его помощью можно упаковать приложение со всем его окружением и зависимостями в контейнер и потом развернуть его на любой ОС Linux. Такой подход позволяет избежать конфликта используемых приложением библиотек с установленными в основной системе. | ||
С помощью docker-контейнеров распространяется много открытого ПО, например, [[Home Assistant]] и [https://www.openhab.org/ openHAB]. | С помощью docker-контейнеров распространяется много открытого ПО, например, [[Home Assistant]] и [https://www.openhab.org/ openHAB]. | ||
Строка 30: | Строка 26: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg | curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 51: | Строка 40: | ||
Создайте папку для хранения образов: | Создайте папку для хранения образов: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
mkdir /mnt/data/.docker | mkdir /mnt/data/root/.docker | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Строка 57: | Строка 46: | ||
# Откройте файл в редакторе: | # Откройте файл в редакторе: | ||
#:<syntaxhighlight lang="bash"> | #:<syntaxhighlight lang="bash"> | ||
mcedit /etc/docker/daemon.json | |||
</syntaxhighlight> | </syntaxhighlight> | ||
# Вставьте в него строки: | # Вставьте в него строки: | ||
#:<syntaxhighlight lang="js"> | #:<syntaxhighlight lang="js"> | ||
{ | { | ||
"data-root": "/mnt/data/.docker" | "data-root": "/mnt/data/root/.docker" | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
# Сохраните и закройте файл | # Сохраните и закройте файл. | ||
== Установка == | == Установка == | ||
После того, как мы указали, где будут | После того, как мы указали, где будут хранится контейнеры, устанавливаем сам 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 | ||
Строка 85: | Строка 67: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Если в консоли появилась надпись <code>Hello from Docker!</code>, docker установлен и работает. | Если в консоли появилась надпись <code>Hello from Docker!</code>, docker установлен и работает. | ||
== Полезные ссылки == | == Полезные ссылки == | ||
* [[Home Assistant | Установка Home Assistant через docker]] | * [[Home Assistant | Установка Home Assistant через docker]] | ||
* [https://docs.docker.com/engine/install/debian/ Оригинальная инструкция по установке Docker] | * [https://docs.docker.com/engine/install/debian/ Оригинальная инструкция по установке Docker] |
Версия 19:11, 18 мая 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 созданную выше папку:
- Откройте файл в редакторе:
mcedit /etc/docker/daemon.json
- Вставьте в него строки:
{ "data-root": "/mnt/data/root/.docker" }
- Сохраните и закройте файл.
Установка
После того, как мы указали, где будут хранится контейнеры, устанавливаем сам docker:
apt update && apt install docker-ce docker-ce-cli containerd.io
Чтобы проверить, что всё работает — запустите контейнер hello-world
:
docker run hello-world
Если в консоли появилась надпись Hello from Docker!
, docker установлен и работает.