Skip to content

Commit

Permalink
Create Docker+Portainer
Browse files Browse the repository at this point in the history
  • Loading branch information
dimoroz772 authored Feb 16, 2024
1 parent ea61fc9 commit a36d0cc
Showing 1 changed file with 102 additions and 0 deletions.
102 changes: 102 additions & 0 deletions Docker+Portainer
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
Установка/настройка работы связки 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.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
На этом инструкция закончена! Спасибо за внимание!)

0 comments on commit a36d0cc

Please sign in to comment.