Docker: различия между версиями
(→Установка: Добавил полезные команды) |
|||
Строка 67: | Строка 67: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Если в консоли появилась надпись <code>Hello from Docker!</code>, docker установлен и работает. | Если в консоли появилась надпись <code>Hello from Docker!</code>, docker установлен и работает. | ||
== Полезные команды == | |||
Получить образ: | |||
<syntaxhighlight lang="console"> | |||
# docker pull esphome/esphome | |||
Using default tag: latest | |||
latest: Pulling from esphome/esphome | |||
f98812e1a494: Pull complete | |||
f20b799f735a: Pull complete | |||
a3eebee895ee: Pull complete | |||
d95c6fb39c81: Pull complete | |||
4b80ed7a161f: Pull complete | |||
cf110f754813: Pull complete | |||
9c25c9407f5a: Pull complete | |||
f8e529b4d0b5: Pull complete | |||
59ec28d4b7f1: Pull complete | |||
Digest: sha256:907ae118d77c3c63112d7eb09663d6567853df2549e45b9f60fa4803c0aafcdf | |||
Status: Downloaded newer image for esphome/esphome:latest | |||
docker.io/esphome/esphome:latest | |||
</syntaxhighlight> | |||
Список локальныйх образов: | |||
<syntaxhighlight lang="console"> | |||
# docker image ls | |||
REPOSITORY TAG IMAGE ID CREATED SIZE | |||
esphome/esphome latest 0401c33b2983 28 hours ago 219MB | |||
hello-world latest c0218de6585d 12 months ago 8.95kB | |||
</syntaxhighlight> | |||
Запуск образа: | |||
<syntaxhighlight lang="console"> | |||
# ddocker run -d 0401c33b2983 | |||
f8370632b7082e22a3460599b57425fd69074e0462f92c61da455d4a8c1e9960 | |||
</syntaxhighlight> | |||
Запущенный образ — это контейнер. | |||
Список контейнеров со статусами: | |||
<syntaxhighlight lang="console"> | |||
# docker ps -a | |||
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES | |||
f8370632b708 0401c33b2983 "/entrypoint.sh dash…" 26 seconds ago Up 25 seconds 6052/tcp inspiring_archimedes | |||
b87586003c09 hello-world "/hello" 28 minutes ago Exited (0) 28 minutes ago admiring_curie | |||
</syntaxhighlight> | |||
Остановка контейнера: | |||
<syntaxhighlight lang="console"> | |||
# docker stop f8370632b708 | |||
f8370632b708 | |||
</syntaxhighlight> | |||
Удалить остановленный контейнер: | |||
<syntaxhighlight lang="console"> | |||
# docker rm f8370632b708 | |||
f8370632b708 | |||
</syntaxhighlight> | |||
Удалить образ: | |||
<syntaxhighlight lang="console"> | |||
# docker rmi 0401c33b2983 | |||
Untagged: esphome/esphome:latest | |||
Untagged: esphome/esphome@sha256:907ae118d77c3c63112d7eb09663d6567853df2549e45b9f60fa4803c0aafcdf | |||
Deleted: sha256:0401c33b29832eda0d064c6e786af6171a8849e75e6c19c5ed9db217f471ef83 | |||
Deleted: sha256:e6704f3efee96502167917a51fbc6daa30293858fe8ba8f39d2ea0c41bc1fc8a | |||
Deleted: sha256:1d931fa53fc03964ab7328e5eeae0f0dfacbdfac235a57b88eef9a64f929acb1 | |||
Deleted: sha256:b4e4d712f11193ed8f62f621c4144f1ff290472aec189709600dfc40360e7a9e | |||
Deleted: sha256:0bf55d4ba3d1dbd430f1a44d83b0ee6569478b1718eb39387922043503fb86f8 | |||
Deleted: sha256:6aaea8978a285b4527f3728ea8aceb3aeb20ec590cf5fb277a01047386d50a49 | |||
Deleted: sha256:b9e65e0630bbd4c2afb6e02c136c97971c75f12b3483809187e5d7408bf8fecc | |||
Deleted: sha256:a7e364f65210a627eae36ac800e7f49f90468607ab6d4e69a44fb42943dca6b3 | |||
Deleted: sha256:97192e30a0c129d031979b18fe321b22e2bca286597c02d209ac93355deb64cd | |||
Deleted: sha256:3d92533735a9bf060b543dec10eefdbe98288abc43cfb671bb2b74dbe0f5fa88 | |||
</syntaxhighlight> | |||
== Полезные ссылки == | == Полезные ссылки == | ||
* [[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:20, 8 октября 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/.docker
Укажите в файле настроек daemon.json созданную выше папку:
- Откройте файл в редакторе:
mcedit /etc/docker/daemon.json
- Вставьте в него строки:
{ "data-root": "/mnt/data/.docker" }
- Сохраните и закройте файл.
Установка
После того, как мы указали, где будут хранится контейнеры, устанавливаем сам docker:
apt update && apt install docker-ce docker-ce-cli containerd.io
Чтобы проверить, что всё работает — запустите контейнер hello-world
:
docker run hello-world
Если в консоли появилась надпись Hello from Docker!
, docker установлен и работает.
Полезные команды
Получить образ:
# docker pull esphome/esphome
Using default tag: latest
latest: Pulling from esphome/esphome
f98812e1a494: Pull complete
f20b799f735a: Pull complete
a3eebee895ee: Pull complete
d95c6fb39c81: Pull complete
4b80ed7a161f: Pull complete
cf110f754813: Pull complete
9c25c9407f5a: Pull complete
f8e529b4d0b5: Pull complete
59ec28d4b7f1: Pull complete
Digest: sha256:907ae118d77c3c63112d7eb09663d6567853df2549e45b9f60fa4803c0aafcdf
Status: Downloaded newer image for esphome/esphome:latest
docker.io/esphome/esphome:latest
Список локальныйх образов:
# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
esphome/esphome latest 0401c33b2983 28 hours ago 219MB
hello-world latest c0218de6585d 12 months ago 8.95kB
Запуск образа:
# ddocker run -d 0401c33b2983
f8370632b7082e22a3460599b57425fd69074e0462f92c61da455d4a8c1e9960
Запущенный образ — это контейнер.
Список контейнеров со статусами:
# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f8370632b708 0401c33b2983 "/entrypoint.sh dash…" 26 seconds ago Up 25 seconds 6052/tcp inspiring_archimedes
b87586003c09 hello-world "/hello" 28 minutes ago Exited (0) 28 minutes ago admiring_curie
Остановка контейнера:
# docker stop f8370632b708
f8370632b708
Удалить остановленный контейнер:
# docker rm f8370632b708
f8370632b708
Удалить образ:
# docker rmi 0401c33b2983
Untagged: esphome/esphome:latest
Untagged: esphome/esphome@sha256:907ae118d77c3c63112d7eb09663d6567853df2549e45b9f60fa4803c0aafcdf
Deleted: sha256:0401c33b29832eda0d064c6e786af6171a8849e75e6c19c5ed9db217f471ef83
Deleted: sha256:e6704f3efee96502167917a51fbc6daa30293858fe8ba8f39d2ea0c41bc1fc8a
Deleted: sha256:1d931fa53fc03964ab7328e5eeae0f0dfacbdfac235a57b88eef9a64f929acb1
Deleted: sha256:b4e4d712f11193ed8f62f621c4144f1ff290472aec189709600dfc40360e7a9e
Deleted: sha256:0bf55d4ba3d1dbd430f1a44d83b0ee6569478b1718eb39387922043503fb86f8
Deleted: sha256:6aaea8978a285b4527f3728ea8aceb3aeb20ec590cf5fb277a01047386d50a49
Deleted: sha256:b9e65e0630bbd4c2afb6e02c136c97971c75f12b3483809187e5d7408bf8fecc
Deleted: sha256:a7e364f65210a627eae36ac800e7f49f90468607ab6d4e69a44fb42943dca6b3
Deleted: sha256:97192e30a0c129d031979b18fe321b22e2bca286597c02d209ac93355deb64cd
Deleted: sha256:3d92533735a9bf060b543dec10eefdbe98288abc43cfb671bb2b74dbe0f5fa88