一、迁移其他springboot服务¶
1.6.1 环境信息¶
代码地址:https://gitee.com/dukuan/demo-handler.git
构建命令:mvn clean package
Java 版本:jdk 1.8
构建镜像:registry.cn-hangzhou.aliyuncs.com/abroad_images/maven:3.5.3
1.6.2 构建及容器化¶
1、在node01主机(10.0.0.21)下载源码
# 宿主机上创建项目目录
[root@node01 ~]# mkdir springcloud
# 下载源码
[root@k8s-node01 ~]# cd springcloud/
[root@k8s-node01 springcloud]# git clone https://gitee.com/dukuan/demo-handler.git
# 宿主机上创建缓存目录(如果上面做过此步骤可忽略)
[root@k8s-node01 springcloud]# mkdir -p /data/m2
2、在node01主机(10.0.0.21)启动临时容器,进行构建
# 启动临时容器
[root@node01 ~]# cd /root/springcloud
[root@k8s-node01 springcloud]#
docker run -it --rm \
-v /data/m2:/root/.m2 \
-v "$(pwd)/demo-handler:/mnt" \
registry.cn-hangzhou.aliyuncs.com/abroad_images/maven:3.5.3 \
bash -c "cd /mnt && mvn clean package"
# 出现BUILD SUCCESS字样,代表成功
[INFO] Replacing main artifact with repackaged archive
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.880 s
[INFO] Finished at: 2025-03-23T02:10:16Z
[INFO] ------------------------------------------------------------------------
# 检查宿主机目录
[root@k8s-node01 springcloud]# ll /root/springcloud/demo-handler/target/
总用量 38112
drwxr-xr-x 3 root root 101 3月 23 10:10 classes
drwxr-xr-x 3 root root 25 3月 23 10:10 generated-sources
-rw-r--r-- 1 root root 39016738 3月 23 10:10 handler-0.0.1-SNAPSHOT.jar
-rw-r--r-- 1 root root 4525 3月 23 10:10 handler-0.0.1-SNAPSHOT.jar.original
drwxr-xr-x 2 root root 28 3月 23 10:10 maven-archiver
drwxr-xr-x 3 root root 35 3月 23 10:10 maven-status
3、在node01主机(10.0.0.21)编写Dockfile文件
# 宿主机上同样查看,观察到已生成target目录
[root@k8s-node01 ~]# cd /root/springcloud/demo-handler/
[root@k8s-node01 demo-handler]# ll
总用量 4
-rw-r--r-- 1 root root 2170 3月 23 10:08 pom.xml
drwxr-xr-x 3 root root 18 3月 23 10:08 src
drwxr-xr-x 6 root root 165 3月 23 10:10 target
# 宿主机上查看target目录
[root@k8s-node01 demo-handler]# ll target/handler-0.0.1-SNAPSHOT.jar
-rw-r--r-- 1 root root 39016738 3月 23 10:10 target/handler-0.0.1-SNAPSHOT.jar
# 编写Dockfile文件
[root@k8s-node01 ~]# cd /root/springcloud/demo-handler/
[root@k8s-node01 demo-handler]# vim Dockerfile
# 基础镜像可以按需修改,可以更改为公司自有镜像
FROM registry.cn-hangzhou.aliyuncs.com/abroad_images/jdk:8u211-jmap
# 定义容器家目录
WORKDIR /home/tomcat
# 复制jar包
COPY target/*.jar ./
# 启动Jar包
CMD ["sh", "-c", "java -jar *.jar"]
5、在node01主机(10.0.0.21)构建镜像
[root@k8s-node01 demo-handler]# docker build -t registry.cn-hangzhou.aliyuncs.com/abroad_images/demo-handler:v0.0.1 .
# 上传镜像到阿里云仓库
[root@k8s-node01 demo-handler]# docker push registry.cn-hangzhou.aliyuncs.com/abroad_images/demo-handler:v0.0.1