Установка (Удаление) Docker, Docker Compose и Portainer на Ubuntu 20.04 / Debian 10 / Kali Linux ... (Сервер, Десктоп, VPS Oracle ...)
Привет Пикабу!
Это подготовительная часть к следующему посту, в котором мы сделаем HTTPS доступ к Home Assistant Supervised или Home Assistant Core, который так же пригодится нам в дальнейшем для управления колонками с Алисой из Home Assistant... и/или позволит добавить ваши умные устройства из Home Assistant в умный дом Яндекса и управлять ими с любого устройства с Алисой, в том числе с колонок.
Вместо предисловия или disclaimer )))
Продолжаю наполнять свой аккаунт на Пикабу полезной информацией по тематике Умный дом. Обращаю Ваше внимание, что это будут не всегда полноценные и пошаговые инструкции и туториалы, а скорее выдержки типа "шпаргалок", на случай посмотреть, если что-то забыл. Ну как бы я буду писать здесь "шпаргалки" и "запоминалки" для себя и на будущее, а Вы можете ими пользоваться или нет, как в старые добрые институтские времена.... ))) Поэтому любой мой пост не претендует на правильность высказанного в нём моего мнения и истину моих умозаключений в конечной инстанции, я просто делюсь своим скромным опытом. Всё что Вы будете делать и повторять по моим постам, Вы делаете на свой страх и риск ;-)
Всё будем делать в командной строке.
Для этого, например, подключаемся через PuTTy по SSH к своей реальной или виртуальной машине.
Подготовим систему.
1) Для получения списка новых пактов, выполните:
# sudo apt-get update
2) Для выполнения обновления пакетов, выполните:
# sudo apt-get upgrade -y
3) Удаляем возможно оставшиеся зависимости пакетов:
# sudo apt autoremove -y
4) Устанавливаем необходимые нам пакеты и зависимости:
# sudo apt-get install -y python3-pip python-dev libffi-dev libssl-dev gcc libc-dev make curl openssl-dev rust cargo make
Docker - программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации (Контейнеры - это стандартизированная единица программного обеспечения, которая позволяет разработчикам изолировать свое приложение от его среды)
В Ubuntu 20.04 Docker (docker-ce) можно установить простым скриптом, введя в терминал всего одну команду, как мы это уже делали в этом посте:
# curl -fsSL get.docker.com | sudo sh
В Ubuntu/ Debian / Kali Linux в официальных репозиториях есть версия Docker - docker.io
Для её установки нужно будет ввести следующие команды:
# sudo apt install -y docker.io
# sudo systemctl enable docker --now
Если вы хотите добавить себя в группу Docker, чтобы использовать Docker без sudo:
# sudo usermod -aG docker $USER
Не имеет особого значения, какую версию Docker (docker-ce или docker.io) вы установите. Подробнее об этом у меня есть в середине этого поста.
Определить, какой установленный у вас пакет Docker:
# dpkg -l | grep -i docker
Команды для полного удаления Docker.
# sudo apt-get purge -y docker-engine docker docker.io docker-ce
# sudo apt-get autoremove -y --purge docker-engine docker docker.io docker-ce
Приведенные выше команды не будут удалять образы, контейнеры, тома или созданные пользователем файлы конфигурации на вашем хосте. Если вы хотите удалить все изображения, контейнеры и тома, выполните следующие команды:
# sudo rm -rf /var/lib/docker /etc/docker
# sudo rm /etc/apparmor.d/docker
# sudo groupdel docker
# sudo rm -rf /var/run/docker.sock
Вы полностью удалили Docker из системы.
Docker Compose - инструмент для создания и запуска многоконтейнерных Docker приложений. В Compose, вы используете специальный файл для конфигурирования ваших сервисов приложения. Затем, используется простая команда, для создания и запуска всех сервисов из конфигурационного файла.
Установим (скачаем) docker-compose и сделаем его исполняемым:
Чтобы установить другую версию Compose, замените 1.28.2 версией Compose, которую вы хотите использовать.
# sudo curl -L "https://github.com/docker/compose/releases/download/1.28.2/d... -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# sudo chmod +x /usr/local/bin/docker-compose
И проверим версию:
# docker-compose --version
Чтобы удалить Docker Compose (если вы установили с помощью curl):
# sudo rm /usr/local/bin/docker-compose
Portainer - это универсальный инструмент управления контейнерами Docker и позволяет разворачивать контейнеры и управлять ими без написания кода.
Развертывание сервера Portainer(Portainer CE):
# sudo docker volume create portainer_data
# sudo docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce
Эта команда настраивает автоматический запуск Portainer после перезагрузки, а также постоянное хранилище, чтобы ваши настройки не потерялись при удалении и повторном разворачивании контейнера. Чтобы убедится, что Portainer запущен выполните такую команду:
# sudo docker ps
Подробнее про Portainer - здесь.
Если вы ставили Ubuntu 20.04 на бесплатный VPS сервер от Oracle, то необходимо открыть порт 9000. Для этого открываем ссылку в письме, которая пришла после регистрации в Oracle, вводим логин и пароль и попадаем в свою учетку, где следуем по пути: Сети - Виртуальные облачные сети - vcn- (ВАШ) - Сведения о списках безопасности. Альтернативный способ попасть туда из главного окна: "Настроить сеть с помощью мастера", "Запуск мастера VNC" нужно нажать "отмена", кликаем на свой "VNC-номер", далее в "ресурсах" нажимаем на "Списки безопасности" и кликаем на "Default Security List for vcn-номер" где добавляем правила для входящего трафика:
На всякий случай можно ещё настроить (открыть порт) для файрволла IPTABLES (мне не потребовалось):
# sudo iptables --policy INPUT ACCEPT
# sudo iptables -F
# sudo iptables -A INPUT -p tcp --dport 9000 -m state --state NEW -j ACCEPT
# sudo netfilter-persistent save
# sudo ufw disable
Portainer будет доступен по адресу ipaddress:9000 (ip-address вашей виртуальной машины) в браузере, где должна открыться такая страничка. Вводим свои данные (регистрируемся).
Вот пример контейнеров Home Аssistant Supervised установленной ранее на Ubuntu 20.04 на бесплатном VPS сервере от Oracle по инструкции с этого поста.
Здесь их легко можно перезапустить, остановить или даже "Remove" / "Kill".... )))
На этом, по теме поста, у меня В С Ё ;-)
Всем "Бобра" ;-)