微服务容器化部署实践(FontConfiguration.getVersion)

news/2024/11/15 5:58:10/

文章目录

  • 前言
  • 一、整体步骤简介
  • 二、开始实战
    • 1.准备好微服务
    • 2.将各个微服务打包为镜像
      • 第一种
      • 第二种
    • 3. 将各个打包好的镜像,通过docker-compose容器编排,运行即可
  • 总结


前言

docker容器化部署微服务

微服务容器化部署到 Docker 容器中是一个常见的做法,可以提高应用的可移植性和可扩展性;因为镜像可以直接下载,并转移到其他服务,中间件等,用docker-compose容器化编排,也可以快速部署一套服务。


如何容器化部署微服务

一、整体步骤简介

  1. 准备好微服务
  2. 将各个微服务打包为镜像
  3. 将各个打包好的镜像,通过docker-compose容器编排,运行即可

二、开始实战

1.准备好微服务

准备好微服务,确保可以成功打为jar包,可以正常部署运行即可。

我这里准备好的微服务为maven构建的,执行

 mavn clean package

跳过test;每个微服务都可以打包出target文件夹,其中包括jar包;
target
记住这个Dockerfile 和 target 文件夹的位置关系

2.将各个微服务打包为镜像

一般采用两种方式:

第一种

一种是通过将每个服务的jar 和 每个服务的Dockerfile 上传到服务器,然后分别运行命令

docker build -t knowledge:v1 .

这里的 knowledge:v1 , knowledge:为镜像名称 ,v1:为镜像版本
注意最后有一个 .

可以参考 docker镜像方式运行springboot项目jar

第二种

通过在idea中配置好Dockerfile 以及 docker,然后打包镜像到服务器

  • 编写Dockerfile
dockerfile">FROM openjdk:8-jdk-alpine
RUN apk add --no-cache bash ttf-dejavu fontconfig
COPY target/knowledge.jar.jar knowledge.jar
EXPOSE 8888
ENV TZ=Asia/Shanghai JAVA_OPTS="-Xms128m -Xmx256m -Djava.security.egd=file:/dev/./urandom"
ENTRYPOINT ["java","-jar","knowledge.jar","$JAVA_OPTS"]

采用 openjdk:8-jdk-alpine 这个jdk版本
如果服务用到字体等,需要安装此插件
将打包的jar 发布到容器
容器对外暴漏的端口
设置启动环境参数
执行启动命令

ssh连接 身份验证信息 记得选择第二项 密钥对 , 不要选择用户名密码
<a class=docker连接">

  • 配置好后,可以在此视图看到连接的服务器
    <a class=docker">
  • 配置Dockefile运行参数
    配置
  • 详细配置展示,每个微服务的每个Dockerfile都配置一遍
    在这里插入图片描述

我这里有四个微服务,所以配置了四个

  • 一键打包所有服务为镜像并发布到服务器
    一键发布

dockercompose_75">3. 将各个打包好的镜像,通过docker-compose容器编排,运行即可

# version: '2.3'services:# 中间件mysql:image: mysql:5.7.37container_name: mysql5.7.37restart: alwaysenvironment:MYSQL_ROOT_PASSWORD: rootvolumes:- ./docker/mysql-data:/var/lib/mysql

http://www.ppmy.cn/news/1545820.html

相关文章

Elasticsearch的数据类型

Elasticsearch(简称 ES)支持多种数据类型,主要分为以下几类: 1. 基本数据类型 Text:用于全文搜索的文本字段。ES 会对其内容进行分词处理。Keyword:适用于精确匹配的字段,例如名称、标签等。ES 不会对其内容分词处理。Integer:整数类型,包括 byte、short、integer 和…

显存占用 显存测试

目录 显存测试 显存占用示例 一个模型多卡占用 显存测试 import torch# 计算张量的大小&#xff08;例如&#xff1a;每个 float 占用 4 字节&#xff09; # 40GB 40 * 1024 * 1024 * 1024 字节 # 每个 float 4 字节&#xff0c;因此需要的 float 数量为 (40 * 1024 * 1024…

github高分项目 WGCLOUD - 运维实时管理工具

GitHub - tianshiyeben/wgcloud: Linux运维监控工具&#xff0c;支持系统硬件信息&#xff0c;内存&#xff0c;CPU&#xff0c;温度&#xff0c;磁盘空间及IO&#xff0c;硬盘smart&#xff0c;GPU&#xff0c;防火墙&#xff0c;网络流量速率等监控&#xff0c;服务接口监测&…

《应用数学和力学》

作者须知 1.《应用数学和力学》(Applied Mathematics and Mechanics)于1980年由我国著名科学家钱伟长先生在重庆交通大学创办&#xff0c;创刊时为季刊&#xff0c;翌年增为双月刊&#xff0c;1985年起扩大为月刊。期刊主要刊登力学、力学中的数学方法和与现代力学紧密相关的应…

GIF图片格式详解(三)

gif历史部分介绍请参考上一篇《GIF图片格式详解&#xff08;一&#xff09;》&#xff0c; 格式部分详解参考 《GIF图片格式详解&#xff08;二&#xff09;》 或直接访问博客地址&#xff1a;https://blog.whatsroot.xyz/2023/12/16/all-about-gif/ 本篇介绍下用于处理gif图…

微服务相关问题

什么是雪崩 1、微服务相互调用&#xff0c;服务提供者出现故障或阻塞&#xff1b; 2、服务调用者没有做好异常处理&#xff0c;导致自身故障&#xff1b; 3、调用链中的所有服务级联失败&#xff0c;导致整个集群故障&#xff1b; 解决思路 1、尽量避免服务出现故障或阻塞&…

【计网不挂科】计算机网络期末考试(综合)——【选择题&填空题&判断题&简述题】完整题库

前言 大家好吖&#xff0c;欢迎来到 YY 滴计算机网络 系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C的老铁 本博客主要内容&#xff0c;收纳了一部门基本的计算机网络题目&#xff0c;供yy应对期中考试复习。大家可以参考 欢迎订阅 YY滴其他专栏&#xff01;…

mysql 快速解决死锁方式

mysql 快速解决死锁方式 直接寻找并终止导致死锁的具体 SQL 语句是处理死锁的一种有效方法&#xff0c;特别是在高并发环境中。以下步骤和示例展示了如何通过识别、分析和终止长时间运行的 SQL 语句来解决死锁问题。 一、识别那个导致死锁的 SQL 语句 1. 使用 SHOW ENGINE I…