在centos7.9上用docker构建镜像部署微服务项目

177 阅读2分钟

1、新建文件夹(可自定义工作目录)

mkdir -p /work/projects/yudao-server/

2、首次部署将准备好的jar、dockerFile、sh文件copy过去

我这里用的是xftp传输

image.png

3、进行jar包部署(基于docker镜像)

1)首次部署jar我是直传的,后续用jenkins将打的jar包通过ssh传递到/work/projects/yudao-server/目录下

jenkins相关略,可以自行搜索文档查看

2)通过dockerFile将jar包打成对应的镜像

这里只演示一个jar,其他同理

## 多数据源连接百联库的时候yudao默认镜像(eclipse-temurin:8-jre)版本过高,连接失败,所以换了一个镜像 rsnair2/jdk1.8.0_25
FROM rsnair2/jdk1.8.0_25 

## 创建目录,并使用它作为工作目录
RUN mkdir -p /yudao-server
WORKDIR /yudao-server

## 将后端项目的 Jar 文件,复制到镜像中
COPY yudao-module-productplan-biz.jar yudao-module-productplan-biz.jar

## 设置 TZ 时区
## 设置 JAVA_OPTS 环境变量,可通过 docker run -e "JAVA_OPTS=" 进行覆盖
ENV TZ=Asia/Shanghai JAVA_OPTS="-Xms512m -Xmx512m"

## 暴露后端项目的 48099 端口
## 9999端口xxl-job调用
EXPOSE 48099
EXPOSE 9999

## 启动后端项目,我这里直接指定prod
ENTRYPOINT java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -Dspring.profiles.active=prod -jar yudao-module-productplan-biz.jar

4、执行sh文件,含义可直接看注释

#!/bin/bash
set -e

## 第一步:删除可能启动的老容器
echo "开始删除 productplan 容器"
docker stop productplan || true
docker rm productplan || true
echo "完成删除容器"

## 前置步骤:构建新的镜像
echo "构建新的镜像 productplan "
docker rmi productplan || true
docker build -f df-productplan -t productplan .
echo "完成构建镜像"

## 第二步:启动新的容器
echo "开始启动 productplan 容器"
docker run -d \
--name productplan \
-p 48099:48099 \
-p 9999:9999 \
-e "SPRING_PROFILES_ACTIVE=local" \
-v /work/projects/yudao-server/logs/productplan:/root/logs/ \
productplan
echo "正在启动容器中,需要等待 60 秒左右"

以上是关于centos7.9微服务部署的步骤和脚本。你可以根据这些命令和配置文件进行微服务部署。