Разверните всю микросервисную архитектуру на основе SpringCloud в контейнере Docker, просто прочитайте это!

Java
Разверните всю микросервисную архитектуру на основе SpringCloud в контейнере Docker, просто прочитайте это!

Резюме

Эта статья начинается сmall-swarmВзяв проект в качестве примера, он в основном знакомит с тем, как развернуть проект электронной коммерции с микросервисной архитектурой в контейнере Docker, что включает в себя развертывание большого количества системных компонентов и развертывание нескольких микросервисных приложений Spring Cloud на основе ЦенОС 7.6.

Строительство окружающей среды

Базовое развертывание среды

mall-swarmКомпоненты системы, необходимые для работы, следующие, о способе установки этих компонентов в Docker-контейнер можно напрямую прочитать в этой статье:Развертывание торгового центра в среде Linux (на основе контейнера Docker).

компоненты номер версии
JDK 1.8
Mysql 5.7
Redis 3.2
Elasticsearch 6.4.0
MongoDb 3.2
RabbitMq 3.7.15
Nginx 1.10

Загрузка зеркального пакета

Всего в образы Docker необходимо упаковать 8 сервисов приложений.Создайте образ Docker с помощью плагина Maven.. Следует отметить, что если вы не можете найти его в процессе упаковкиmall-common,mall-mbgилиmall-securityКорпус, эти модули должны нажать порядок для установки локального репозитория Maven, затем упакованы.

применение номер версии
mall-registry 1.8
mall-config 5.7
mall-monitor 3.2
mall-gateway 6.4.0
mall-admin 3.2
mall-portal 3.7.15
mall-search 1.10
mall-demo 1.10

После того, как образ упакован и загружен, схематическая диаграмма полного образа хранилища докеров:

Развертывание приложения

Развернуть торговый центр

  • Запустите реестр с помощью следующей командыmall-registry:
docker run -p 8001:8001 --name mall-registry \
-v /etc/localtime:/etc/localtime \
-v /mydata/app/mall-registry/logs:/var/logs \
-d mall/mall-registry:1.0-SNAPSHOT
  • После успешного запуска вы можете просмотреть консоль реестра, посетив этот адрес:http://192.168.6.132:8001/

развернуть молл-конфиг

  • Запустите центр конфигурации с помощью следующей командыmall-config:
docker run -p 8301:8301 --name mall-config \
--link mall-registry:mall-registry \
-v /etc/localtime:/etc/localtime \
-v /mydata/app/mall-config/logs:/var/logs \
-d mall/mall-config:1.0-SNAPSHOT
  • После успешной операции вы можете просмотреть ее, посетив этот адресmall-adminИнформация о конфигурации в среде prod:http://192.168.6.132:8301/master/admin-prod.yml

  • необходимость注意То, что получается из центра конфигурации в среде prod, — это конфигурация, хранящаяся в репозитории git.Если вам нужно ее изменить, вам нужно изменить конфигурацию репозитория git в файле конфигурации application.yml модуля mall-config на свой своя.

spring:
  cloud:
    config:
      server:
        git: #Git仓库存储
          uri: https://gitee.com/macrozheng/mall-config.git #改为你自己的配置
          username: macro
          password: 123456
          clone-on-start: true
          search-paths: '{application}'

Развернуть торговый центр

  • Запустите центр мониторинга следующей командойmall-monitor:
docker run -p 8101:8101 --name mall-monitor \
--link mall-registry:mall-registry \
-v /etc/localtime:/etc/localtime \
-v /mydata/app/mall-monitor/logs:/var/logs \
-d mall/mall-monitor:1.0-SNAPSHOT
  • После завершения операции вы можете просмотреть информацию центра мониторинга по этому адресу.Пароль учетной записиmacro:123456:http://192.168.6.132:8101

Развернуть торговый центр

  • Запустите службу шлюза с помощью следующей командыmall-gateway:
docker run -p 8201:8201 --name mall-gateway \
--link mall-registry:mall-registry \
-v /etc/localtime:/etc/localtime \
-v /mydata/app/mall-gateway/logs:/var/logs \
-d mall/mall-gateway:1.0-SNAPSHOT

Развернуть торговый центр-администратор

  • Запустите фоновую службу с помощью следующей командыmall-admin:
docker run -p 8180:8180 --name mall-admin \
--link mysql:db \
--link mall-registry:mall-registry \
-v /etc/localtime:/etc/localtime \
-v /mydata/app/mall-admin/logs:/var/logs \
-d mall/mall-admin:1.0-SNAPSHOT

Развернуть торговый портал

  • Запустите службу переднего плана с помощью следующей командыmall-portal:
docker run -p 8085:8085 --name mall-portal \
--link mysql:db \
--link redis:redis \
--link mongo:mongo \
--link rabbitmq:rabbit \
--link mall-registry:mall-registry \
-v /etc/localtime:/etc/localtime \
-v /mydata/app/mall-portal/logs:/var/logs \
-d mall/mall-portal:1.0-SNAPSHOT

Развернуть торговый центр

  • Запустите службу поиска с помощью следующей командыmall-search:
docker run -p 8081:8081 --name mall-search \
--link mysql:db \
--link elasticsearch:es \
--link mall-registry:mall-registry \
-v /etc/localtime:/etc/localtime \
-v /mydata/app/mall-search/logs:/var/logs \
-d mall/mall-search:1.0-SNAPSHOT

Развернуть торговую демонстрацию

  • Запустите тестовую службу с помощью следующей командыmall-demo:
docker run -p 8082:8082 --name mall-demo \
--link mysql:db \
--link mall-registry:mall-registry \
-v /etc/localtime:/etc/localtime \
-v /mydata/app/mall-demo/logs:/var/logs \
-d mall/mall-demo:1.0-SNAPSHOT

Отображение эффекта завершения работы

  • Информация о консоли реестра:

  • Информация о приложении центра мониторинга:

Инструмент визуального управления

Portainer — это легкое приложение, предоставляющее графический интерфейс для удобного управления средами Docker, включая автономные среды и кластерные среды.Ниже мы будем использовать Portainer для управления приложениями в контейнерах Docker.

docker pull portainer/portainer
  • Запустите Portainer с док-контейнером:
docker run -p 9000:9000 -p 8000:8000 --name portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /mydata/portainer/data:/data \
-d portainer/portainer
  • Ознакомьтесь с информацией о приборной панели Portainer:

  • Посмотреть информацию обо всех запущенных контейнерах:

  • Посмотреть все загруженные образы Docker:

  • Проверятьmall-portalПрименена статистика:

  • Проверятьmall-portalИнформация журнала, печатаемая во время работы приложения:

  • Входитьmall-portalВнутри контейнера приложения для работы внутренней системы контейнера:

адрес проекта

GitHub.com/macro-positive/…

публика

проект торгового центраПолный набор учебных пособий сериализуется,Обратите внимание на общедоступный номерПолучите это прямо сейчас.

公众号图片