-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
ea61fc9
commit a36d0cc
Showing
1 changed file
with
102 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. | ||
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ||
На этом инструкция закончена! Спасибо за внимание!) |