SpringBoot与Kubernetes云原生微服务实践-服务容器化和Dockercompose部署-《Java笔记》

admin 2025-10-19 06:06:08 编程 来源:ZONE.CI 全球网 0 阅读模式

微服务容器化 Docker

Staffjoy本地部署架构

服务容器化和Docker compose部署 - 图1

相关软件

Skywalking

https://github.com/apache/skywalking

本地部署启动

部署步骤

1. 清理释放内存

活动监控器关闭Docker

2. 部署MySQL数据库

staffjoy_accountstaffjoy_company

创建数据库
  1. create database staffjoy_account;
  2. create database staffjoy_company;

image.png

创建表-对应的SQL脚本文件

image.pngimage.pngimage.png

检查表是否创建完成

image.png

3. 部署Skywalking

https://archive.apache.org/dist/incubator/skywalking/apache-skywalking-apm-incubating-6.0.0-beta.zipimage.pngimage.pngimage.png

  1. bin/startup.sh

image.png

访问Skywalking Web界面

默认的用户名和密码都是:adminimage.pngimage.png

IDE设置Skywalking-agent

image.png

4. 部署服务

本地机密数据配置

依次启动项目

mail->bot->account->company->www->whoami->faradayimage.png

查看Skywalking监控到的服务

image.pngimage.png

5. 部署前端应用

  1. npm install
  2. npm start

6. 启动SwitchHosts

  1. 127.0.0.1 account.staffjoy-v2.local
  2. 127.0.0.1 faraday.staffjoy-v2.local
  3. 127.0.0.1 myaccount.staffjoy-v2.local
  4. 127.0.0.1 whoomi.staffjoy-v2.local
  5. 127.0.0.1 www.staffjoy-v2.local
  6. 127.0.0.1 ical.staffjoy-v2.local
  7. 127.0.0.1 staffjoy-v2.local
  8. 127.0.0.1 app.staffjoy-v2.local
  9. 127.0.0.1 company.staffjoy-v2.local

Docker和Docker Compose

容器用途

  1. 标准化打包
  2. 隔离
  3. 标准化部署

    OS & Kernel

    服务容器化和Docker compose部署 - 图17操作系统内核主要负责管理底层操作系统系统硬件,用户空间调用内核空间的内容。

    虚拟机和容器

    服务容器化和Docker compose部署 - 图18虚拟机主要在宿主机上通过Hypervisor创建虚拟化的硬件,可以虚拟出CPU、磁盘、网卡等等。在Hypervisor上面运行操作系统。容器是构建在宿主机之上。虚拟机的隔离性比较好,是一种强隔离机制,但他比较重量,启动的时候慢,消耗资源很多。容器的隔离是基于软件的,比较轻量,启动速度比较快,一般是秒级的,消耗的资源也比较少。在同一个主机上启动容器的数量要远远多于虚拟机的启动数量。

    Docker容器核心技术

    服务容器化和Docker compose部署 - 图19CGroups:控制CPU和内存资源的使用量。负责资源的隔离Namespaces:控制每个容器都有相互隔离的进程,文件系统,网络等空间。Networking:实现容器网络底层技术,包括虚拟网卡,虚拟网桥,容器网络组网等等。Storage(存储):Docker容器支持一些存储驱动。

    容器镜像

    服务容器化和Docker compose部署 - 图20

    Docker架构

    https://docs.docker.com/get-started/overview/image.png

    Docker Compose

    Docker Compose主要用于定义和运行多容器应用的工具。服务容器化和Docker compose部署 - 图22

    将微服务部署至Docker Compose环境

    1、镜像构建

    1. mvn clean package -DskipTests
    image.png
    1. docker-compose build
    image.png
    1. docker images
    image.png

    2、部署MySQL数据库

    image.png

    3、部署Staffjoy

    1. docker-compose up
    2. docker-compose ps

    4、启用SwitchHosts

    1. 127.0.0.1 account.staffjoy-v2.local
    2. 127.0.0.1 faraday.staffjoy-v2.local
    3. 127.0.0.1 myaccount.staffjoy-v2.local
    4. 127.0.0.1 whoomi.staffjoy-v2.local
    5. 127.0.0.1 www.staffjoy-v2.local
    6. 127.0.0.1 ical.staffjoy-v2.local
    7. 127.0.0.1 staffjoy-v2.local
    8. 127.0.0.1 app.staffjoy-v2.local
    9. 127.0.0.1 company.staffjoy-v2.local

    5、校验Staffjoy

    6、清理

    1. docker-compose down
以太坊cppgolang区别 编程

以太坊cppgolang区别

以太坊是一种去中心化的开源平台,它采用智能合约技术,旨在构建和运行不受干扰的分布式应用程序。作为目前最受欢迎的区块链平台之一,以太坊提供了多种编程语言的支持,其
progolang 编程

progolang

Go语言(Golang)是由Google开发的一门静态类型编程语言。作为一名专业的Golang开发者,我深知这门语言的优势和特点。在本文中,我将介绍Golang
golangn个发送者 编程

golangn个发送者

Golang是一种开源的编程语言,由Google团队开发,旨在提高程序的并发性和简化软件开发过程。在Go语言中,有时需要向多个接收者发送信息。本文将介绍如何在G
golang技能图谱 编程

golang技能图谱

从互联网行业的快速发展到人工智能技术的日益成熟,各种编程语言也应运而生。而在这众多的编程语言中,Golang(即Go)作为一门强大且高效的开发语言备受关注。Go
评论:0   参与:  0