Установка/настройка работы связки Docker Engine + Portainer на ОС Linux CentOS 7 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Все описанные ниже действия выполнялись под пользователем root -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Всем привет! Для реализации данного проекта мне потребовалось: 1) Установить ОС Linux CentOS 7 и обновить все пакеты; 2) Прописать статическую IP-адресацию; 3) Установить Docker; 4) Теория и основные команды Docker; 5) Установить Portainer. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Предисловие: ------------ NMTUI - это инструмент командной строки, который используется для настройки сети в системах Gnu / Linux. При запуске он вызывает графический текстовый интерфейс, который помогает пользователям легко и эффективно настраивать сетевые интерфейсы. ------------ Docker — программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации, контейнеризатор приложений. ------------ Portainer — это простой и удобный веб-интерфейс для управления Docker-контейнерами. С помощью Portainer вы сможете в несколько кликов запустить на вашем сервере готовые контейнеры с популярным ПО и связать их между собой. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 1) Перед началом выполнения каких-либо манипуляций по настройке связки Docker + Portainer, нужно выполнить подготовку ОС Linux CentOS 7. Для начала обновим пакеты системы. ------------ yum update -y && yum upgrade -y |#|#| Поиск и обновление пакетов системы -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 2) Также для избежания потери связи с АРМ/VM, нужно позаботиться о статической IP-адресации. Её можно настроить как на самой АРМ/VM, так и на самом сетевом устройстве. Статическую адресацию можно прописать с помощью инструмента командной строки nmtui. ------------ yum install -y NetworkManager-tui |#|#| Установка пакета nmtui для настройки сети на АРМ/VM ------------ Гайд по тому, как пользоваться инструментом nmtui, вы можете посмотреть в интернете. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 3) Для дальнейшей работы, нам понадобится пакет "yum-utils" ------------ yum install -y yum-utils |#|#| Команда для установки пакета "yum-utils" ------------ yum-config-manager --enable extras |#|#| Команда для включения репозитория "extras" с дополнениями ------------ yum repolist |#|#| Команда для просмотра включенных репозиториев(должен появится extras) ------------ yum install -y device-mapper-persistent-data lvm2 |#|#| Команда установки дополнительных пакетов ------------ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo |#|#| Команда для добавления репозитория Docker ------------ yum install -y docker-ce |#|#| Команда для установки пакета "docker-ce" ------------ systemctl start docker |#|#| Команда запуска Docker ------------ systemctl enable docker |#|#| Команда добавления службы "docker" в автозагрузку ------------ usermod -aG docker root |#|#| Команда для создания пользователя "root" в группу "docker". Вместо пользователя "root", вы можете выбрать любого другого ------------ После все проведенных манипуляции, нужно отправить VM в перезагрузку ------------ reboot |#|#| Команда перезагрузки VM ------------ После включения VM, проверьте работоспособность Docker ------------ systemctl status docker |#|#| Команда проверки состояния службы "docker.service" -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 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 ------------ 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. -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- На этом инструкция закончена! Спасибо за внимание!)