欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > 微服务容器化部署实践(FontConfiguration.getVersion)

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

2025/2/8 1:47:30 来源:https://blog.csdn.net/qq_32419139/article/details/143614316  浏览:    关键词:微服务容器化部署实践(FontConfiguration.getVersion)

文章目录

  • 前言
  • 一、整体步骤简介
  • 二、开始实战
    • 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
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 发布到容器中
该容器对外暴漏的端口
设置启动环境参数
执行启动命令

  • idea 安装docker 插件,连接docker

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

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

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

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

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

  • 编写docker-compose.yml
# 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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com