Docker: различия между версиями
(→Установка: очепятка) |
|||
(не показано 30 промежуточных версий 4 участников) | |||
Строка 1: | Строка 1: | ||
{{ | {{Draft}} | ||
== Описание == | == Описание == | ||
Docker — программное обеспечение для запуска приложений в изолированной среде. С его помощью можно упаковать приложение со всем его окружением и зависимостями в контейнер и потом развернуть его на любой ОС Linux. Такой подход позволяет избежать конфликта используемых приложением библиотек с установленными в основной системе. | |||
С помощью docker-контейнеров распространяется много открытого ПО, например, [[Home Assistant]] и [https://www.openhab.org/ openHAB]. | С помощью docker-контейнеров распространяется много открытого ПО, например, [[Home Assistant]] и [https://www.openhab.org/ openHAB]. | ||
<gallery mode="packed" heights="150px"> | <gallery mode="packed" heights="150px"> | ||
Image: docker-hellow-world.png | | Image: docker-hellow-world.png | docker run hello-world | ||
Image: docker-disk-usage.png | После установки docker | Image: docker-disk-usage.png | После установки docker под контейнеры и пользовательские данные в разделе <code>/mnt/data</code> останется больше 4 ГБайт | ||
</gallery> | </gallery> | ||
Строка 30: | Строка 27: | ||
<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> | ||
== Предварительная настройка == | == Предварительная настройка == | ||
{{Wbincludes:Installing Software In Console Catalog And Update}} | {{Wbincludes:Installing Software In Console Catalog And Update}} | ||
Сделаем так, чтобы файл конфигурации и docker-контейнеры хранились в папке <code>/mnt/data</code>. | |||
Настройте симлинк для папки конфигурации: | Настройте симлинк для папки конфигурации: | ||
Строка 46: | Строка 38: | ||
mkdir /mnt/data/etc/docker && ln -s /mnt/data/etc/docker /etc/docker | mkdir /mnt/data/etc/docker && ln -s /mnt/data/etc/docker /etc/docker | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Создайте папку для хранения образов: | Создайте папку для хранения образов: | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
mkdir /mnt/data/ | mkdir /mnt/data/root/docker | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Укажите в файле | Укажите в файле '''daemon.json''' созданную выше папку: | ||
# Откройте файл в редакторе: | # Откройте файл в редакторе: | ||
#:<syntaxhighlight lang="bash"> | #:<syntaxhighlight lang="bash"> | ||
mcedit /etc/docker/daemon.json | |||
</syntaxhighlight> | </syntaxhighlight> | ||
# Вставьте в него строки: | # Вставьте в него строки: | ||
#:<syntaxhighlight lang="js"> | #:<syntaxhighlight lang="js"> | ||
{ | { | ||
"data-root": "/mnt/data/ | "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: | Строка 68: | ||
</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] |
Версия 11:46, 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 созданную выше папку:
- Откройте файл в редакторе:
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 установлен и работает.