Установка/настройка работы связки Docker_Engine+Portainer на ОС Linux Fedora 39 (Server Edition) -------------------------------------------------------------------------------------------------------------------------------------------------------------- Все описанные ниже действия выполнялись под пользователем root -------------------------------------------------------------------------------------------------------------------------------------------------------------- Всем привет! Для реализации данного проекта мне потребовалось: 1) Установить ОС Linux Fedora 39 (Server Edition) и обновить все пакеты; 2) Настроить статическую IP-адресацию; 3) Установить Docker + прочие пакеты; 4) Теория и основные команды Docker-@; 5) Установить Portainer. -------------------------------------------------------------------------------------------------------------------------------------------------------------- Предисловие: ------------ NMTUI - это инструмент командной строки, который используется для настройки сети в системах Gnu / Linux. При запуске он вызывает графический текстовый интерфейс, который помогает пользователям легко и эффективно настраивать сетевые интерфейсы. ------------ Docker — программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации, контейнеризатор приложений. ------------ Portainer — это простой и удобный веб-интерфейс для управления Docker-контейнерами. С помощью Portainer вы сможете в несколько кликов запустить на вашем сервере готовые контейнеры с популярным ПО и связать их между собой. ------------ Docker Compose — это инструментальное средство, входящее в состав Docker. Оно предназначено для решения задач, связанных с развёртыванием проектов. -------------------------------------------------------------------------------------------------------------------------------------------------------------- 1) Обновление системы. ------------ yum update -y && yum upgrade -y |#|#| Поиск и обновление пакетов системы -------------------------------------------------------------------------------------------------------------------------------------------------------------- 2) Настройка статической IP-адресации. ------------ yum install -y NetworkManager-tui |#|#| Установка пакета nmtui для настройки сети на АРМ/VM. ------------ Гайд по тому, как пользоваться инструментом nmtui, вы можете посмотреть в интернете. -------------------------------------------------------------------------------------------------------------------------------------------------------------- 3) Установка пакетов Docker + прочие пакеты. ------------ yum install -y yum-utils |#|#| Команда для установки пакета "yum-utils" ------------ yum remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine |#|#| Команда для удаление пакетов Docker(если он был установлен ранее) ------------ yum config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo |#|#| Команда для установки Docker-репозитория ------------ yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-compose |#|#| Команда для установки пакетов Docker ------------ systemctl enable docker |#|#| Команда для добавления службы "docker" в автозагрузку ------------ systemctl start docker |#|#| Команда для запуска службы "docker" -------------------------------------------------------------------------------------------------------------------------------------------------------------- 4) Теория и основные команды docker. ------------ Запуск контейнера из образа осуществляется командой "docker run" с указанием разнообразных ключей и нужного образа. ------------ Вот некоторые полезные ключи команды docker run: -t — предоставляет доступ к терминалу внутри контейнера; -i — делает возможным взаимодействие с терминалом внутри контейнера; -d — запускает контейнер в фоновом режиме. Это позволяет использовать терминал, из которого запущен контейнер, для выполнения других команд во время работы контейнера; --rm — автоматическое удаление контейнера после завершения его работы. ------------ docker version |#|#| Команда для проверки версии docker ------------ docker run -dit --restart always httpd |#|#| Команда запуска контейнера с политикой перезагрузки всегда, когда контейнер остановится. ------------ Также, кроме флага "always", есть ещё несколько, которые можно указать в аргументе с "--restart": no - Это значение по умолчанию, это означает, что контейнеры не будут перезапущены; on-failure - Это перезапустит контейнет в случае возникновения ошибки и сбоя контейнера; always - Всегда перезапускайте контейнер, если он останавливается; unless-stopped - Контейнер всегда будет перезапускаться, если он не был остановлен вручную. ------------ docker run hello-world |#|#| Запуск контейнера "hello-world" ------------ docker ps -a |#|#| Очень подробная информация об установленных/настроенных контейнерах ------------ docker image ls |#|#| Команда для просмотра установленных контейнеров ------------ docker info |#|#| Общая информация о docker-e ------------ docker start "имя/id контейнера" |#|#| Команда запуска контейнера ------------ docker stop "имя/id контейнера" |#|#| Команда для отсановки контейнера ------------ docker restart "имя/id контейнера" |#|#| Команда для перезапуска контейнера ------------ docker rm "имя/id контейнера" |#|#| Команда для удаления контейнера ------------ docker update --restart on-failure "имя/id контейнера" |#|#| Для контейнера "Portainer", настоятельно рекомендую прописать данную конмаду, т.к. после перезагрузки VM, Portainer может не запуститься, так как при запуске может выдавать ошибки. -------------------------------------------------------------------------------------------------------------------------------------------------------------- 5) Установка/настройка Portainer ------------ docker volume create portainer_data |#|#| Команда для создания тома для "Portainer" ------------ docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer |#|#| Команда для создания контейнера и загрузки из репозитория образа "Portainer". ------------ ПОВТОРЮСЬ: docker update --restart on-failure "имя/id контейнера" |#|#| Для контейнера "Portainer", настоятельно рекомендую прописать данную конмаду, т.к. после перезагрузки VM, Portainer может не запуститься, так как при запуске может выдавать ошибки. ------------ ip a |#|#| Команда для просмотра ip-адресов на сетевых интерфейсах ------------ После того, как вы узнали свой IP-address, то теперь вы можете открыть веб-браузер и посетить следующий сайт: http://IP-address:9000 Далее создаём пользователя, логинимся, выбираем локальную среду управления и наслаждаемся функционалом Portainer. -------------------------------------------------------------------------------------------------------------------------------------------------------------- На этом инструкция закончена! Спасибо за внимание!)